diff options
author | Pieter van de Bruggen <pieter@puppetlabs.com> | 2011-04-17 22:23:44 -0700 |
---|---|---|
committer | Daniel Pittman <daniel@puppetlabs.com> | 2011-04-17 22:23:44 -0700 |
commit | 9d2ec219bbd77bfca48a72b52fe5d0d3fcc0dcf7 (patch) | |
tree | 1b01ad690ce899fb688356ac2deb7eed4f50c302 /lib/puppet/interface/option_builder.rb | |
parent | 0d0318f9f0eadff7f9934d3d02a7081bba05164c (diff) | |
download | puppet-9d2ec219bbd77bfca48a72b52fe5d0d3fcc0dcf7.tar.gz puppet-9d2ec219bbd77bfca48a72b52fe5d0d3fcc0dcf7.tar.xz puppet-9d2ec219bbd77bfca48a72b52fe5d0d3fcc0dcf7.zip |
(#7013) Add support for required options.
This adds another hook into the generated wrapper, which invokes a method to
validate arguments. This is used to raise an exception when required options
have not been passed to the method.
Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
Diffstat (limited to 'lib/puppet/interface/option_builder.rb')
-rw-r--r-- | lib/puppet/interface/option_builder.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/puppet/interface/option_builder.rb b/lib/puppet/interface/option_builder.rb index d4e59a4df..7c2ab89de 100644 --- a/lib/puppet/interface/option_builder.rb +++ b/lib/puppet/interface/option_builder.rb @@ -11,7 +11,7 @@ class Puppet::Interface::OptionBuilder def initialize(face, *declaration, &block) @face = face @option = Puppet::Interface::Option.new(face, *declaration) - block and instance_eval(&block) + instance_eval(&block) if block_given? @option end @@ -47,4 +47,8 @@ class Puppet::Interface::OptionBuilder end @option.after_action = block end + + def required(value = true) + @option.required = value + end end |