class Qonfig::Imports::General

@api private @since 0.18.0

Attributes

direct_key_importer[R]

@return [Qonfig::Imports::DirectKey]

@api private @since 0.18.0

mappings_importer[R]

@return [Qonfig::Imports::Mappings]

@api private @since 0.18.0

seeded_klass[R]

@return [Class]

@api private @since 0.18.0

Public Class Methods

import!( seeded_klass, imported_config, *imported_keys, mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS, prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX, raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR, accessor: Qonfig::Imports::Abstract::AS_ACCESSOR ) click to toggle source

@param seeded_klass [Class, Object] @param imported_config [Qonfig::DataSet] @param imported_keys [Array<String, Symbol>] @option mappings [Hash<String|Symbol,String|Symbol>] @option prefix [String, Symbol] @option raw [Boolean] @option accessor [Boolean] @return void]

@api private @since 0.18.0 @version 0.21.0

# File lib/qonfig/imports/general.rb, line 19
def import!(
  seeded_klass,
  imported_config,
  *imported_keys,
  mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS,
  prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX,
  raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR,
  accessor: Qonfig::Imports::Abstract::AS_ACCESSOR
)
  new(
    seeded_klass,
    imported_config,
    *imported_keys,
    mappings: mappings,
    prefix: prefix,
    raw: raw,
    accessor: accessor
  ).import!
end
new( seeded_klass, imported_config, *imported_keys, mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS, prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX, raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR, accessor: Qonfig::Imports::Abstract::AS_ACCESSOR ) click to toggle source

@param seeded_klass [Class, Object] @param imported_config [Qonfig::DataSet] @param imported_keys [Array<String, Symbol>] @option mappings [Hash<String|Symbol,String|Symbol>] @option prefix [String, Symbol] @option raw [Boolean] @option accessor [Boolean] @return void]

@api private @since 0.18.0 @version 0.21.0

# File lib/qonfig/imports/general.rb, line 52
def initialize(
  seeded_klass,
  imported_config,
  *imported_keys,
  mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS,
  prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX,
  raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR,
  accessor: Qonfig::Imports::Abstract::AS_ACCESSOR
)
  @seeded_klass = seeded_klass

  @direct_key_importer = build_direct_key_importer(
    seeded_klass,
    imported_config,
    *imported_keys,
    prefix: prefix,
    raw: raw,
    accessor: accessor
  )

  @mappings_importer = build_mappings_importer(
    seeded_klass,
    imported_config,
    mappings: mappings,
    prefix: prefix,
    raw: raw,
    accessor: accessor
  )
end

Public Instance Methods

import!(settings_interface = Module.new) click to toggle source

@param settings_interface [Module] @return [void]

@api private @since 0.18.0

# File lib/qonfig/imports/general.rb, line 87
def import!(settings_interface = Module.new)
  direct_key_importer.import!(settings_interface)
  mappings_importer.import!(settings_interface)
  seeded_klass.include(settings_interface)
end

Private Instance Methods

build_direct_key_importer( seeded_klass, imported_config, *imported_keys, prefix:, raw:, accessor: ) click to toggle source

@param seeded_klass [Class] @param imported_config [Qonfig::DataSet] @param imported_keys [Array<String,Symbol>] @option prefix [String, Symbol] @option raw [Boolean] @option accessor [Boolean] @return [Qonfig::Imports::DirectKey]

@api private @since 0.18.0 @version 0.21.0

# File lib/qonfig/imports/general.rb, line 124
def build_direct_key_importer(
  seeded_klass,
  imported_config,
  *imported_keys,
  prefix:,
  raw:,
  accessor:
)
  Qonfig::Imports::DirectKey.new(
    seeded_klass,
    imported_config,
    *imported_keys,
    prefix: prefix,
    raw: raw,
    accessor: accessor
  )
end
build_mappings_importer( seeded_klass, imported_config, mappings:, prefix:, raw:, accessor: ) click to toggle source

@param seeded_klass [Class] @param imported_config [Qonfig::DataSet] @option mappings [Hash<Symbol|String,Symbol|String>] @option prefix [String, Symbol] @option raw [Boolean] @option accessor [Boolean] @return [Qonfig::Imports::Mappings]

@api private @since 0.18.0 @version 0.21.0

# File lib/qonfig/imports/general.rb, line 153
def build_mappings_importer(
  seeded_klass,
  imported_config,
  mappings:,
  prefix:,
  raw:,
  accessor:
)
  Qonfig::Imports::Mappings.new(
    seeded_klass,
    imported_config,
    mappings: mappings,
    prefix: prefix,
    raw: raw,
    accessor: accessor
  )
end