Module: Calculi::HasOptionSet::ClassMethods

Defined in:
lib/calculi/has_option_set.rb

Instance Method Summary collapse

Instance Method Details

#option!(name, default_value = Calculi::OptionSet::REQUIRED, &default_proc) ⇒ Object



24
25
26
# File 'lib/calculi/has_option_set.rb', line 24

def option!(name, default_value = Calculi::OptionSet::REQUIRED, &default_proc)
  option_set[name] = block_given? ? default_proc : default_value
end

#option_setObject



20
21
22
# File 'lib/calculi/has_option_set.rb', line 20

def option_set
  @option_set ||= Calculi::OptionSet.new
end

#options!(*names) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/calculi/has_option_set.rb', line 28

def options!(*names)
  names = names.flatten

  names_with_defaults = names.extract_options!

  names_with_defaults.each do |name, default|
    option_set[name] = default
  end

  option_set.add(*names)
end