Class: ComplexConfig::Settings
- Inherits:
-
JSON::GenericObject
- Object
- JSON::GenericObject
- ComplexConfig::Settings
show all
- Includes:
- Enumerable
- Defined in:
- lib/complex_config/settings.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(id, *a, &b) ⇒ Object
Class Method Details
.[](*a) ⇒ Object
5
6
7
|
# File 'lib/complex_config/settings.rb', line 5
def self.[](*a)
from_hash *a
end
|
Instance Method Details
#attribute_names ⇒ Object
18
19
20
|
# File 'lib/complex_config/settings.rb', line 18
def attribute_names
table.keys
end
|
#attribute_set?(name) ⇒ Boolean
14
15
16
|
# File 'lib/complex_config/settings.rb', line 14
def attribute_set?(name)
table.key?(name.to_sym)
end
|
#attribute_values ⇒ Object
22
23
24
|
# File 'lib/complex_config/settings.rb', line 22
def attribute_values
table.values
end
|
#deep_freeze ⇒ Object
38
39
40
41
42
43
|
# File 'lib/complex_config/settings.rb', line 38
def deep_freeze
each do |_, v|
v.ask_and_send(:deep_freeze) || (v.freeze rescue v)
end
freeze
end
|
#each(&block) ⇒ Object
9
10
11
|
# File 'lib/complex_config/settings.rb', line 9
def each(&block)
table.each(&block)
end
|
#to_h ⇒ Object
26
27
28
29
30
|
# File 'lib/complex_config/settings.rb', line 26
def to_h
each_with_object({}) do |(k, v), h|
h[k] = v.ask_and_send(:to_h) || v
end
end
|
#to_s ⇒ Object
Also known as:
inspect
32
33
34
|
# File 'lib/complex_config/settings.rb', line 32
def to_s
to_h.to_yaml
end
|