refinements 12.0.0 → 12.0.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: a497496f7842bab471ed5d7703054c050aad5d62dcdc317678d4d40d871dbefe
4
- data.tar.gz: 117975da807b741ff3b9dff8d585dbba8d00243af81f7c8daf964cda0de6b7b9
3
+ metadata.gz: 47bc3f7ccc3358f2f2d4e460f54cfca8df6d61591c23ffcc045f25553a8042fb
4
+ data.tar.gz: e2a45a52cacf3f25d0669fbc26a1c7c6fd910ffde9b99a5f492288da1578ede4
5
5
  SHA512:
6
- metadata.gz: bf13a20ac2e6f6849ab0ae65929f0574c6569cf5840e8aada271f63749326c319531c1e6a572b9bad2526cfb5280df48d9f1ee638a4cff87105e2429edad2d23
7
- data.tar.gz: 6b07855b0b39fe4d45509e9cbc11c8e7392a686cd485b73cab3c6134ad6d709f3355cb0b3f18bff81becbfb87058c8f3e0e872ad7db69a657a1c25e8d1390533
6
+ metadata.gz: 0613be51ea01d39789f44b5e7a7b1ee2b2d51ecd99e8060127a2e27b0273fc33f68537ac811a9f6b3f1a1caa927ecca9647c1d0b8a3bc951b02930373dc06d94
7
+ data.tar.gz: efddb442981da3c05360993f25d87cbbe4dff0d783f94414e80f83b6856877ed1500bb90fd999d60ed6cb00769abea00e291308b4afefd943b9a04de5d7e532c
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -575,12 +575,13 @@ expression `example.fetch(:desired_key) || "default_value"`.
575
575
 
576
576
  [source,ruby]
577
577
  ----
578
- {a: "demo"}.fetch_value :a, "default" # "demo"
579
- {a: "demo"}.fetch_value :a # "demo"
580
- {a: nil}.fetch_value :a, "default" # "default"
581
- {}.fetch_value(:a) { "default" } # "default"
582
- {}.fetch_value :a # KeyError
583
- {a: "demo"}.fetch_value # ArgumentError
578
+ {a: "demo"}.fetch_value :a, "default" # "demo"
579
+ {a: "demo"}.fetch_value :a # "demo"
580
+ {a: nil}.fetch_value :a, "default" # "default"
581
+ {a: nil}.fetch_value(:a) { "default" } # "default"
582
+ {}.fetch_value :a # KeyError
583
+ {}.fetch_value(:a) { "default" } # "default"
584
+ {a: "demo"}.fetch_value # ArgumentError
584
585
  ----
585
586
 
586
587
  ===== #flatten_keys
@@ -51,7 +51,9 @@ module Refinements
51
51
  each.with_object({}) { |(key, value), diff| diff[key] = [value, nil] }
52
52
  end
53
53
 
54
- def fetch_value(key, *default, &) = fetch(key, *default, &) || default.first
54
+ def fetch_value(key, *default, &)
55
+ fetch(key, *default, &) || (yield if block_given?) || default.first
56
+ end
55
57
 
56
58
  def flatten_keys prefix: nil, delimiter: "_"
57
59
  reduce({}) do |accumulator, (key, value)|
data/refinements.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "refinements"
5
- spec.version = "12.0.0"
5
+ spec.version = "12.0.1"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/refinements"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinements
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.0.0
4
+ version: 12.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-01-01 00:00:00.000000000 Z
38
+ date: 2024-01-13 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
41
  email:
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
- rubygems_version: 3.5.3
94
+ rubygems_version: 3.5.4
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: A collection of core Ruby object refinements.
metadata.gz.sig CHANGED
Binary file