summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/indirector/catalog/active_record.rb6
-rw-r--r--lib/puppet/indirector/catalog/queue.rb4
-rw-r--r--lib/puppet/parser/resource.rb2
-rw-r--r--lib/puppet/parser/resource/param.rb4
-rw-r--r--lib/puppet/parser/resource/reference.rb6
-rw-r--r--lib/puppet/parser/yaml_trimmer.rb11
-rwxr-xr-xspec/unit/indirector/catalog/active_record.rb15
-rwxr-xr-xspec/unit/indirector/catalog/queue.rb8
-rwxr-xr-xspec/unit/indirector/facts/active_record.rb1
9 files changed, 40 insertions, 17 deletions
diff --git a/lib/puppet/indirector/catalog/active_record.rb b/lib/puppet/indirector/catalog/active_record.rb
index a76606535..ad2dc742b 100644
--- a/lib/puppet/indirector/catalog/active_record.rb
+++ b/lib/puppet/indirector/catalog/active_record.rb
@@ -1,8 +1,8 @@
require 'puppet/rails/host'
require 'puppet/indirector/active_record'
-require 'puppet/node/catalog'
+require 'puppet/resource/catalog'
-class Puppet::Node::Catalog::ActiveRecord < Puppet::Indirector::ActiveRecord
+class Puppet::Resource::Catalog::ActiveRecord < Puppet::Indirector::ActiveRecord
use_ar_model Puppet::Rails::Host
# If we can find the host, then return a catalog with the host's resources
@@ -11,7 +11,7 @@ class Puppet::Node::Catalog::ActiveRecord < Puppet::Indirector::ActiveRecord
return nil unless request.options[:cache_integration_hack]
return nil unless host = ar_model.find_by_name(request.key)
- catalog = Puppet::Node::Catalog.new(host.name)
+ catalog = Puppet::Resource::Catalog.new(host.name)
host.resources.each do |resource|
catalog.add_resource resource.to_transportable
diff --git a/lib/puppet/indirector/catalog/queue.rb b/lib/puppet/indirector/catalog/queue.rb
index 85d2f8df5..581382e9e 100644
--- a/lib/puppet/indirector/catalog/queue.rb
+++ b/lib/puppet/indirector/catalog/queue.rb
@@ -1,5 +1,5 @@
-require 'puppet/node/catalog'
+require 'puppet/resource/catalog'
require 'puppet/indirector/queue'
-class Puppet::Node::Catalog::Queue < Puppet::Indirector::Queue
+class Puppet::Resource::Catalog::Queue < Puppet::Indirector::Queue
end
diff --git a/lib/puppet/parser/resource.rb b/lib/puppet/parser/resource.rb
index 23df1c624..8d5e5a359 100644
--- a/lib/puppet/parser/resource.rb
+++ b/lib/puppet/parser/resource.rb
@@ -5,6 +5,7 @@ class Puppet::Parser::Resource
require 'puppet/parser/resource/reference'
require 'puppet/util/tagging'
require 'puppet/file_collection/lookup'
+ require 'puppet/parser/yaml_trimmer'
include Puppet::FileCollection::Lookup
@@ -13,6 +14,7 @@ class Puppet::Parser::Resource
include Puppet::Util::Errors
include Puppet::Util::Logging
include Puppet::Util::Tagging
+ include Puppet::Parser::YamlTrimmer
attr_accessor :source, :scope, :rails_id
attr_accessor :virtual, :override, :translated
diff --git a/lib/puppet/parser/resource/param.rb b/lib/puppet/parser/resource/param.rb
index 6e22d3e17..0f791ecc5 100644
--- a/lib/puppet/parser/resource/param.rb
+++ b/lib/puppet/parser/resource/param.rb
@@ -1,4 +1,5 @@
require 'puppet/file_collection/lookup'
+require 'puppet/parser/yaml_trimmer'
# The parameters we stick in Resources.
class Puppet::Parser::Resource::Param
@@ -8,6 +9,7 @@ class Puppet::Parser::Resource::Param
include Puppet::Util::MethodHelper
include Puppet::FileCollection::Lookup
+ include Puppet::Parser::YamlTrimmer
def initialize(hash)
set_options(hash)
@@ -16,7 +18,7 @@ class Puppet::Parser::Resource::Param
end
def inspect
- "#<#{self.class} @name => #{name}, @value => #{value}, @source => #{source.name}, @line => #{line}>"
+ "#<#{self.class} @name => #{name}, @value => #{value}, @source => #{source.name if source}, @line => #{line}>"
end
def line_to_i
diff --git a/lib/puppet/parser/resource/reference.rb b/lib/puppet/parser/resource/reference.rb
index 0c28cf0df..cacd0707e 100644
--- a/lib/puppet/parser/resource/reference.rb
+++ b/lib/puppet/parser/resource/reference.rb
@@ -1,9 +1,11 @@
# A reference to a resource. Mostly just the type and title.
require 'puppet/resource/reference'
require 'puppet/file_collection/lookup'
+require 'puppet/parser/yaml_trimmer'
# A reference to a resource. Mostly just the type and title.
class Puppet::Parser::Resource::Reference < Puppet::Resource::Reference
+ include Puppet::Parser::YamlTrimmer
include Puppet::FileCollection::Lookup
include Puppet::Util::MethodHelper
include Puppet::Util::Errors
@@ -69,6 +71,10 @@ class Puppet::Parser::Resource::Reference < Puppet::Resource::Reference
requiredopts(:type, :title)
end
+ def skip_for_yaml
+ %w{@typeclass @definedtype}
+ end
+
def to_ref
# We have to return different cases to provide backward compatibility
# from 0.24.x to 0.23.x.
diff --git a/lib/puppet/parser/yaml_trimmer.rb b/lib/puppet/parser/yaml_trimmer.rb
new file mode 100644
index 000000000..14064c8e6
--- /dev/null
+++ b/lib/puppet/parser/yaml_trimmer.rb
@@ -0,0 +1,11 @@
+module Puppet::Parser::YamlTrimmer
+ REMOVE = %w{@scope @source}
+
+ def to_yaml_properties
+ r = instance_variables - REMOVE
+ if respond_to?(:skip_for_yaml)
+ r -= skip_for_yaml()
+ end
+ r
+ end
+end
diff --git a/spec/unit/indirector/catalog/active_record.rb b/spec/unit/indirector/catalog/active_record.rb
index 948b811d3..cf7484110 100755
--- a/spec/unit/indirector/catalog/active_record.rb
+++ b/spec/unit/indirector/catalog/active_record.rb
@@ -4,20 +4,21 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
require 'puppet/indirector/catalog/active_record'
-describe Puppet::Node::Catalog::ActiveRecord do
+describe Puppet::Resource::Catalog::ActiveRecord do
confine "Missing Rails" => Puppet.features.rails?
before do
Puppet.features.stubs(:rails?).returns true
- @terminus = Puppet::Node::Catalog::ActiveRecord.new
+ Puppet::Rails.stubs(:init)
+ @terminus = Puppet::Resource::Catalog::ActiveRecord.new
end
it "should be a subclass of the ActiveRecord terminus class" do
- Puppet::Node::Catalog::ActiveRecord.ancestors.should be_include(Puppet::Indirector::ActiveRecord)
+ Puppet::Resource::Catalog::ActiveRecord.ancestors.should be_include(Puppet::Indirector::ActiveRecord)
end
it "should use Puppet::Rails::Host as its ActiveRecord model" do
- Puppet::Node::Catalog::ActiveRecord.ar_model.should equal(Puppet::Rails::Host)
+ Puppet::Resource::Catalog::ActiveRecord.ar_model.should equal(Puppet::Rails::Host)
end
describe "when finding an instance" do
@@ -50,7 +51,7 @@ describe Puppet::Node::Catalog::ActiveRecord do
Puppet::Rails::Host.expects(:find_by_name).returns host
result = @terminus.find(@request)
- result.should be_instance_of(Puppet::Node::Catalog)
+ result.should be_instance_of(Puppet::Resource::Catalog)
result.name.should == "foo"
end
@@ -64,7 +65,7 @@ describe Puppet::Node::Catalog::ActiveRecord do
host.expects(:resources).returns [res1, res2]
catalog = stub 'catalog'
- Puppet::Node::Catalog.expects(:new).returns catalog
+ Puppet::Resource::Catalog.expects(:new).returns catalog
catalog.expects(:add_resource).with "trans_res1"
catalog.expects(:add_resource).with "trans_res2"
@@ -77,7 +78,7 @@ describe Puppet::Node::Catalog::ActiveRecord do
before do
@host = stub 'host', :name => "foo", :save => nil, :merge_resources => nil, :last_compile= => nil
Puppet::Rails::Host.stubs(:find_by_name).returns @host
- @catalog = Puppet::Node::Catalog.new("foo")
+ @catalog = Puppet::Resource::Catalog.new("foo")
@request = stub 'request', :key => "foo", :instance => @catalog
end
diff --git a/spec/unit/indirector/catalog/queue.rb b/spec/unit/indirector/catalog/queue.rb
index e47af3126..66a30c0d6 100755
--- a/spec/unit/indirector/catalog/queue.rb
+++ b/spec/unit/indirector/catalog/queue.rb
@@ -4,17 +4,17 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
require 'puppet/indirector/catalog/queue'
-describe Puppet::Node::Catalog::Queue do
+describe Puppet::Resource::Catalog::Queue do
it 'should be a subclass of the Queue terminus' do
- Puppet::Node::Catalog::Queue.superclass.should equal(Puppet::Indirector::Queue)
+ Puppet::Resource::Catalog::Queue.superclass.should equal(Puppet::Indirector::Queue)
end
it 'should be registered with the catalog store indirection' do
indirection = Puppet::Indirector::Indirection.instance(:catalog)
- Puppet::Node::Catalog::Queue.indirection.should equal(indirection)
+ Puppet::Resource::Catalog::Queue.indirection.should equal(indirection)
end
it 'shall be dubbed ":queue"' do
- Puppet::Node::Catalog::Queue.name.should == :queue
+ Puppet::Resource::Catalog::Queue.name.should == :queue
end
end
diff --git a/spec/unit/indirector/facts/active_record.rb b/spec/unit/indirector/facts/active_record.rb
index fc35f1a45..37a8f9d6b 100755
--- a/spec/unit/indirector/facts/active_record.rb
+++ b/spec/unit/indirector/facts/active_record.rb
@@ -10,6 +10,7 @@ describe Puppet::Node::Facts::ActiveRecord do
before do
Puppet.features.stubs(:rails?).returns true
+ Puppet::Rails.stubs(:init)
@terminus = Puppet::Node::Facts::ActiveRecord.new
end