diff options
author | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-04-29 12:18:12 -0700 |
---|---|---|
committer | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-04-29 12:25:46 -0700 |
commit | 207deae2dc06ca439e3b5ee9b044221a1c2899bb (patch) | |
tree | 3dcbc0c601dd7757fb0a865cc222ac97ded8b0d2 /lib/puppet/interface.rb | |
parent | 1aaf5fdc51e165c7d0f377450016cd4fb3767c02 (diff) | |
download | puppet-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.rb | 2 |
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| |