hash_ext 0.6.0 → 0.6.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: 97edf774c7ae90b8d8dd27030b1df0b025186e35028c7e5933a1ebf4e63f0c1c
4
- data.tar.gz: 1a5ba2d621c3eb1d786f7870130274f2b1d522cab2e1bd61ced2a75f2dbaf904
3
+ metadata.gz: 99fff501a3fca91d49b7506705477c1fefcbf3c8b0ee72f7262da7857a41d00e
4
+ data.tar.gz: 495e26e293b9534a261026537848bd674873c09a77d766d19941a9d7068405c1
5
5
  SHA512:
6
- metadata.gz: 40d2e0967ecc8a5c73efe22bc29bdf5184e411adc189f555d182d46a31639556802be0daa7f67a239110e55558583fa4598d3bb75f3846b36381578a671018a2
7
- data.tar.gz: 5ff8c56fa6e3729927714f7713bf88540ed718ac1cd0c2814e220ce7b8c815738cd89e33c81281fd726d23a5e5c492d8798ab5230dd002d122bd7e4f259ab242
6
+ metadata.gz: 795a80a5c4bfd86e24095fd4e5231a711dcbf25a5a87cd3fc68ffc686a7aa1f7392d7b9ca5c985a8a33dd943ad02b9e082156bdba88be81b9c74855e3bba6482
7
+ data.tar.gz: 71ebaa63fbfb78e8d58cf280c5999ef84a82cc30d06753a4fc84e961cade3553f8229514777bcb0c1370dfb5c02690b3b3de758fe43c63217fbcb0d826f20169
@@ -1,6 +1,6 @@
1
1
  class Hash
2
2
  class Builder
3
-
3
+
4
4
  def initialize
5
5
  @hash = {}
6
6
  @scopes = []
@@ -4,7 +4,7 @@ class Hash
4
4
  include DeepFreezable
5
5
 
6
6
  def [](key)
7
- if key? key
7
+ if key? key
8
8
  super(key)
9
9
  else
10
10
  self[key] = Nested.new
@@ -54,10 +54,10 @@ class Hash
54
54
  end
55
55
 
56
56
  def dig(*keys)
57
- normalized_key = keys.map { |k| normalize_key(k) }
58
- normalized_key.inject(self) do |target, key|
57
+ normalized_keys = keys.map { |k| normalize_key(k) }
58
+ normalized_keys.inject(self) do |target, key|
59
59
  target ? target[key] : nil
60
- end
60
+ end
61
61
  end
62
62
 
63
63
  def to_h
@@ -73,8 +73,10 @@ class Hash
73
73
  end
74
74
 
75
75
  def normalize_value(value)
76
- if value.kind_of? Hash
77
- self.class.new value
76
+ if value.is_a? self.class
77
+ value
78
+ elsif value.kind_of? Hash
79
+ self.class.new value, &@normalization_block
78
80
  elsif value.kind_of? Array
79
81
  value.map { |v| normalize_value v }
80
82
  else
@@ -7,12 +7,12 @@ class Hash
7
7
 
8
8
  def_delegators :@hash, :[], :[]=, :value?, :fetch, :values_at,
9
9
  :key?, :include?, :empty?,
10
- :delete, :delete_if, :clear,
10
+ :delete, :delete_if, :clear,
11
11
  :merge, :merge!, :update, :store, :replace,
12
12
  :count, :size, :length,
13
13
  :==, :eql, :hash
14
-
15
- def_delegators :to_h, :to_a, :to_s, :inspect,
14
+
15
+ def_delegators :to_h, :to_a, :to_s, :inspect,
16
16
  :select, :reject, :flatten,
17
17
  :as_json, :to_json
18
18
 
@@ -56,7 +56,7 @@ class Hash
56
56
  attr_reader :direction, :sort_criteria
57
57
 
58
58
  class << self
59
-
59
+
60
60
  def ascending(hash={}, &sort_criteria)
61
61
  new hash, :asc, &sort_criteria
62
62
  end
@@ -1,3 +1,3 @@
1
1
  module HashExt
2
- VERSION = '0.6.0'
2
+ VERSION = '0.6.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hash_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-12 00:00:00.000000000 Z
11
+ date: 2020-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake