with_ease 0.0.3 → 0.0.4

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: 44fc03afd4f77bdedbf359da249bb22cf3c80f9eef3f3cd7e24f90287a88536e
4
- data.tar.gz: 0002a8ed601d3a61917efdfee29ffe7c2a17b48a476bd3e832c85c42c0b242f7
3
+ metadata.gz: 5e01a06e7d3664b42c554856f9f14a424c739e15fa7463cb3afb59b975d71095
4
+ data.tar.gz: 9375604296c49a99b23e7b504ed0c98cff36a9c0269519294ab5bf815726ac21
5
5
  SHA512:
6
- metadata.gz: b5c2c94c3f0610529fcdb0b570bbd44a19ca6cc9c0fbcbf9b0a0ed27263c21adf30b1c7c6509bcdc633e2bb893c2f900eae5a09bc9b3011c98a075067999c232
7
- data.tar.gz: 1f283686e92f306c47b13f94394ad359779342f7d31f4aa7deff37d323ba22bc2ce07d01c88ec423d14657141c894a53a9c25f89d52a11198e5e13ecafe71766
6
+ metadata.gz: 52a5632e7e4de8255098a3b82dfe158b6bc518b7e3a64ecc69b39d186a7a15bca82b18ba6aea8b4d3afb80ee57e9470e49f4f4f8658a714e8152fcf8f0ba66a8
7
+ data.tar.gz: c9009ed9fd714345ffac18bf42a97a574ec5753939b4a2f48edc6068efe17d36e61f3b271b4d7140384b0ea4656251d5e1db9577500687618fdcad85d3a8ff9a
@@ -9,7 +9,7 @@ module WithEase
9
9
  extend Forward
10
10
  include HashApi
11
11
 
12
- forward :deconstruct_keys, :fetch, :to_a, :to_h, to: :@data
12
+ forward :[], :[]=, :deconstruct_keys, :fetch, :to_a, :to_h, to: :@data
13
13
  forward :deconstruct, to: :to_a
14
14
 
15
15
  # def fetch(key, *defaults, &blk)
@@ -28,6 +28,12 @@ module WithEase
28
28
  def initialize(**data, &blk)
29
29
  @data = data.dup
30
30
  @keys = Set.new(data.keys)
31
+ (class << self; self; end).module_eval do
32
+ data.each do |k,|
33
+ define_method k do @data.fetch(k) end
34
+ define_method "#{k}=" do |val| @data[k] = val end
35
+ end
36
+ end
31
37
  end
32
38
 
33
39
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WithEase
4
- VERSION = "0.0.3"
4
+ VERSION = "0.0.4"
5
5
  end
6
6
  # SPDX-License-Identifier: AGPL-3.0-or-later
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: with_ease
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Dober