l43_core 0.2.2 → 0.2.3
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 +4 -4
- data/lib/l43/core/extend_object.rb +9 -0
- data/lib/l43/core/object_extensions.rb +41 -0
- data/lib/l43/core/version.rb +1 -1
- data/lib/l43/errors.rb +4 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ee9cdeab020aa5876a85d6634206ce6ef106e0c1eefeb924753f2dfa8df1cbca
|
|
4
|
+
data.tar.gz: d8ff86f355848b818aee9ca43e5c3641f72dda441ee2bf050e11983c16197147
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8197be7b6b633cc7d69712d03db1f578b0ca6cd7c13d05882228c4d06f296d5d128fbb01da3735ec811b6318d49f335347c7d2e757be653fe6c39560dfdc332
|
|
7
|
+
data.tar.gz: 85ddf2ebdf2da119776fe575d1acc2f61e41098826cfd921ca306544c7710ff3ca5ae4c0a42859e3b2301d26c50f2347aafb5b2f5dc6ed3d791720b04b819f0f
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative '../errors'
|
|
4
|
+
module L43
|
|
5
|
+
module Core
|
|
6
|
+
module ObjectExtensions
|
|
7
|
+
|
|
8
|
+
def instance_variables_set(*names, **from)
|
|
9
|
+
# check
|
|
10
|
+
names.each do
|
|
11
|
+
ivar = "@#{it}"
|
|
12
|
+
raise InstanceVariableOverride,
|
|
13
|
+
"must not override existing instance variable #{ivar}" if instance_variable_defined?(ivar)
|
|
14
|
+
raise MissingValue,
|
|
15
|
+
"must provide a value for instance variable #{ivar} in keyword args: #{from.inspect}" unless
|
|
16
|
+
from.has_key?(it)
|
|
17
|
+
end
|
|
18
|
+
# execute
|
|
19
|
+
names.each do
|
|
20
|
+
ivar = "@#{it}"
|
|
21
|
+
instance_variable_set(ivar, from[it])
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def instance_variables_set!(*names, **from)
|
|
26
|
+
# check
|
|
27
|
+
names.each do
|
|
28
|
+
ivar = "@#{it}"
|
|
29
|
+
"must provide a value for instance variable #{ivar} in keyword args: #{from.inspect}" unless
|
|
30
|
+
from.has_key?(it)
|
|
31
|
+
end
|
|
32
|
+
# execute
|
|
33
|
+
names.each do
|
|
34
|
+
ivar = "@#{it}"
|
|
35
|
+
instance_variable_set(ivar, from[it])
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
data/lib/l43/core/version.rb
CHANGED
data/lib/l43/errors.rb
CHANGED
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.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Robert Dober
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-04-
|
|
10
|
+
date: 2026-04-14 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: ostruct
|
|
@@ -36,8 +36,10 @@ 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/extend_object.rb
|
|
39
40
|
- lib/l43/core/forwarder.rb
|
|
40
41
|
- lib/l43/core/none.rb
|
|
42
|
+
- lib/l43/core/object_extensions.rb
|
|
41
43
|
- lib/l43/core/result.rb
|
|
42
44
|
- lib/l43/core/result/constructors.rb
|
|
43
45
|
- lib/l43/core/result/failure.rb
|