module Confo::OptionsManager::ClassMethods

Public Instance Methods

option_accessor(*names) click to toggle source

Define option accessors.

# File lib/confo/concerns/options_manager.rb, line 8
def option_accessor(*names)

  # TODO Save list of option names
  names.each do |name|
    define_option_functional_accessor(name)
    define_option_writer(name)
  end
end
readonly_option(*names) click to toggle source

TODO Implement

# File lib/confo/concerns/options_manager.rb, line 18
def readonly_option(*names)

end

Protected Instance Methods

define_option_functional_accessor(name) click to toggle source
# File lib/confo/concerns/options_manager.rb, line 23
def define_option_functional_accessor(name)
  define_method("#{name}") do |*args|
    if args.size > 0
      raw_set(name, args.first)
      self
    else
      raw_get(name)
    end
  end
end
define_option_writer(name) click to toggle source
# File lib/confo/concerns/options_manager.rb, line 34
def define_option_writer(name)
  define_method("#{name}=") do |value|
    raw_set(name, value)
    self
  end
end