diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-06-04 20:37:14 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-06-04 20:37:14 +0000 |
commit | c35d07b4183be141fa606de665c52740f5cc6510 (patch) | |
tree | 6597bb7385d64ed1546541a221edb2d02585e5d2 /lib/puppet/provider/package/sun.rb | |
parent | a7b057de317ffc60e50405ea1ebb109ba4003b4f (diff) | |
download | puppet-c35d07b4183be141fa606de665c52740f5cc6510.tar.gz puppet-c35d07b4183be141fa606de665c52740f5cc6510.tar.xz puppet-c35d07b4183be141fa606de665c52740f5cc6510.zip |
Significantly reworked the type => provider interface with respect to
listing existing provider instances. The class method on both
class heirarchies has been renamed to 'instances', to start. Providers
are now expected to return provider instances, instead of creating
resources, and the resource's 'instances' method is expected to
find the matching resource, if any, and set the resource's
provider appropriately. This *significantly* reduces the reliance on
effectively global state (resource references in the resource classes).
This global state will go away soon.
Along with this change, the 'prefetch' class method on providers now
accepts the list of resources for prefetching. This again reduces
reliance on global state, and makes the execution path much easier
to follow.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2551 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/provider/package/sun.rb')
-rwxr-xr-x | lib/puppet/provider/package/sun.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index ea169548d..c5b954881 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -9,7 +9,7 @@ Puppet::Type.type(:package).provide :sun do defaultfor :operatingsystem => :solaris - def self.list + def self.instances packages = [] hash = {} names = { @@ -40,7 +40,7 @@ Puppet::Type.type(:package).provide :sun do when /^$/: hash[:provider] = :sun - packages.push Puppet.type(:package).installedpkg(hash) + packages << new(hash) hash.clear when /\s*(\w+):\s+(.+)/: name = $1 |