Module: Definition::Types::Keys::Dsl
- Included in:
- Definition::Types::Keys
- Defined in:
- lib/definition/types/keys.rb
Instance Method Summary collapse
- #default(key, value) ⇒ Object
- #option(option_name) ⇒ Object
- #optional(key, definition, **opts) ⇒ Object
- #required(key, definition) ⇒ Object
Instance Method Details
#default(key, value) ⇒ Object
22 23 24 |
# File 'lib/definition/types/keys.rb', line 22 def default(key, value) defaults[key] = value end |
#option(option_name) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/definition/types/keys.rb', line 26 def option(option_name) case option_name when :ignore_extra_keys self.ignore_extra_keys = true else raise "Option #{option_name} is not defined" end end |
#optional(key, definition, **opts) ⇒ Object
17 18 19 20 |
# File 'lib/definition/types/keys.rb', line 17 def optional(key, definition, **opts) optional_definitions[key] = definition default(key, opts[:default]) if opts.key?(:default) end |
#required(key, definition) ⇒ Object
13 14 15 |
# File 'lib/definition/types/keys.rb', line 13 def required(key, definition) required_definitions[key] = definition end |