module ChartMogul::ConfigAttributes
Public Instance Methods
config_accessor(attribute, default_value = nil)
click to toggle source
# File lib/chartmogul/config_attributes.rb, line 5 def config_accessor(attribute, default_value = nil) define_method(attribute) do attr = config.send(attribute) || global_config.send(attribute) || default_value if attr.nil? raise ConfigurationError, "Configuration for #{attribute} not set" end attr end define_method("global_#{attribute}") do attr = global_config.send(attribute) || default_value if attr.nil? raise ConfigurationError, "Global configuration for #{attribute} not set" end attr end define_method("#{attribute}=") do |val| config.send("#{attribute}=", val) Thread.current[ChartMogul::APIResource::THREAD_CONNECTION_KEY] = nil val end define_method("global_#{attribute}=") do |val| global_config.send("#{attribute}=", val) Thread.current[ChartMogul::APIResource::THREAD_CONNECTION_KEY] = nil val end end