class Restforce::Configuration::Option
def self.define(*args)
def self.define(*args) new(*args).define end
def define
def define write_attribute define_method if default_provided? self end
def define_method
def define_method our_default = default our_name = name configuration.send :define_method, our_name do instance_variable_get(:"@#{our_name}") || instance_variable_set( :"@#{our_name}", our_default.respond_to?(:call) ? our_default.call : our_default ) end end
def initialize(configuration, name, options = {})
def initialize(configuration, name, options = {}) @configuration = configuration @name = name @options = options @default = options.fetch(:default, nil) end
def write_attribute
def write_attribute configuration.send :attr_accessor, name end