module Coercible::Coercer::Configurable

Public Class Methods

extended(coercer) click to toggle source

Add configuration-specific option keys to the descendant

@return [self]

@api private

Calls superclass method
# File lib/coercible/coercer/configurable.rb, line 11
def self.extended(coercer)
  coercer.accept_options :config_keys
  super
end

Public Instance Methods

config() { |configuration| ... } click to toggle source

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
config_name() click to toggle source

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
configuration_class() click to toggle source

Return configuration class

@return [Class:Configuration]

@api private

# File lib/coercible/coercer/configurable.rb, line 56
def configuration_class
  Configuration
end