Class: Qonfig::Commands::Definition::ExposeSelf Private
- Defined in:
- lib/qonfig/commands/definition/expose_self.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #caller_location ⇒ String readonly private
- #env ⇒ Symbol, String readonly private
- #format ⇒ String, Symbol readonly private
Instance Method Summary collapse
- #call(data_set, settings) ⇒ void private
-
#initialize(caller_location, env:, format:) ⇒ ExposeSelf
constructor
private
A new instance of ExposeSelf.
Methods inherited from Base
inheritable=, inheritable?, #inheritable?, inherited
Constructor Details
#initialize(caller_location, env:, format:) ⇒ ExposeSelf
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of ExposeSelf.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/qonfig/commands/definition/expose_self.rb', line 33 def initialize(caller_location, env:, format:) unless env.is_a?(Symbol) || env.is_a?(String) raise Qonfig::ArgumentError, ':env should be a string or a symbol' end raise Qonfig::ArgumentError, ':env should be provided' if env.to_s.empty? unless format.is_a?(String) || format.is_a?(Symbol) raise Qonfig::ArgumentError, 'Format should be a symbol or a string' end @caller_location = caller_location @env = env @format = format.tap { Qonfig::Loaders.resolve(format) } end |
Instance Attribute Details
#caller_location ⇒ String (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
19 20 21 |
# File 'lib/qonfig/commands/definition/expose_self.rb', line 19 def caller_location @caller_location end |
#env ⇒ Symbol, String (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
25 26 27 |
# File 'lib/qonfig/commands/definition/expose_self.rb', line 25 def env @env end |
#format ⇒ String, Symbol (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
13 14 15 |
# File 'lib/qonfig/commands/definition/expose_self.rb', line 13 def format @format end |
Instance Method Details
#call(data_set, settings) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/qonfig/commands/definition/expose_self.rb', line 55 def call(data_set, settings) self_placed_data = load_self_placed_end_data env_based_data_slice = self_placed_data[env] || self_placed_data[env.to_s] || self_placed_data[env.to_sym] raise( Qonfig::ExposeError, "#{file_path} file does not contain settings with <#{env}> environment key!" ) unless env_based_data_slice raise( Qonfig::IncompatibleEndDataStructureError, '__END__-data content must be a hash-like structure' ) unless env_based_data_slice.is_a?(Hash) self_placed_settings = build_data_set_klass(env_based_data_slice).new.settings settings.__append_settings__(self_placed_settings) end |