Class: Dotum::OptionsContext

Inherits:
Hash
  • Object
show all
Defined in:
lib/dotum/options_context.rb

Instance Method Summary collapse

Constructor Details

#initialize(option_configs) ⇒ OptionsContext

Returns a new instance of OptionsContext.



7
8
9
# File 'lib/dotum/options_context.rb', line 7

def initialize(option_configs)
  @known_options = Set.new(option_configs.keys)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/dotum/options_context.rb', line 11

def method_missing(sym, *args)
  super if args.size != 1

  unless @known_options.include? sym
    raise ArgumentError, "Unknown option '#{sym}'"
  end

  self[sym] = args[0]
end