clean-hash 0.5.9 → 0.5.10

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: 504ba0826c7c49fb67852d5727cee9c8eababa06ca8bfe16d549a1d2324635da
4
- data.tar.gz: 73d2a4313ea7894e3c5e6a213c7795a9d55c0c1c4b212b47eb40589ddec92f1c
3
+ metadata.gz: 5aa268efe06af7303de7c0682b5a2609d24200031d735f4656a367def8e40107
4
+ data.tar.gz: 9cd5fad76a9cbecc2809b5c66882d18d19f88c2f7fca85d61aa583a5528ecea1
5
5
  SHA512:
6
- metadata.gz: 8be703db8baadcf96226318759def32120eef6ba618e3eda2f995c96ba01e237fb3bb7939305b68113992d0ffac0b1b426d49e7c1188208ac0eac1ede74b96d7
7
- data.tar.gz: 790cf981f6050241151116bd468ea69c947b9fa7d3ca497e7fe3b5d29e9f6a978069564c4d94d0c9bd0e129fba6593e1bf979762f61bed2b8447a524533cb29b
6
+ metadata.gz: cfc3ed70a5f0e28ee81ab9510f01e239839bf006028984ba225dc7c998500cd2c07d17095afb6c6e7edde75e7113c74405969b39bda13f7b8ddec1b50759797e
7
+ data.tar.gz: 514436d07e37905ef9d57079db2e3a98ccde96ac58b5d8ee4645654d0f71d56b622adae29add383f7b56c3176c95773b599e61e84b0c2b40a1dc8b97449e1a75
data/.version CHANGED
@@ -1 +1 @@
1
- 0.5.9
1
+ 0.5.10
@@ -71,8 +71,14 @@ class CleanHash
71
71
  elsif block
72
72
  self[m] = block
73
73
  else
74
- self[m]
74
+ _method_missing_key m
75
75
  end
76
76
  end
77
+
78
+ private
79
+
80
+ def _method_missing_key key
81
+ self[key]
82
+ end
77
83
  end
78
84
  end
@@ -2,15 +2,17 @@
2
2
 
3
3
  class CleanHash
4
4
  class Strict < Indifferent
5
- def [] key
6
- _check_key_existance key
7
- super
8
- end
9
-
10
- private
11
-
12
- def _check_key_existance key
13
- raise ArgumentError.new('Key not found: %s' % key) unless key?(key)
5
+ private
6
+
7
+ # raise error if accessing hash with method and key not found
8
+ # stict_hash = { foo: :bar }.to_ch :strict
9
+ # stict_hash[:not_found] # nil
10
+ # stict_hash.foo # :bar
11
+ # stict_hash.not_found # ArgumentError
12
+ def _method_missing_key key
13
+ self[key].tap do |value|
14
+ raise ArgumentError.new('Key not found: %s' % key) if value.nil?
15
+ end
14
16
  end
15
17
  end
16
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clean-hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.9
4
+ version: 0.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dino Reic