nice_hash 1.11.1 → 1.12.0

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