summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2011-03-15 17:28:52 -0700
committerJesse Wolfe <jes5199@gmail.com>2011-03-15 17:28:52 -0700
commit9781032736a34f577241828bcf812a648b4f42e9 (patch)
tree2fa66f45306be3dfa1f37564a686e0f49d23b7be /lib
parent658bdb72bee3ad664627a71793213e6540afd5cb (diff)
downloadpuppet-9781032736a34f577241828bcf812a648b4f42e9.tar.gz
puppet-9781032736a34f577241828bcf812a648b4f42e9.tar.xz
puppet-9781032736a34f577241828bcf812a648b4f42e9.zip
Revert "Merge branch 'ticket/2.6.x/5605' of git://github.com/stschulte/puppet into 2.6.next"
This reverts commit 658bdb72bee3ad664627a71793213e6540afd5cb, reversing changes made to 4c9bd43bc2f5fde9d86196e8689dced929d39aad. See comment at http://projects.puppetlabs.com/issues/5605#note-9
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/resource.rb9
-rw-r--r--lib/puppet/transaction.rb2
-rw-r--r--lib/puppet/type.rb8
3 files changed, 4 insertions, 15 deletions
diff --git a/lib/puppet/resource.rb b/lib/puppet/resource.rb
index 0f4e24cc4..214516908 100644
--- a/lib/puppet/resource.rb
+++ b/lib/puppet/resource.rb
@@ -243,16 +243,11 @@ class Puppet::Resource
h = self.to_hash
h[namevar] ||= h[:name]
h[:name] ||= h[namevar]
- # Simulate the same behaviour like Type#uniqueness_key
- if key_attributes.size == 1
- h[namevar]
- else
- h.values_at(*key_attributes)
- end
+ h.values_at(*key_attributes.sort_by { |k| k.to_s })
end
def key_attributes
- resource_type.respond_to?(:key_attributes) ? resource_type.key_attributes : [:name]
+ return(resource_type.respond_to? :key_attributes) ? resource_type.key_attributes : [:name]
end
# Convert our resource to Puppet code.
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb
index 6c816f130..aa650eea1 100644
--- a/lib/puppet/transaction.rb
+++ b/lib/puppet/transaction.rb
@@ -245,7 +245,7 @@ class Puppet::Transaction
@catalog.vertices.each do |resource|
if provider = resource.provider and provider.class.respond_to?(:prefetch)
prefetchers[provider.class] ||= {}
- prefetchers[provider.class][resource.uniqueness_key] = resource
+ prefetchers[provider.class][resource.name] = resource
end
end
diff --git a/lib/puppet/type.rb b/lib/puppet/type.rb
index c8d8688b0..205d809c1 100644
--- a/lib/puppet/type.rb
+++ b/lib/puppet/type.rb
@@ -200,13 +200,7 @@ class Type
end
def uniqueness_key
- # If we have only one namevar use that one (res.uniqueness_key behaves
- # like res[:name] in that case). Otherwise use an array of all keyattributes
- if name_var
- self[:name]
- else
- @parameters.values_at(*self.class.key_attributes).collect {|p| p.value }
- end
+ to_resource.uniqueness_key
end
# Create a new parameter. Requires a block and a name, stores it in the