hash_wia 0.8.3 → 0.8.5

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: d5930dc95d402ba16463fb44dad2ab7040ebf609e2ec9029f3e7b273ca02f169
4
- data.tar.gz: 6aab0064805ad56568bb47b3b4e7ff5a4621c79f14ad4877a60fef5148164d9e
3
+ metadata.gz: 9940f7179d7a0bd3fca3d3e316245a3a95aab1f5d0dbf7fdb8151f0e53f6f09f
4
+ data.tar.gz: 47d54c37abc1ce7a0cfcdaf03568c9259b3494cae37a08622a492cbefa24949a
5
5
  SHA512:
6
- metadata.gz: e8bd2458e7f9ae1aa7e15053ce4faa423376ada1c7e319b1595eaf0e908b68f8e78ae917e3a25e90fc86b506077f234dab4018e9af1faa778f6f0c8001c6e2cc
7
- data.tar.gz: 93dfaaff3e99a4fe826d27f81323fdaf5a7239ffb5dfe1499e1ed5e162e54c1c4ad9d883f4f6d0ebea422a8f3b1f3add731e0d9552a54ee9ac9d3344331eb250
6
+ metadata.gz: 107b7669b62a6b949b7bcaea724657031b449d5aa1f6ba7feb9535978d5cab8b7680c1455947446780d10d47b55310ae06cdc3cf632a65f2c2023acd3e4cf68e
7
+ data.tar.gz: 81932ca9a8ec3a9fa6ebd4ba41a58fa0fb407a9e36520a97959776c2bc9a0f1e8b26a5c70a3299f972dc8e3aae7d2a4400e83b75604caa069ec9f5ae1c155a40
data/.version CHANGED
@@ -1 +1 @@
1
- 0.8.3
1
+ 0.8.5
@@ -1,10 +1,4 @@
1
1
  module HashWiaModule
2
- def initialize hash=nil
3
- if hash
4
- hash.each { |k,v| self[k] = v }
5
- end
6
- end
7
-
8
2
  # overload common key names with
9
3
  %i(size length zip minmax store cycle chunk sum uniq chain).each do |el|
10
4
  define_method el do
@@ -28,6 +22,7 @@ module HashWiaModule
28
22
 
29
23
  def []= key, value
30
24
  key = key.to_s unless key.class == Symbol
25
+ delete(key.to_s).nil? && delete(key.to_sym)
31
26
  super key, value
32
27
  end
33
28
 
@@ -56,7 +51,9 @@ module HashWiaModule
56
51
  end
57
52
 
58
53
  def merge hash
59
- dup.tap do |h|
54
+ dup
55
+ .extend(HashWiaModule)
56
+ .tap do |h|
60
57
  hash.each { |k, v| h[k.to_s] = v }
61
58
  end
62
59
  end
@@ -3,7 +3,7 @@ class Hash
3
3
  # { foo: :bar }.to_hwia :foo, :bar # create struct and fill
4
4
  def to_hwia *args
5
5
  if args.first.nil?
6
- HashWia.new self
6
+ self.extend HashWiaModule
7
7
  else
8
8
  list = args.map(&:to_s).flatten
9
9
  extra = keys.map(&:to_s) - list
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hash_wia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dino Reic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-04 00:00:00.000000000 Z
11
+ date: 2024-02-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Gem provides simple access to common Ruby hash types bundled in one simple
14
14
  class
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0'
43
43
  requirements: []
44
- rubygems_version: 3.5.3
44
+ rubygems_version: 3.4.10
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: Hash with indifferent access + goodies