Sha256: 940c0902f4b23f0260f4ffb420352d7d52ef0051f4d3eac9209b3bf547b38348
Contents?: true
Size: 1.32 KB
Versions: 13
Compression:
Stored size: 1.32 KB
Contents
module Coercible class Coercer module Configurable # Add configuration-specific option keys to the descendant # # @return [self] # # @api private 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 def config(&block) configuration = configuration_class.build(config_keys) yield configuration configuration end # Return configuration name in the global config # # @return [Symbol] # # @api private def config_name name.downcase.split('::').last.to_sym end # Return configuration class # # @return [Class:Configuration] # # @api private def configuration_class Configuration end end # module Configurable end # class Coercer end # module Coercible
Version data entries
13 entries across 11 versions & 5 rubygems