l43_core 0.2.8 → 0.2.9

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: '059c5bc8555203b70a7bbdd1e6ec6b4cd695534b56cafef3a29cc432737eca83'
4
- data.tar.gz: a491e77289afce90def6e2226051cf663312fd13b02b375a8236908620cd23cc
3
+ metadata.gz: d93e414d971144c9a3cf26902ce213ca27007ec9a2daa9b0cd9825ea9b5cd697
4
+ data.tar.gz: 220db052aedb48b1a123edf68514268b3e32f29e82905d39562bc57e621bbd1b
5
5
  SHA512:
6
- metadata.gz: c9f1df7fc23a3c72441d8d8925bb9da4a935c9efcf587d895c5fffd15292e047de69883021c129f886169c874e34b9569ddd42ea77c7ee308283764313943769
7
- data.tar.gz: ae91b218881c3a7c51dca2dfea95714b3c8380f74ada221ec0a5045b6c57b53c008f6dc6a5da59b550b706bd7c25e34816c342362f12cf25bd7b5a13bfb425d4
6
+ metadata.gz: 4336c88bd3e134bcd21c7f926ef4f7690c033ccb704c719329d597bc50e58c567dde61c9eca9f980565dd1e2da13270e9de9cda078190dbed6159ccfae97bd98
7
+ data.tar.gz: c231ba9b031d606f0aff9c5018b46d16b5c6cddadc89d9fd22df30fe744bb27371129168e2f83da04cc001eced9780c76807091ef8e34281ceec07df3001753c
@@ -15,7 +15,7 @@ module L43
15
15
  Failure.new(
16
16
  exception: se,
17
17
  message: [se.inspect, name, "at #{blk.source_location}"].compact.join("\n"),
18
- location: [caller, Stack.trace(se.backtrace_locations)].compact.join("\t\n")
18
+ location: [caller, *se.backtrace_locations].compact.join("\t\n")
19
19
  )
20
20
  end
21
21
 
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../none'
4
+ require_relative '../result'
5
+
6
+ class Set
7
+ def fetch_any(*keys)
8
+ keys = keys.flatten
9
+ raise ArgumentError, "no keys provided to look for" if keys.empty?
10
+
11
+ keys.each do |key|
12
+ return L43::Core::Result.ok(true) if member? key
13
+ end
14
+
15
+ L43::Core::Result.error "none of #{keys.inspect} is a member of #{self}"
16
+ end
17
+
18
+ def fetch_any!(*keys)
19
+ case fetch_any(*keys)
20
+ in :ok, result
21
+ result
22
+ in :error, error
23
+ raise KeyError, error
24
+ end
25
+ end
26
+ end
27
+ # SPDX-License-Identifier: AGPL-3.0-or-later
@@ -2,7 +2,7 @@
2
2
 
3
3
  module L43
4
4
  module Core
5
- VERSION = "0.2.8"
5
+ VERSION = "0.2.9"
6
6
  end
7
7
  end
8
8
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
@@ -36,6 +36,7 @@ files:
36
36
  - lib/l43/core/as_result.rb
37
37
  - lib/l43/core/enum.rb
38
38
  - lib/l43/core/enum/hash.rb
39
+ - lib/l43/core/enum/set.rb
39
40
  - lib/l43/core/enumerable_extensions.rb
40
41
  - lib/l43/core/extend_enumerable.rb
41
42
  - lib/l43/core/extend_object.rb