Class: Configru::DSL::OptionGroup
- Inherits:
-
Object
- Object
- Configru::DSL::OptionGroup
- Defined in:
- lib/configru/dsl.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(&block) ⇒ OptionGroup
constructor
A new instance of OptionGroup.
- #option(name, type = Object, default = nil, validation = nil, &block) ⇒ Object
- #option_array(name, type = Object, default = [], validation = nil, &block) ⇒ Object
- #option_bool(name, default, &block) ⇒ Object
- #option_group(name, &block) ⇒ Object
- #option_required(name, type = Object, validation = nil, &block) ⇒ Object
Constructor Details
#initialize(&block) ⇒ OptionGroup
Returns a new instance of OptionGroup.
8 9 10 11 |
# File 'lib/configru/dsl.rb', line 8 def initialize(&block) @options = {} instance_eval(&block) end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
6 7 8 |
# File 'lib/configru/dsl.rb', line 6 def @options end |
Instance Method Details
#option(name, type = Object, default = nil, validation = nil, &block) ⇒ Object
13 14 15 16 17 |
# File 'lib/configru/dsl.rb', line 13 def option(name, type = Object, default = nil, validation = nil, &block) option = Configru::Option.new(type, default, validation, nil) Option.new(option, &block) if block @options[name.to_s] = option end |
#option_array(name, type = Object, default = [], validation = nil, &block) ⇒ Object
29 30 31 32 33 |
# File 'lib/configru/dsl.rb', line 29 def option_array(name, type = Object, default = [], validation = nil, &block) option = Configru::OptionArray.new(type, default, validation, nil) Option.new(option, &block) if block @options[name.to_s] = option end |
#option_bool(name, default, &block) ⇒ Object
19 20 21 |
# File 'lib/configru/dsl.rb', line 19 def option_bool(name, default, &block) option(name, Object, default, [true, false], &block) end |
#option_group(name, &block) ⇒ Object
35 36 37 |
# File 'lib/configru/dsl.rb', line 35 def option_group(name, &block) @options[name.to_s] = OptionGroup.new(&block). end |
#option_required(name, type = Object, validation = nil, &block) ⇒ Object
23 24 25 26 27 |
# File 'lib/configru/dsl.rb', line 23 def option_required(name, type = Object, validation = nil, &block) option = Configru::RequiredOption.new(type, validation, nil) RequiredOption.new(option, &block) if block @options[name.to_s] = option end |