lib/chartmogul/config_attributes.rb
# frozen_string_literal: true
module ChartMogul
module ConfigAttributes
def config_accessor(attribute, default_value = nil)
define_method(attribute) do
attr = config.send(attribute) || default_value
if attr.nil?
raise ConfigurationError, "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
end
end
end
end