nxt_registry 0.2.0 → 0.2.1

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
  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