summaryrefslogtreecommitdiffstats
path: root/lib/puppet/interface.rb
diff options
context:
space:
mode:
authorPieter van de Bruggen <pieter@puppetlabs.com>2011-04-29 12:18:12 -0700
committerPieter van de Bruggen <pieter@puppetlabs.com>2011-04-29 12:25:46 -0700
commit207deae2dc06ca439e3b5ee9b044221a1c2899bb (patch)
tree3dcbc0c601dd7757fb0a865cc222ac97ded8b0d2 /lib/puppet/interface.rb
parent1aaf5fdc51e165c7d0f377450016cd4fb3767c02 (diff)
downloadpuppet-207deae2dc06ca439e3b5ee9b044221a1c2899bb.tar.gz
puppet-207deae2dc06ca439e3b5ee9b044221a1c2899bb.tar.xz
puppet-207deae2dc06ca439e3b5ee9b044221a1c2899bb.zip
(#7289) Specify order for option decorations.
`before_action` decorations should always resolve in resolution order from most general (inherited from furthest away) to most specific (declared on the instance), and should always execute Face-level option decorations before action-level option decorations. `after_action` decorations should execute in the opposite order. Reviewed-By: Daniel Pittman
Diffstat (limited to 'lib/puppet/interface.rb')
-rw-r--r--lib/puppet/interface.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/puppet/interface.rb b/lib/puppet/interface.rb
index ba68ac65b..eb376c4c5 100644
--- a/lib/puppet/interface.rb
+++ b/lib/puppet/interface.rb
@@ -139,6 +139,8 @@ class Puppet::Interface
action.get_option(name).__decoration_name(type)
end
+ methods.reverse! if type == :after
+
# Exceptions here should propagate up; this implements a hook we can use
# reasonably for option validation.
methods.each do |hook|