diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-20 16:27:44 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-07-20 16:27:44 +0000 |
| commit | 47b705883bfdb38e3f94cba129936f70e3153735 (patch) | |
| tree | be0d8309d6615f5d141d443dd32398ab8cee7b60 /lib/puppet | |
| parent | 2e14ea4294fb520a95bfa9f8930a1ed47e71e7de (diff) | |
| download | puppet-47b705883bfdb38e3f94cba129936f70e3153735.tar.gz puppet-47b705883bfdb38e3f94cba129936f70e3153735.tar.xz puppet-47b705883bfdb38e3f94cba129936f70e3153735.zip | |
Adding some code in an attempt to fix #728, but it is all commented out since I could not get it fixed in time for beaker
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2722 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
| -rwxr-xr-x | lib/puppet/provider/parsedfile.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/puppet/provider/parsedfile.rb b/lib/puppet/provider/parsedfile.rb index 441dfac9e..a26788843 100755 --- a/lib/puppet/provider/parsedfile.rb +++ b/lib/puppet/provider/parsedfile.rb @@ -119,6 +119,15 @@ class Puppet::Provider::ParsedFile < Puppet::Provider [resource_type.validproperties, resource_type.parameters].flatten.each do |attr| attr = symbolize(attr) define_method(attr) do +# if @property_hash.empty? +# # Note that this swaps the provider out from under us. +# prefetch() +# if @resource.provider == self +# return @property_hash[attr] +# else +# return @resource.provider.send(attr) +# end +# end # If it's not a valid field for this record type (which can happen # when different platforms support different fields), then just # return the should value, so the resource shuts up. @@ -273,7 +282,9 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # Lastly, check the file from any resource instances if resources resources.each do |name, resource| - targets << resource.value(:target) + if value = resource.should(:target) + targets << value + end end end @@ -323,6 +334,8 @@ class Puppet::Provider::ParsedFile < Puppet::Provider @property_hash[:name] ||= @resource.name self.class.flush(@property_hash) + + #@property_hash = {} end def initialize(resource) @@ -336,6 +349,14 @@ class Puppet::Provider::ParsedFile < Puppet::Provider @property_hash = self.class.record?(resource[:name]) || {:record_type => self.class.name, :ensure => :absent} end + + # Retrieve the current state from disk. + def prefetch + unless @resource + raise Puppet::DevError, "Somehow got told to prefetch with no resource set" + end + self.class.prefetch(@resource[:name] => @resource) + end end # $Id$ |
