From c35d07b4183be141fa606de665c52740f5cc6510 Mon Sep 17 00:00:00 2001 From: luke Date: Mon, 4 Jun 2007 20:37:14 +0000 Subject: 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 --- lib/puppet/provider/package/sun.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/puppet/provider/package/sun.rb') 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 -- cgit