nice_hash 1.11.1 → 1.12.0

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: 4be1a70536463825b897bd3909ce45af63682d24feb90bf2211fde12eefe6a0b
4
- data.tar.gz: a2b950c140645c84df85f10983b391e2e27dc5a9d47b1d52bd0d376e40a112a4
3
+ metadata.gz: 84c78765e9b19e8f5d4774a405e7af03b5f4b47bf9562cf0fa8bc2a6e4a864ee
4
+ data.tar.gz: 461884a6c109548e01e81df000c41720d1cf5ddfa749e2a1dd3598aa2b619309
5
5
  SHA512:
6
- metadata.gz: 8e873b902bcd8d61a8eb7fad6fd4546ca31e46e69e1c84d41920e2383c525dc711dc9dca37e40cc3596ca3e64c5d09e6c64237ac76fe49a1490b89c7ea5afe30
7
- data.tar.gz: ca7cc5d760a262050c2804e7ca80ca04120fa3c9602acaf93848edb5b0770bbece7c2f405772a2537c2cfe3eb64f2211674d4fafd9d3b3eac3f56885a17d836e
6
+ metadata.gz: 99b063ff060a231d93f114e1c2187946b5bd22e147e1f9e1ce8c6ed33a464b7437ce75154e96cdc6f5c844f067319aca879118d4f80de7b34d59ffbd6cb84c9b
7
+ data.tar.gz: c78f0ba9daa0ef799df4996a4df3140bfe1222cefd4b75c9735748d7e31ee8bdf557681cef5cc7e905af1109af2d862156cc8f901a35077622f79f936d4b2f0b
data/README.md CHANGED
@@ -167,6 +167,19 @@ puts new_hash.get_values(:address) #> {:address=>"21 Doom Av"}
167
167
  puts new_hash.get_values(:address, :zip) #> {:zip=>{:default=>"00000", :correct=>"42782"}, :address=>"21 Doom Av"}
168
168
  puts new_hash.get_values(:drawId) #> {:drawId=>["84914", "21158"]}
169
169
  ```
170
+
171
+ In case of an array of hashes, you will be able also to access the different keys, for example:
172
+
173
+ ```ruby
174
+ my_array = [{name: 'Peter', city: 'Madrid'}, {name: 'Lola', city: 'NYC'}] :
175
+
176
+ my_array.city
177
+ #> ['Madrid', 'NYC']
178
+
179
+ my_array._name
180
+ #> ['Peter', 'Lola']
181
+ ```
182
+
170
183
  ### Change all values on the keys we specified
171
184
 
172
185
  Supply a hash with all the keys and the values you want to change on the hash, then it will return the hash/array with the values modified at any level.
@@ -280,3 +280,25 @@ class Object
280
280
  self
281
281
  end
282
282
  end
283
+
284
+ class Array
285
+ ###########################################################################
286
+ # For Array of Hashes returns an array of values of the hash key specified in case doesn't exist an Array method with the same name
287
+ # The keys can be accessed also adding underscore to avoid problems with existent methods
288
+ # examples for the array of hashes [{name: 'Peter', city: 'Madrid'}, {name: 'Lola', city: 'NYC'}] :
289
+ # my_array.city
290
+ # my_array._name
291
+ ###########################################################################
292
+ def method_missing(m, *arguments, &block)
293
+ m = m[1..-1].to_sym if m[0] == "_"
294
+ array = []
295
+ self.map do |hash|
296
+ if hash.is_a?(Hash)
297
+ array << hash[m]
298
+ else
299
+ array << nil
300
+ end
301
+ end
302
+ array
303
+ end
304
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nice_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.1
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-25 00:00:00.000000000 Z
11
+ date: 2019-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string_pattern