app-configs 0.1.0 → 0.1.1

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: 44bd83dad8cb131fa7e09b15221e6e350d3d8ade763687869598c12e41c02217
4
- data.tar.gz: 880fc5ec782b3de5bb62263955a9576065253d2e8c95f1b37f674cfea088f3e0
3
+ metadata.gz: 2ee7136673ea33c00302c032a8f0ecc707055b977ac632bf57dbc77ff1518f9b
4
+ data.tar.gz: 5dece7059581ae470d10b03299b524ef65b0db3ed2a8b8d3132cee4cb21d76eb
5
5
  SHA512:
6
- metadata.gz: 7fc746a8a7303a999f99f972024b3f4633de850e5d07357a492c60c39afa3980e6f259c443f885bea69fc13eeb5ad11b2c54d19effd89d499e5cf419acc129a7
7
- data.tar.gz: 42dc9f7c3eae289fa80f08e1e8d0cba0981579f4e74a99d5d1ee3166a65de2d4175a1ca3c3f3d64753f6e4e25991bc582b2a18e81c3efe2e6b420a556a1ac90a
6
+ metadata.gz: 88a4b4c61dfe2e3f687897a6a740a63fc02981e75fccb3d0b0ca74a31ecfc9e68bafee3933f1fce0690c30c757961cf72b52915f828423eb223c175d12070cc7
7
+ data.tar.gz: 1f5f9ef8f8f15aa07369405b0da3a3df799b01e34b46d06eed856673548f7b057dccb422cbdd5d7d4998d61c2905cb285baf3b1d1855b93908e420c4d63e3db1
@@ -3,16 +3,16 @@
3
3
 
4
4
  class Hash
5
5
  def deeply_symbolize_keys!
6
- hash = self.deeply_symbolize_keys
6
+ temp = self.deeply_symbolize_keys
7
7
  self.clear
8
- self.merge( hash )
8
+ self.merge( temp )
9
9
  end
10
10
 
11
11
  def deeply_symbolize_keys
12
12
  self.each_with_object({}) do |(key, obj), hash|
13
13
  k = key.to_s.to_sym
14
14
  case obj
15
- when Hash
15
+ when Array, Hash
16
16
  hash[k] = obj.deeply_symbolize_keys
17
17
  else
18
18
  hash[k] = obj
@@ -21,21 +21,40 @@ class Hash
21
21
  end
22
22
  end
23
23
 
24
+ class Array
25
+ def deeply_symbolize_keys!
26
+ temp = self.deeply_symbolize_keys
27
+ self.clear
28
+ self.push( *temp )
29
+ end
30
+
31
+ def deeply_symbolize_keys
32
+ self.map do |obj|
33
+ case obj
34
+ when Array, Hash
35
+ obj.deeply_symbolize_keys
36
+ else
37
+ obj.dup
38
+ end
39
+ end
40
+ end
41
+ end
42
+
24
43
 
25
44
  ## deeply_stringify_keys
26
45
 
27
46
  class Hash
28
47
  def deeply_stringify_keys!
29
- hash = self.deeply_stringify_keys
48
+ temp = self.deeply_stringify_keys
30
49
  self.clear
31
- self.merge( hash )
50
+ self.merge( temp )
32
51
  end
33
52
 
34
53
  def deeply_stringify_keys
35
54
  self.each_with_object({}) do |(key, obj), hash|
36
55
  k = key.to_s
37
56
  case obj
38
- when Hash
57
+ when Array, Hash
39
58
  hash[k] = obj.deeply_stringify_keys
40
59
  else
41
60
  hash[k] = obj
@@ -44,16 +63,39 @@ class Hash
44
63
  end
45
64
  end
46
65
 
66
+ class Array
67
+ def deeply_stringify_keys!
68
+ temp = self.deeply_stringify_keys
69
+ self.clear
70
+ self.push( *temp )
71
+ end
72
+
73
+ def deeply_stringify_keys
74
+ self.map do |obj|
75
+ case obj
76
+ when Array, Hash
77
+ obj.deeply_stringify_keys
78
+ else
79
+ obj.dup
80
+ end
81
+ end
82
+ end
83
+ end
84
+
47
85
 
48
86
  ## deeply_merge
49
87
 
50
88
  class Hash
51
89
  def deeply_merge( hash )
52
- self.dup.deeply_merge!( hash )
90
+ raise ArgumentError( "type invalid. : %s" % hash ) unless hash.is_a? Hash
91
+
92
+ temp = self.deeply_dup
93
+ temp.deeply_merge!( hash )
94
+ temp
53
95
  end
54
96
 
55
97
  def deeply_merge!( hash )
56
- raise ArgumentError("Type Invalid.") unless Hash === hash
98
+ raise ArgumentError( "type invalid. : %s" % hash ) unless hash.is_a? Hash
57
99
 
58
100
  hash.each do |key, obj|
59
101
  case obj
@@ -74,7 +116,9 @@ end
74
116
 
75
117
  class Hash
76
118
  def deeply_map( &block )
77
- self.dup.deeply_map!( &block )
119
+ temp = self.deeply_dup
120
+ temp.deeply_map!( &block )
121
+ temp
78
122
  end
79
123
 
80
124
  def deeply_map!( &block )
@@ -93,7 +137,9 @@ end
93
137
 
94
138
  class Array
95
139
  def deeply_map( &block )
96
- self.dup.deeply_map!( &block )
140
+ temp = self.deeply_dup
141
+ temp.deeply_map!( &block )
142
+ temp
97
143
  end
98
144
 
99
145
  def deeply_map!( &block )
@@ -1,5 +1,5 @@
1
1
  module App
2
2
  module Config
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app-configs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - arimay
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-25 00:00:00.000000000 Z
11
+ date: 2020-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake