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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 909a823062d4f9798fcdd311a66150ba6ab8d9c7
4
- data.tar.gz: b4fb998ff089836a7b7760ddc1741527338272d4
3
+ metadata.gz: 498322a3978e71255bc0dee116f9f6afbac274ea
4
+ data.tar.gz: 3b5a83bffd147c838a9adea0329b4775d57c1b76
5
5
  SHA512:
6
- metadata.gz: 68d2d352112cdfc76966e4b868639fc855f757679c8d4fcddb016f6af7ae8a9f82dd901034fefb9fad107322e9151174e6713e78fce46b816d0c4290832b0934
7
- data.tar.gz: 4dcdde155be60d80582ff95e398c4717771f093f488fbd498665806f5de6a1b63af52de0f05b6c38e4c2bfac3d2cfa77739b0765efaf243e57799d7a067692cf
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
- # SknFailure
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
- 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
-
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
- result = SknContainer.resolve(:some_klass).new
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
- content = self.fetch(key) do
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
@@ -0,0 +1,5 @@
1
+
2
+ module SknUtils
3
+ class DottedHash < NestedResult
4
+ end
5
+ end
@@ -3,7 +3,7 @@ module SknUtils
3
3
  class Version
4
4
  MAJOR = 5
5
5
  MINOR = 0
6
- PATCH = 1
6
+ PATCH = 2
7
7
 
8
8
  def self.to_s
9
9
  [MAJOR, MINOR, PATCH].join('.')
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 raises ArgumentError when key is not found. " do
54
+ it "#resolve returns nil when key is not found. " do
55
55
  subject.register(:service_a, "AnyValue")
56
- expect{subject.resolve(:no_find)}.to raise_error ArgumentError
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.1
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