module Conekticut::Client::Configuration::ClassMethods
Public Instance Methods
add_config_option(name, default_value = "nil")
click to toggle source
# File lib/conekticut/client/configuration.rb, line 17 def add_config_option(name, default_value = "nil") class_eval <<-RUBY def self.#{name}(value=#{default_value}) @#{name} = value if value return @#{name} if self.object_id == #{self.object_id} || defined?(@#{name}) name = superclass.#{name} return nil if name.nil? && !instance_variable_defined?("@#{name}") @#{name} = name && !name.is_a?(Module) && !name.is_a?(Symbol) && !name.is_a?(Numeric) && !name.is_a?(TrueClass) && !name.is_a?(FalseClass) ? name.dup : name end def self.#{name}=(value) @#{name} = value end def #{name}=(value) @#{name} = value end def #{name} value = @#{name} if instance_variable_defined?(:@#{name}) value = self.class.#{name} unless instance_variable_defined?(:@#{name}) if value.instance_of?(Proc) value.arity >= 1 ? value.call(self) : value.call else value end end RUBY end
configure() { |self| ... }
click to toggle source
# File lib/conekticut/client/configuration.rb, line 47 def configure yield self end