Class: Qonfig::DataSet
- Inherits:
-
Object
show all
- Extended by:
- DSL, Validator::DSL
- Defined in:
- lib/qonfig/data_set.rb,
lib/qonfig/plugins/toml/data_set.rb
Overview
Defined Under Namespace
Modules: ClassBuilder
Classes: Lock
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#[](key) ⇒ Object
-
#clear! ⇒ void
-
#configure(settings_map = {}, &configurations) ⇒ void
-
#deep_each_setting(&block) {|setting_key, setting_value| ... } ⇒ Enumerable
-
#dig(*keys) ⇒ Object
-
#each_setting(&block) {|setting_key, setting_value| ... } ⇒ Enumerable
-
#freeze! ⇒ void
-
#frozen? ⇒ void
-
#initialize(settings_map = {}, &configurations) ⇒ DataSet
constructor
A new instance of DataSet.
-
#reload!(settings_map = {}, &configurations) ⇒ void
-
#save_to_json(path:, options: Qonfig::Uploaders::JSON::DEFAULT_OPTIONS, &value_processor) ⇒ void
(also: #dump_to_json)
-
#save_to_toml(path:, options: Qonfig::Uploaders::TOML::DEFAULT_OPTIONS, &value_processor) ⇒ void
(also: #dump_to_toml)
-
#save_to_yaml(path:, symbolize_keys: false, options: Qonfig::Uploaders::YAML::DEFAULT_OPTIONS, &value_processor) ⇒ void
(also: #dump_to_yaml)
-
#slice(*keys) ⇒ Hash
-
#slice_value(*keys) ⇒ Hash, Any
-
#to_h(key_transformer: Qonfig::Settings::BASIC_SETTING_KEY_TRANSFORMER, value_transformer: Qonfig::Settings::BASIC_SETTING_VALUE_TRANSFORMER) ⇒ Hash
(also: #to_hash)
-
#valid? ⇒ Boolean
-
#validate! ⇒ void
Methods included from DSL
commands, compose, expose_json, expose_self, expose_toml, expose_yaml, extended, load_from_env, load_from_json, load_from_self, load_from_toml, load_from_yaml, setting
extended, validate, validators
Constructor Details
#initialize(settings_map = {}, &configurations) ⇒ DataSet
Returns a new instance of DataSet.
26
27
28
29
|
# File 'lib/qonfig/data_set.rb', line 26
def initialize(settings_map = {}, &configurations)
@__lock__ = Qonfig::DataSet::Lock.new
thread_safe_definition { load!(settings_map, &configurations) }
end
|
Instance Attribute Details
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/data_set.rb', line 19
def settings
@settings
end
|
Instance Method Details
#[](key) ⇒ Object
136
137
138
|
# File 'lib/qonfig/data_set.rb', line 136
def [](key)
thread_safe_access { settings[key] }
end
|
#clear! ⇒ void
This method returns an undefined value.
171
172
173
|
# File 'lib/qonfig/data_set.rb', line 171
def clear!
thread_safe_access { settings.__clear__ }
end
|
This method returns an undefined value.
67
68
69
70
71
|
# File 'lib/qonfig/data_set.rb', line 67
def configure(settings_map = {}, &configurations)
thread_safe_access do
apply_settings(settings_map, &configurations)
end
end
|
#deep_each_setting(&block) {|setting_key, setting_value| ... } ⇒ Enumerable
197
198
199
|
# File 'lib/qonfig/data_set.rb', line 197
def deep_each_setting(&block)
thread_safe_access { settings.__deep_each_setting__(&block) }
end
|
#dig(*keys) ⇒ Object
145
146
147
|
# File 'lib/qonfig/data_set.rb', line 145
def dig(*keys)
thread_safe_access { settings.__dig__(*keys) }
end
|
#each_setting(&block) {|setting_key, setting_value| ... } ⇒ Enumerable
184
185
186
|
# File 'lib/qonfig/data_set.rb', line 184
def each_setting(&block)
thread_safe_access { settings.__each_setting__(&block) }
end
|
#freeze! ⇒ void
This method returns an undefined value.
35
36
37
|
# File 'lib/qonfig/data_set.rb', line 35
def freeze!
thread_safe_access { settings.__freeze__ }
end
|
#frozen? ⇒ void
This method returns an undefined value.
43
44
45
|
# File 'lib/qonfig/data_set.rb', line 43
def frozen?
thread_safe_access { settings.__is_frozen__ }
end
|
#reload!(settings_map = {}, &configurations) ⇒ void
This method returns an undefined value.
55
56
57
58
59
60
|
# File 'lib/qonfig/data_set.rb', line 55
def reload!(settings_map = {}, &configurations)
thread_safe_definition do
raise Qonfig::FrozenSettingsError, 'Frozen config can not be reloaded' if frozen?
load!(settings_map, &configurations)
end
end
|
#save_to_json(path:, options: Qonfig::Uploaders::JSON::DEFAULT_OPTIONS, &value_processor) ⇒ void
Also known as:
dump_to_json
This method returns an undefined value.
#save_to_toml(path:, options: Qonfig::Uploaders::TOML::DEFAULT_OPTIONS, &value_processor) ⇒ void
Also known as:
dump_to_toml
This method returns an undefined value.
#save_to_yaml(path:, symbolize_keys: false, options: Qonfig::Uploaders::YAML::DEFAULT_OPTIONS, &value_processor) ⇒ void
Also known as:
dump_to_yaml
This method returns an undefined value.
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/qonfig/data_set.rb', line 114
def save_to_yaml(
path:,
symbolize_keys: false,
options: Qonfig::Uploaders::YAML::DEFAULT_OPTIONS,
&value_processor
)
thread_safe_access do
Qonfig::Uploaders::YAML.upload(
settings,
path: path,
options: options.merge(symbolize_keys: symbolize_keys),
&value_processor
)
end
end
|
#slice(*keys) ⇒ Hash
154
155
156
|
# File 'lib/qonfig/data_set.rb', line 154
def slice(*keys)
thread_safe_access { settings.__slice__(*keys) }
end
|
#slice_value(*keys) ⇒ Hash, Any
163
164
165
|
# File 'lib/qonfig/data_set.rb', line 163
def slice_value(*keys)
thread_safe_access { settings.__slice_value__(*keys) }
end
|
#to_h(key_transformer: Qonfig::Settings::BASIC_SETTING_KEY_TRANSFORMER, value_transformer: Qonfig::Settings::BASIC_SETTING_VALUE_TRANSFORMER) ⇒ Hash
Also known as:
to_hash
#valid? ⇒ Boolean
205
206
207
|
# File 'lib/qonfig/data_set.rb', line 205
def valid?
thread_safe_access { validator.valid? }
end
|
#validate! ⇒ void
This method returns an undefined value.
213
214
215
|
# File 'lib/qonfig/data_set.rb', line 213
def validate!
thread_safe_access { validator.validate! }
end
|