l43_open_object 0.2.7 → 0.2.8

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: 1e8a361b980fb5f30b71d1638ca850e98064bd24a6fe8c03275a9e4ff1470508
4
- data.tar.gz: 4729ee0970899d0082179bb8be3fe33680ee23540bd87c3c5366e05d27a9acbf
3
+ metadata.gz: 240068b0df2618888660d12f9f1b8d032087e3063f6e0198a46046da794bdb1c
4
+ data.tar.gz: 92ebe8107c88a91de4e2a034d58a7a3fa357f3a2f24a97fca31aa90b88016fa6
5
5
  SHA512:
6
- metadata.gz: fc979712cd454e1d792e2e04ee49955f694652f4c1f7cd6e9518f1729c6f5986c46ce611048e17df26cfde1cbc768119b8e235e00ace65ba2d8d41a802b0f4f0
7
- data.tar.gz: c8442b589be6f50c4409b4780cf63b659623eb42ab139d94285bd488d1e3af7295bc494f1a3c6e25271c4c6907b287d0ed4d8af77eb7a7bcfbb84c0f75bc915d
6
+ metadata.gz: 0e406c09bda90dea1580a1b7e072ec009f245488fdaa25b6895395bf9bbbbb6cb47bcbb6ab9b3726f4bdfaecb738d425ab9a99fdc66f59d667199010551af1fb
7
+ data.tar.gz: deccbd050e3d939344d52d833cb42d0b84518504cde9fd83a79376f28d42626465c6e48c7ac9a835dbd2a38b85cdb96f67db99dc5a478cf26443d3e745d58a2b
@@ -6,7 +6,7 @@ module L43
6
6
  module OpenObject
7
7
  module Behavior
8
8
  extend Forwardable
9
- def_delegators :to_h, :each, :fetch, :slice
9
+ def_delegators :to_h, :[], :each, :fetch, :slice
10
10
 
11
11
  include Enumerable
12
12
 
@@ -43,6 +43,11 @@ module L43
43
43
  end
44
44
  end
45
45
 
46
+ def update_attribute_or(attribute, value, &blk)
47
+ return update_attribute(attribute, value) if self[attribute].nil?
48
+ update_attribute(attribute, blk.(self[attribute], value))
49
+ end
50
+
46
51
  def update_attribute_unless(attribute, condition, &blk)
47
52
  if condition
48
53
  self
@@ -4,7 +4,7 @@ require_relative 'open_object/initializer'
4
4
  require_relative 'open_object/behavior'
5
5
  module L43
6
6
  module OpenObject
7
- VERSION = "0.2.7"
7
+ VERSION = "0.2.8"
8
8
 
9
9
  def attributes(*atts, **defaults, &blk)
10
10
  attr_reader(*atts)
data/lib/l43.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'l43/open_object'
4
+ module L43
5
+ end
4
6
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: l43_open_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober