Module: Trestle::Configurable::ClassMethods
- Defined in:
- lib/trestle/configurable.rb
Instance Method Summary collapse
Instance Method Details
#defaults ⇒ Object
31 32 33 |
# File 'lib/trestle/configurable.rb', line 31 def defaults @defaults ||= {} end |
#option(name, default = nil, opts = {}) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/trestle/configurable.rb', line 35 def option(name, default=nil, opts={}) name = name.to_sym define_method("#{name}=") do |value| [name] = value end define_method(name) do |*args| value = [name] if value.respond_to?(:call) && opts[:evaluate] != false value.call(*args) else value end end defaults[name] = default end |