module Configuration

Provides module configuration # Source: viget.com/extend/easy-gem-configuration-variables-with-defaults

Public Instance Methods

configuration() { |self| ... } click to toggle source
# File lib/afasgem/configuration.rb, line 4
def configuration
        yield self
end
define_setting(name, default = nil) click to toggle source
# File lib/afasgem/configuration.rb, line 8
def define_setting(name, default = nil)
        class_variable_set("@@#{name}", default)
        define_class_method "#{name}=" do |value|
                class_variable_set("@@#{name}", value)
        end
        define_class_method name do
                class_variable_get("@@#{name}")
        end
end

Private Instance Methods

define_class_method(name, &block) click to toggle source
# File lib/afasgem/configuration.rb, line 19
def define_class_method(name, &block)
        (class << self; self; end).instance_eval do
                define_method name, &block
        end
end