clean-hash 0.5.9 → 0.5.10

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: 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