diff options
-rw-r--r-- | lib/puppet/indirector/catalog/active_record.rb | 6 | ||||
-rw-r--r-- | lib/puppet/indirector/catalog/queue.rb | 4 | ||||
-rw-r--r-- | lib/puppet/parser/resource.rb | 2 | ||||
-rw-r--r-- | lib/puppet/parser/resource/param.rb | 4 | ||||
-rw-r--r-- | lib/puppet/parser/resource/reference.rb | 6 | ||||
-rw-r--r-- | lib/puppet/parser/yaml_trimmer.rb | 11 | ||||
-rwxr-xr-x | spec/unit/indirector/catalog/active_record.rb | 15 | ||||
-rwxr-xr-x | spec/unit/indirector/catalog/queue.rb | 8 | ||||
-rwxr-xr-x | spec/unit/indirector/facts/active_record.rb | 1 |
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 |