hash_ext 0.6.0 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
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