Class: Qonfig::Compacted

Inherits:
BasicObject
Extended by:
DSL
Includes:
Plugins::PrettyPrint::CompactedConfigMixin
Defined in:
lib/qonfig/compacted.rb,
lib/qonfig/plugins/pretty_print/compacted.rb

Overview

Since:

  • 0.21.0

Defined Under Namespace

Modules: Constructor

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DSL

compose, define_validator, definition_commands, expose_json, expose_self, expose_toml, expose_yaml, extended, freeze_state!, instance_commands, load_from_env, load_from_json, load_from_self, load_from_toml, load_from_yaml, predefined_validators, re_setting, setting, validate, validators, values_file

Methods included from Plugins::PrettyPrint::CompactedConfigMixin

#pretty_print

Constructor Details

#initialize(settings_map = {}, &configuration) ⇒ void

Parameters:

  • settings_map (Hash<Symbol|String,Any>) (defaults to: {})
  • configuration (Block)

See Also:

Since:

  • 0.21.0



71
72
73
74
75
76
77
78
# File 'lib/qonfig/compacted.rb', line 71

def initialize(settings_map = {}, &configuration)
  ::Qonfig::Compacted::Constructor.construct(
    self,
    ::Qonfig::Compacted::Constructor::NO_INITIAL_DATA_SET,
    settings_map: settings_map,
    &configuration
  )
end

Instance Attribute Details

#____data_set____Qonfig::DataSet (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.

Returns:

Since:

  • 0.21.0



61
62
63
# File 'lib/qonfig/compacted.rb', line 61

def ____data_set____
  @____data_set____
end

Class Method Details

.build(base_config_klass = self, &config_klass_definitions) ⇒ Qonfig::Compacted

Parameters:

  • base_config_klass (Class<Qonfig::Compacted>) (defaults to: self)
  • config_klass_definitions (Block)

Returns:

Raises:

Since:

  • 0.21.0



18
19
20
21
22
23
24
25
# File 'lib/qonfig/compacted.rb', line 18

def build(base_config_klass = self, &config_klass_definitions)
  raise(
    ::Qonfig::ArgumentError,
    'Base class should be a type of Qonfig::Compacted'
  ) unless base_config_klass <= ::Qonfig::Compacted

  Class.new(base_config_klass, &config_klass_definitions).new
end

.build_from(data_set = ::Qonfig::Compacted::Constructor::NO_INITIAL_DATA_SET, &configurations) ⇒ Qonfig::Compacted

Parameters:

  • data_set (Qonfig::DataSet) (defaults to: ::Qonfig::Compacted::Constructor::NO_INITIAL_DATA_SET)
  • configurations (Block)

Returns:

Since:

  • 0.21.0



33
34
35
36
37
38
39
40
# File 'lib/qonfig/compacted.rb', line 33

def build_from(
  data_set = ::Qonfig::Compacted::Constructor::NO_INITIAL_DATA_SET,
  &configurations
)
  compacted_config = allocate # NOTE: #tap does not exist on BasicObject :(
  ::Qonfig::Compacted::Constructor.construct(compacted_config, data_set, &configurations)
  compacted_config
end

.valid_with?(settings_map = {}, &configurations) ⇒ Boolean

Parameters:

  • settings_map (Hash<Symbol|String,Any>) (defaults to: {})
  • configurations (Block)
  • init_from (Hash)

    a customizable set of options

Returns:

  • (Boolean)

Since:

  • 0.21.0



49
50
51
52
53
54
# File 'lib/qonfig/compacted.rb', line 49

def valid_with?(settings_map = {}, &configurations)
  new(settings_map, &configurations)
  true
rescue ::Qonfig::ValidationError
  false
end

Instance Method Details

#[](key) ⇒ Any

Parameters:

  • key (String, Symbol)

Returns:

  • (Any)

Since:

  • 0.21.0



85
86
87
# File 'lib/qonfig/compacted.rb', line 85

def [](key)
  ____data_set____[key]
end

#[]=(key, value) ⇒ void

This method returns an undefined value.

Parameters:

  • key (String, Symbol)
  • value (Any)

Since:

  • 0.21.0



95
96
97
# File 'lib/qonfig/compacted.rb', line 95

def []=(key, value)
  ____data_set____[key] = value
end