skn_utils 5.0.1 → 5.0.2

Sign up to get free protection for your applications and to get access to all the features.
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