class Qonfig::Imports::Abstract

@api private @since 0.18.0

Constants

AS_ACCESSOR

@return [Boolean]

@api private @since 0.21.0

DEFAULT_RAW_BEHAVIOR

@return [Boolean]

@api private @since 0.18.0

EMPTY_PREFIX

@return [String]

@api private @since 0.18.0

Attributes

accessor[R]

@return [Boolean]

@api private @since 0.21.0

imported_config[R]

@return [Qonfig::DataSet]

@api private @since 0.18.0

prefix[R]

@return [String, Symbol]

@api private @since 0.18.0

raw[R]

@return [Boolean]

@api private @since 0.18.0

seeded_klass[R]

@return [Class]

@api private @since 0.18.0

Public Class Methods

new( seeded_klass, imported_config, prefix: EMPTY_PREFIX, raw: DEFAULT_RAW_BEHAVIOR, accessor: AS_ACCESSOR ) click to toggle source

@param seeded_klass [Class] @param imported_config [Qonfig::DataSet] @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/abstract.rb, line 34
def initialize(
  seeded_klass,
  imported_config,
  prefix: EMPTY_PREFIX,
  raw: DEFAULT_RAW_BEHAVIOR,
  accessor: AS_ACCESSOR
)
  @seeded_klass = seeded_klass
  @imported_config = imported_config
  @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/abstract.rb, line 53
def import!(settings_interface = Module.new)
  # :nocov:
  raise NoMethodError
  # :nocov:
end

Private Instance Methods

prevent_incompatible_import_params!(imported_config, prefix) click to toggle source

@param imported_config [Qonfig::DataSet] @param prefix [String, Symbol] @return [void]

@raise [Qonfig::IncompatibleImportedConfigError] @raise [Qonfig::IncorrectImportPrefixError]

@api private @since 0.18.0

# File lib/qonfig/imports/abstract.rb, line 100
def prevent_incompatible_import_params!(imported_config, prefix)
  raise(
    Qonfig::IncompatibleImportedConfigError,
    'Imported config object should be an isntance of Qonfig::DataSet'
  ) unless imported_config.is_a?(Qonfig::DataSet)

  raise(
    Qonfig::IncorrectImportPrefixError,
    'Import method prefix should be a type of string or symbol'
  ) unless prefix.is_a?(String) || prefix.is_a?(Symbol)
end