l43_core 0.2.8 → 0.2.10

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: 2dd4578a84afb33ca2b003c0cc34a03dbc5e54122a175878fbd7c492d710ed2a
4
+ data.tar.gz: c9477b4e0026974089b147f756453bfe75e89f62208428cbe7a24d264fa085ce
5
5
  SHA512:
6
- metadata.gz: c9f1df7fc23a3c72441d8d8925bb9da4a935c9efcf587d895c5fffd15292e047de69883021c129f886169c874e34b9569ddd42ea77c7ee308283764313943769
7
- data.tar.gz: ae91b218881c3a7c51dca2dfea95714b3c8380f74ada221ec0a5045b6c57b53c008f6dc6a5da59b550b706bd7c25e34816c342362f12cf25bd7b5a13bfb425d4
6
+ metadata.gz: 7fb97ba6e68c6c7dab55e92d871e35bc023bb7bbb53215b6160c9d0e8a1b5c37c623067dc9177bac9f7fb962f36173c3645f105107f9a736d4837c5083691d06
7
+ data.tar.gz: ca8b2fce17d5c0c4fd5aaf633b4ca97b7c06b9e63dd7f545bcae51c6fddf6dd03ad1968f065e8df59b84e15c4e38442be078aa333931f0252f9af457c25417b6
@@ -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,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Enumerable
4
+ def find_value(default = nil, &blk)
5
+ each do |element|
6
+ result = blk.(element)
7
+ return result if result
8
+ end
9
+
10
+ default
11
+ end
12
+ end
13
+ # SPDX-License-Identifier: AGPL-3.0-or-later
@@ -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.10"
6
6
  end
7
7
  end
8
8
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,13 +1,13 @@
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.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-04-15 00:00:00.000000000 Z
10
+ date: 2026-09-12 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ostruct
@@ -35,7 +35,9 @@ files:
35
35
  - lib/l43/core.rb
36
36
  - lib/l43/core/as_result.rb
37
37
  - lib/l43/core/enum.rb
38
+ - lib/l43/core/enum/enumerable.rb
38
39
  - lib/l43/core/enum/hash.rb
40
+ - lib/l43/core/enum/set.rb
39
41
  - lib/l43/core/enumerable_extensions.rb
40
42
  - lib/l43/core/extend_enumerable.rb
41
43
  - lib/l43/core/extend_object.rb
@@ -61,14 +63,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
61
63
  requirements:
62
64
  - - ">="
63
65
  - !ruby/object:Gem::Version
64
- version: 4.0.1
66
+ version: 4.0.2
65
67
  required_rubygems_version: !ruby/object:Gem::Requirement
66
68
  requirements:
67
69
  - - ">="
68
70
  - !ruby/object:Gem::Version
69
71
  version: '0'
70
72
  requirements: []
71
- rubygems_version: 4.0.9
73
+ rubygems_version: 4.0.19
72
74
  specification_version: 4
73
75
  summary: Core Functionality for L43 Ruby Tool
74
76
  test_files: []