l43_open_object 0.4.0 → 0.4.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: 4de3a4790f943a126eec581676c8b3dfcfb19ee6a300baba9bc5d93a7e43d084
4
- data.tar.gz: 7da96a9783f76cf20571dec4808dcf33e3690e399d20e320cc51e0445bee3860
3
+ metadata.gz: 95b9f9f06a9cf81bef5b6d44c7abc1cb5daade2058c6ec45167efcd288828988
4
+ data.tar.gz: 5e31671f77b5f9fadc0d917da7f5a8260984d15b5b10b399e3dc2197eb84eae5
5
5
  SHA512:
6
- metadata.gz: 25f70fda2074d8008c758d0614c4448e921212591ec049148b09ad517ca0d1eedf72209e6bc05acdf4f3e81ac99c69d04597bdf07362de314663c0a7c2bad1cf
7
- data.tar.gz: b8004ec9f68be0978e5b3d036a441c2a845d3550d5cfa0b3bc26467dd8132f5b1940fef68616ecec5b1ab6725e4740fc251cadf7b7a44a7b83ac4bab161f0e22
6
+ metadata.gz: ced2381e821ae4817fe7d1e276d56281d6ad529b440784ce7b8d5187f4d56b0018311698d358c89e79c843d43757910d10316883c4df391485cb35bf8b253438
7
+ data.tar.gz: eae254b0673751c30183948676d1f551345b41610ede920a0a0bf23354596cfe5d659c38db17b12b02a6d84d13f300a758d195a36e55f59969b540cc429a7160
@@ -2,7 +2,7 @@
2
2
 
3
3
  module L43
4
4
  module OpenObject
5
- VERSION = "0.4.0"
5
+ VERSION = "0.4.1"
6
6
  end
7
7
  end
8
8
  # SPDX-License-Identifier: AGPL-3.0-or-later
@@ -15,6 +15,7 @@ module L43
15
15
  self.class.new(**to_h.merge(**args))
16
16
  end
17
17
 
18
+ def to_hash = to_h
18
19
 
19
20
  def to_ostruct
20
21
  OpenStruct.new(to_h)
@@ -10,6 +10,24 @@ module L43
10
10
  desc.check_types!
11
11
  desc.implement
12
12
  end
13
+
14
+ class << self
15
+ def from_atts(*att_list)
16
+ make do
17
+ att_list.each do |name, atts|
18
+ attr name, **atts
19
+ end
20
+ end
21
+ end
22
+
23
+ def make(&blk)
24
+ typed_object = self
25
+ Class.new do
26
+ extend typed_object
27
+ def_atts(&blk)
28
+ end
29
+ end
30
+ end
13
31
  end
14
32
  end
15
33
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_open_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-11-01 00:00:00.000000000 Z
10
+ date: 2026-11-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ostruct