rattle 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rattle.rb +6 -18
- data/lib/rattle/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bff199e4205dcf77825431a540aacf0cf736844
|
4
|
+
data.tar.gz: ddf1af73e424bac18d36fa6ad1276d3db0ffafce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7207732de611c4079d822440802d77265520095f05b4dc05ea7a148c27e8d7e7dbe99ebae5c9a78f55c7715ea530acbcbf4c8c4567543d84b345206ded8c389
|
7
|
+
data.tar.gz: 728ebe0124e4d593b910d89a33b82cc95afcebda5d0ca7bdf01bdd7e210468403ed1de8235fb6a6dd3eaae490b57da9d5b565665da21aca9bc752355a05dd275
|
data/lib/rattle.rb
CHANGED
@@ -3,27 +3,15 @@ require "rattle/version"
|
|
3
3
|
module Rattle
|
4
4
|
refine Hash do
|
5
5
|
def deep_gsub(&block)
|
6
|
-
|
6
|
+
self.map { |k,v|
|
7
|
+
new_k, new_v = block.call(k,v)
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
if v.is_a?(Hash)
|
12
|
-
updated_value = v.deep_gsub(&block)
|
13
|
-
else
|
14
|
-
updated_value = v
|
15
|
-
end
|
16
|
-
|
17
|
-
begin
|
18
|
-
updated_key, updated_value = yield(k, updated_value)
|
19
|
-
rescue LocalJumpError => exception
|
20
|
-
updated_key, updated_value = exception.exit_value
|
9
|
+
if new_v.is_a?(Hash)
|
10
|
+
new_v = new_v.deep_gsub(&block)
|
21
11
|
end
|
22
12
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
replaced
|
13
|
+
[new_k, new_v]
|
14
|
+
}.to_h
|
27
15
|
end
|
28
16
|
end
|
29
17
|
end
|
data/lib/rattle/version.rb
CHANGED