Add configuration-specific option keys to the descendant
@return [self]
@api private
# File lib/coercible/coercer/configurable.rb, line 11 def self.extended(coercer) coercer.accept_options :config_keys super end
Build configuration object for the coercer class
@example
coercer_class = Class.new(Coercer::Object) do extend Configurable config_keys [ :foo, :bar ] end coercer_class.config do |config| config.foo = '1' config.bar = '2' end
@yieldparam [Configuration]
@return [Configuration]
@api public
# File lib/coercible/coercer/configurable.rb, line 36 def config(&block) configuration = configuration_class.build(config_keys) yield configuration configuration end
Return configuration name in the global config
@return [Symbol]
@api private
# File lib/coercible/coercer/configurable.rb, line 47 def config_name name.downcase.split('::').last.to_sym end
Return configuration class
@return [Class:Configuration]
@api private
# File lib/coercible/coercer/configurable.rb, line 56 def configuration_class Configuration end