skn_utils 5.0.1 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -8
- data/lib/skn_container.rb +1 -5
- data/lib/skn_utils/dotted_hash.rb +5 -0
- data/lib/skn_utils/version.rb +1 -1
- data/lib/skn_utils.rb +2 -2
- data/spec/lib/skn_utils/container_spec.rb +2 -2
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 498322a3978e71255bc0dee116f9f6afbac274ea
|
4
|
+
data.tar.gz: 3b5a83bffd147c838a9adea0329b4775d57c1b76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3845e5d919d1857b2492761fcbaede0e8539c87b0eaff558d81f1e0abf9ee8c6c82787054c2e23cb1d4ed7ad606eae461dbdf925d5012da7158bc051f7579578
|
7
|
+
data.tar.gz: 81a46d7cc67480e2b71e7185118be4f1c9fd0cd989af7ce97d83f528c8be3543a8f0a8cfab6763d81e254290f0ff753b712a3ec82e94a7c220226548d88427c9
|
data/README.md
CHANGED
@@ -44,7 +44,7 @@ There are many more use cases for Ruby's Hash that this gem just makes easier to
|
|
44
44
|
|
45
45
|
#### Available Classes
|
46
46
|
* SknSuccess
|
47
|
-
|
47
|
+
* SknFailure
|
48
48
|
* SknSettings
|
49
49
|
* SknUtils::Configurable
|
50
50
|
* SknUtils::EnvStringHandler
|
@@ -127,18 +127,21 @@ There are many more use cases for Ruby's Hash that this gem just makes easier to
|
|
127
127
|
|
128
128
|
## Public Components
|
129
129
|
SknUtils::NestedResult # Primary Key/Value Container with Dot/Hash notiation support.
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
SknSettings # Multi-level application Configuration class, Key/Value Container with Dot/Hash notiation support.
|
130
|
+
SknHash # Wrapper for name only, WITHOUT SknUtils namespace, inherits from SknUtils::NestedResult
|
131
|
+
SknUtils::ResultBean # Wrapper for name only, inherits from SknUtils::NestedResult
|
132
|
+
SknUtils::PageControls # Wrapper for name only, inherits from SknUtils::NestedResult
|
133
|
+
SknUtils::DottedHash # Wrapper for name only, inherits from SknUtils::NestedResult
|
135
134
|
|
136
135
|
SknUtils::Configurable # Basic one-level configuration Applications classes or modules. Adds MyClass.root,MyClass.env, and MyClass.logger, with MyClass.config.<user_attrs>
|
137
|
-
|
136
|
+
|
137
|
+
SknSettings # Multi-level application Configuration class, Key/Value Container with Dot/Hash notiation support.
|
138
|
+
|
138
139
|
SknContainer # Basic Key/Value container which #registers and #resolves procs, classes, and/or object
|
140
|
+
|
139
141
|
SknSuccess # Three attribute value containers for return codes -- #success, #message, #value
|
140
142
|
SknFailure # Three attribute value containers for return codes -- #success, #message, #value
|
141
143
|
|
144
|
+
|
142
145
|
## Configuration Options
|
143
146
|
None required other than initialization hash
|
144
147
|
|
@@ -161,7 +164,7 @@ There are many more use cases for Ruby's Hash that this gem just makes easier to
|
|
161
164
|
#resolve(key)
|
162
165
|
- example:
|
163
166
|
klass = SknContainer.resolve(:some_klass)
|
164
|
-
|
167
|
+
instance = SknContainer.resolve(:some_klass).new
|
165
168
|
|
166
169
|
obj_instance1 = SknContainer.resolve(:unique_instance)
|
167
170
|
obj_instance2 = SknContainer.resolve(:unique_instance)
|
data/lib/skn_container.rb
CHANGED
@@ -72,11 +72,7 @@ class << (SknContainer = Concurrent::Hash.new)
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def resolve(key)
|
75
|
-
|
76
|
-
fail ArgumentError, "Nothing registered with the name #{key}"
|
77
|
-
end
|
78
|
-
|
79
|
-
content.call
|
75
|
+
self.fetch(key) {|k| nil }&.call
|
80
76
|
end
|
81
77
|
|
82
78
|
end
|
data/lib/skn_utils/version.rb
CHANGED
data/lib/skn_utils.rb
CHANGED
@@ -15,6 +15,8 @@ unless defined?(Rails)
|
|
15
15
|
end
|
16
16
|
require 'skn_utils/core_extensions'
|
17
17
|
require 'skn_utils/env_string_handler'
|
18
|
+
require 'skn_success'
|
19
|
+
require 'skn_failure'
|
18
20
|
require 'skn_utils/nested_result'
|
19
21
|
require 'skn_utils/result_bean'
|
20
22
|
require 'skn_utils/page_controls'
|
@@ -26,8 +28,6 @@ require 'skn_utils/configurable'
|
|
26
28
|
require 'skn_hash'
|
27
29
|
require 'skn_container'
|
28
30
|
require 'skn_settings'
|
29
|
-
require 'skn_success'
|
30
|
-
require 'skn_failure'
|
31
31
|
|
32
32
|
module SknUtils
|
33
33
|
|
@@ -51,9 +51,9 @@ describe SknContainer, "IoC Lite Container module." do
|
|
51
51
|
expect( val_a ).to be_equal val_b
|
52
52
|
end
|
53
53
|
|
54
|
-
it "#resolve
|
54
|
+
it "#resolve returns nil when key is not found. " do
|
55
55
|
subject.register(:service_a, "AnyValue")
|
56
|
-
expect
|
56
|
+
expect(subject.resolve(:no_find)).to be_nil
|
57
57
|
end
|
58
58
|
|
59
59
|
it "#resolve returns block without calling it first. " do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skn_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Scott Jr
|
@@ -173,6 +173,7 @@ files:
|
|
173
173
|
- lib/skn_utils/configurable.rb
|
174
174
|
- lib/skn_utils/configuration.rb
|
175
175
|
- lib/skn_utils/core_extensions.rb
|
176
|
+
- lib/skn_utils/dotted_hash.rb
|
176
177
|
- lib/skn_utils/env_string_handler.rb
|
177
178
|
- lib/skn_utils/nested_result.rb
|
178
179
|
- lib/skn_utils/notifier_base.rb
|