nxt_registry 0.2.0 → 0.2.1

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
  SHA256:
3
- metadata.gz: 3643055d95f31f6addec18700fd8d7d9157bc4f97848acef8340c11668cfa3df
4
- data.tar.gz: 25018d4d1f657991137e0c94bf8afacaca70dcd44008ff6cb96783ea82aa064d
3
+ metadata.gz: 6851c2c3d6dde7438aa6abe438153d4126ea962f948d472a37d8b958830390f3
4
+ data.tar.gz: '02158d50dd9af0686bd4427e1c41853dca588e686b9a02381263c94700093398'
5
5
  SHA512:
6
- metadata.gz: 74aefe510917560c5dbc3686834ce64aeb815e8f67d99718f6abf38dd08d639f9a8bba14f3cd2275f7f790b3b853b0207006888ee9303ed4d4b706e99d6e1d8b
7
- data.tar.gz: 2225edb2af2a5493b90642934d415115a8577043f69fa329bfe99c0676997d4ad68c023c1c79fc1552519a2ed50a5478ebe440ad936ee5832956a27ebad1caec
6
+ metadata.gz: 04c65be146020a7e3c1e1fa6587cdb9efb0c4b2ab6d76741855fe99a0246e4a5ace755c3184678164f388d41a45ddc6a03c39298c0038ecf13e454f77a5deb74
7
+ data.tar.gz: f992919cf0d07da41e411b7dff32410678b664f4a12a47e350e0d51e239c6864eaeb549aca4518eae1f122640b99274897e6bc4b39bb6889634e6a32ee137931
@@ -1,3 +1,12 @@
1
+ # v0.2.1 2020-08-14
2
+
3
+ ### Fixed
4
+
5
+ - Fixed Registry#fetch to raise key error in case of missing key
6
+
7
+ [Compare v0.2.0...v0.2.1](https://github.com/nxt-insurance/nxt_registry/compare/v0.2.0...v0.2.1)
8
+
9
+
1
10
  # v0.2.0 2020-07-24
2
11
 
3
12
  ### Added
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nxt_registry (0.2.0)
4
+ nxt_registry (0.2.1)
5
5
  activesupport
6
6
 
7
7
  GEM
@@ -14,7 +14,7 @@ GEM
14
14
  tzinfo (~> 1.1)
15
15
  zeitwerk (~> 2.2, >= 2.2.2)
16
16
  coderay (1.1.3)
17
- concurrent-ruby (1.1.6)
17
+ concurrent-ruby (1.1.7)
18
18
  diff-lcs (1.4.4)
19
19
  i18n (1.8.5)
20
20
  concurrent-ruby (~> 1.0)
@@ -4,7 +4,7 @@ module NxtRegistry
4
4
  @name = name
5
5
  @parent = options[:parent]
6
6
  @is_leaf = true
7
- @namespace = parent ? name.to_s.prepend("#{parent.send(:namespace)}.") : name.to_s
7
+ @namespace = build_namespace
8
8
  @config = config
9
9
  @options = options
10
10
  @store = {}
@@ -29,9 +29,9 @@ module NxtRegistry
29
29
 
30
30
  default.call
31
31
  elsif default.is_a?(NestedRegistryBuilder)
32
- raise ArgumentError, "Multiple nestings on the same level"
32
+ raise ArgumentError, 'Multiple nestings on the same level'
33
33
  else
34
- raise ArgumentError, "Default values cannot be defined on registries that nest others"
34
+ raise ArgumentError, 'Default values cannot be defined on registries that nest others'
35
35
  end
36
36
  end
37
37
 
@@ -93,8 +93,8 @@ module NxtRegistry
93
93
  store.exclude?(transformed_key(key))
94
94
  end
95
95
 
96
- def fetch(key, **opts, &block)
97
- store.fetch(transformed_key(key), **opts, &block)
96
+ def fetch(key, *args, &block)
97
+ store.fetch(transformed_key(key), *args, &block)
98
98
  end
99
99
 
100
100
  delegate :size, :values, :each, to: :store
@@ -131,8 +131,9 @@ module NxtRegistry
131
131
  def __register(key, value, raise: true)
132
132
  key = transformed_key(key)
133
133
 
134
- raise ArgumentError, "Not allowed to register values in a registry that contains nested registries" unless is_leaf
134
+ raise ArgumentError, 'Not allowed to register values in a registry that contains nested registries' unless is_leaf
135
135
  raise KeyError, "Keys are restricted to #{attrs.keys}" if attribute_not_allowed?(key)
136
+
136
137
  on_key_already_registered && on_key_already_registered.call(key) if store[key] && raise
137
138
 
138
139
  store[key] = value
@@ -214,7 +215,6 @@ module NxtRegistry
214
215
  def define_accessors
215
216
  %w[default memoize call resolver transform_keys on_key_already_registered on_key_not_registered].each do |attribute|
216
217
  define_singleton_method attribute do |value = Blank.new, &block|
217
- # TODO: Allowing a block does not make sense for memoize and call?!
218
218
  value = block if block
219
219
 
220
220
  if value.is_a?(Blank)
@@ -268,5 +268,9 @@ module NxtRegistry
268
268
  @store = original.send(:store).deep_dup
269
269
  @options = original.send(:options).deep_dup
270
270
  end
271
+
272
+ def build_namespace
273
+ parent ? name.to_s.prepend("#{parent.send(:namespace)}.") : name.to_s
274
+ end
271
275
  end
272
276
  end
@@ -1,3 +1,3 @@
1
1
  module NxtRegistry
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nxt_registry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Robecke
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2020-07-27 00:00:00.000000000 Z
14
+ date: 2020-08-14 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport