module Qonfig::Imports::Export
@api private @since 0.18.0
Public Class Methods
export!( exportable_object, exported_config, *exported_setting_keys, mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS, raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR, prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX, accessor: Qonfig::Imports::Abstract::AS_ACCESSOR )
click to toggle source
@param exportable_object [Object] @param exported_config [Qonfig::DataSet] @param exported_setting_keys [Array<String,Symbol>] @option mappings [Hash<String|Symbol,String|Symbol>] @option raw [Boolean] @option prefix [String, Symbol] @option accessor [Boolean] @return [void]
@api private @since 0.18.0 @version 0.21.0
# File lib/qonfig/imports/export.rb, line 19 def export!( exportable_object, exported_config, *exported_setting_keys, mappings: Qonfig::Imports::Mappings::EMPTY_MAPPINGS, raw: Qonfig::Imports::Abstract::DEFAULT_RAW_BEHAVIOR, prefix: Qonfig::Imports::Abstract::EMPTY_PREFIX, accessor: Qonfig::Imports::Abstract::AS_ACCESSOR ) exportable_is_a_module = exportable_object.is_a?(Module) rescue false # NOTE: (rescue false (rescue NoMethodError for #is_a?)) # it means that #is_a? is not defined for exportable_object. # it happens only with BasicObject instances. unless exportable_is_a_module # NOTE: # << is a universal way for extrating the singleton class of an object # cuz BasicObject has no #singelton_class method; exportable_object = (class << exportable_object; self; end) end Qonfig::Imports::General.import!( exportable_object, exported_config, *exported_setting_keys, prefix: prefix, raw: raw, mappings: mappings, accessor: accessor ) end