module SimpleConfiguration
Constants
- MISSING_VALUE
- MissingConfigurationError
- VERSION
Public Instance Methods
config(config_name, default_value = MISSING_VALUE, &default_value_blk)
click to toggle source
# File lib/simple_configuration.rb, line 7 def config(config_name, default_value = MISSING_VALUE, &default_value_blk) if default_value_blk define_method(config_name) { |*args| instance_exec(*args, &default_value_blk) } elsif default_value != MISSING_VALUE define_method(config_name) { |*_| default_value } else define_method(config_name) { |*_| raise(MissingConfigurationError, config_name) } end define_singleton_method(config_name) do |value = nil, &blk| define_method(config_name) do |*args| blk ? instance_exec(*args, &blk) : value end end end