functional_support 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: bc2489315384cc32c7f4a5db34484b5a7503b9c5
4
- data.tar.gz: 1693d1a2eb7314fab27ec373fdb36cbc2e92abd8
3
+ metadata.gz: 0ba0fa0ab21f39be9c0bb8b5a0e158b0140b07de
4
+ data.tar.gz: bae24d4534c417cdeb8e91fc995234c076bcb445
5
5
  SHA512:
6
- metadata.gz: fa746308dac2079841395d6e9fe1dee43915c97beb4cc3ac1abef2da2568d4cfd85c8bd956aed71973626dc3896831df5d7a6c870a3db1e0115a4f53af1e36d8
7
- data.tar.gz: a68b619c76fefbd9b5fc59049ebf5a849154dbb38c27bd6af1177fba0de058967138eb67827b5d8414a9184e17da374148f24e18c59713e2ff22818c1f5544cc
6
+ metadata.gz: bfec73d9514a1c6d153a6697cd3b247a02c62dc863203700901e0c38ac563fd72c288f6a561798b322591498b9fb730648451691d7f64f16a4d81ae89df087ae
7
+ data.tar.gz: 026ad72b5d8424af64b2b5965e2dde772dd68d6594e29a7199848951a604d46af2b7c88bf3013a9fbdcd6077a1e67a5cc394f9d6e98b3a24b04eef0fcc9ea6a9
@@ -8,6 +8,23 @@ class Hash
8
8
  end
9
9
  end
10
10
 
11
+ # accesses a key, and maps over that key unless blank
12
+ def access_map(key, &block)
13
+ clone.access_map! key, &block
14
+ end
15
+
16
+ def access_map!(*keys, &block)
17
+ tap do |hash|
18
+ keys.each do |key|
19
+ if hash[key].present?
20
+ hash[key] = yield if 0 == block.arity
21
+ hash[key] = yield hash[key] if 1 == block.arity
22
+ hash[key] = yield key, hash[key] if 2 == block.arity
23
+ end
24
+ end
25
+ end
26
+ end
27
+
11
28
  def permit(*keys)
12
29
  keys.reduce(self.class.new) do |hash, key|
13
30
  hash[key] = self[key] if self[key].present?
@@ -1,3 +1,3 @@
1
1
  module FunctionalSupport
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: functional_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Chen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-07 00:00:00.000000000 Z
11
+ date: 2013-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler