Module: Definition::Types::Keys::Dsl

Included in:
Definition::Types::Keys
Defined in:
lib/definition/types/keys.rb

Instance Method Summary collapse

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