summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/package/sun.rb
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-06-04 20:37:14 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-06-04 20:37:14 +0000
commitc35d07b4183be141fa606de665c52740f5cc6510 (patch)
tree6597bb7385d64ed1546541a221edb2d02585e5d2 /lib/puppet/provider/package/sun.rb
parenta7b057de317ffc60e50405ea1ebb109ba4003b4f (diff)
downloadpuppet-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-xlib/puppet/provider/package/sun.rb4
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