utilise 0.5.0.pre.42 → 0.5.0.pre.47

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDZlMDY3ZmExYWUwZTE0YjFmNjhmNTkwNzcxNTM4NGQyOTI5ODFmMA==
4
+ ODI4ZGIyYWRkZDlmMjQyOTRmODNiMDIxYTMxMTkyYjA3ZDcyZTgyMA==
5
5
  data.tar.gz: !binary |-
6
- ZTM0OTFhMzAwYzc2ODgzMWVjM2RlNWRlZDBiOGRkNjFiNmQzY2NmMg==
6
+ NjQ3YzA0NjgxNDkyOGQ2ZDUxZTJiNDQzMzIwZDBmYWYyMDllYzY0Yw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjgwMmI1ZjYwZjViYjAxYjIzZjM4OTVkNTUxNmY0NzRiOTQ1Y2MyNmUwMzU2
10
- NDg1OTQ2YWFiOGUzYzdiZjA3YTQyOGM3MTlkZmY5NDlmNzY2ZjNlNjBiZTM3
11
- ZmVkYTcwY2Q1NjhhNjA3YTkxMGVlZTdhYjE1NDE5ZTI1ZWYyYmE=
9
+ OGU3MzFkMGYwZDQxYzVhZGEwNmJmNjBjZTVhZjVhNjBkMDQxY2QxMTQ5Zjhk
10
+ NjY5YmNhY2Q3Y2I1MWQwOThlMGU2ZWI3OTk3NTY3NmIyNGMzOWRhMzI3ODZi
11
+ MzIzYzRmNDY2ZjgyZGI4NjRjMWIwYmJlMzVjNDQ2NWZkNWZlYmQ=
12
12
  data.tar.gz: !binary |-
13
- ZjAyMTk2MzYyMzdkMmQ1ODA0MjUyMTQ2ODFiN2YxNzBkMTcyMDEzOWEzZDJm
14
- MjUxZTIyYzNkM2IyNzgyMmYyY2ZjZWJjYmJjMzE0NDc3ZWY4ZGVmYjI2ZjVi
15
- YjY1N2VlNjg4ODQyY2JiNjVmMzk0MzgzYzFjNDFhYjEzYjQxN2U=
13
+ MTk1YTliZDM2YmQ5ZTJmYTczMWFjMWQ0OTkzZTA5NGI2ZTE0NjY3MmFhMDlm
14
+ MmIwMjIyZTgwMTk4Y2RlY2QwYWRiNGI1ZDdhN2E1YmMyMDZkMmMyMmRmN2Y4
15
+ ODNjZGMyNmUzZDIyZmJmN2VkZjdjNTJhYTRjYTM4MjgwY2Y4Mzg=
data/lib/utilise/array.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'utilise/augment/bool.rb'
1
+ require 'utilise/augment/bool'
2
2
 
3
3
  # Extend existing ruby class Array
4
4
  class Array
@@ -41,7 +41,7 @@ module Utilise
41
41
 
42
42
  # Returns boolean value if object matches rules
43
43
  #
44
- # @param array [Array] the array
44
+ # @param object [Object] object to bool
45
45
  # @returns [Boolean] true/false returned
46
46
  def bool_it(object)
47
47
  case object.to_s
@@ -0,0 +1,41 @@
1
+ require 'utilise/string'
2
+
3
+ module Utilise
4
+ module Augment
5
+ # Extends a hash to modify keys
6
+ module Hash
7
+ # Transforms all keys to snake case
8
+ def snake_keys
9
+ transform_keys(self) { |key| key.snake }
10
+ end
11
+
12
+ # Transforms all keys to camel case
13
+ def camel_keys
14
+ transform_keys(self) { |key| key.camel }
15
+ end
16
+
17
+ # Transforms all keys to space case
18
+ def space_keys
19
+ transform_keys(self) { |key| key.space }
20
+ end
21
+
22
+ private
23
+
24
+ # Deep transform keys
25
+ # An awesome piece of code from rails
26
+ # apidock.com/rails/v4.2.1/Hash/_deep_transform_keys_in_object%21
27
+ def transform_keys(object, &block)
28
+ case object
29
+ when Hash
30
+ object.each_with_object({}) do |(key, value), result|
31
+ result[yield(key)] = transform_keys(value, &block)
32
+ end
33
+ when Array
34
+ object.map { |e| transform_keys(e, &block) }
35
+ else
36
+ object
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -4,7 +4,8 @@ module Utilise
4
4
  module Modify
5
5
  # Return a string in modified camel case
6
6
  def camel
7
- split_up.map(&:capitalize).join('')
7
+ array = split_up
8
+ array.first + array[1..-1].map(&:capitalize).join('')
8
9
  end
9
10
 
10
11
  # Return a string in snake case
@@ -21,7 +22,8 @@ module Utilise
21
22
 
22
23
  # Splits up the current string into an array and normalises it
23
24
  def split_up
24
- arr = split(/(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?=_)|(?= )/)
25
+ regex = /(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?=_)|(?= )/
26
+ arr = to_s.split(regex)
25
27
  arr.map!(&:downcase)
26
28
  arr.map!(&:strip)
27
29
  arr.map { |s| s.delete('_') }
@@ -1,4 +1,4 @@
1
- require 'utilise/augment/bool.rb'
1
+ require 'utilise/augment/bool'
2
2
 
3
3
  # Extend existing ruby class Fixnum
4
4
  class Fixnum
data/lib/utilise/hash.rb CHANGED
@@ -1,6 +1,8 @@
1
- require 'utilise/augment/bool.rb'
1
+ require 'utilise/augment/bool'
2
+ require 'utilise/augment/hash'
2
3
 
3
4
  # Extend existing ruby class Hash
4
5
  class Hash
5
6
  include Utilise::Augment::Bool
7
+ include Utilise::Augment::Hash
6
8
  end
@@ -1,4 +1,4 @@
1
- require 'utilise/augment/crash.rb'
1
+ require 'utilise/augment/crash'
2
2
 
3
3
  # Extend existing hashie module
4
4
  module Hashie
@@ -1,4 +1,4 @@
1
- require 'utilise/augment/matchers.rb'
1
+ require 'utilise/augment/matchers'
2
2
 
3
3
  # Extend existing ruby class Object
4
4
  class Object
@@ -1,5 +1,5 @@
1
- require 'utilise/augment/bool.rb'
2
- require 'utilise/augment/modify.rb'
1
+ require 'utilise/augment/bool'
2
+ require 'utilise/augment/modify'
3
3
 
4
4
  # Extend existing ruby class String
5
5
  class String
@@ -1,6 +1,8 @@
1
- require 'utilise/augment/bool.rb'
1
+ require 'utilise/augment/bool'
2
+ require 'utilise/augment/modify'
2
3
 
3
4
  # Extend existing ruby class Symbol
4
5
  class Symbol
5
6
  include Utilise::Augment::Bool
7
+ include Utilise::Augment::Modify
6
8
  end
data/lib/utilise/time.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'utilise/augment/time.rb'
1
+ require 'utilise/augment/time'
2
2
 
3
3
  # Extend existing ruby class Time
4
4
  class Time
data/spec/spec_helper.rb CHANGED
@@ -26,4 +26,3 @@ end
26
26
  Coveralls.wear!
27
27
  SimpleCov.start
28
28
  require 'utilise'
29
-
@@ -0,0 +1,201 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hash do
4
+ describe '#to_bool' do
5
+ it 'returns hash with true when key value is 1' do
6
+ expect({ 'key' => 1 }.to_bool).to eql('key' => true)
7
+ end
8
+
9
+ it 'returns hash with false when key value is 0' do
10
+ expect({ 'key' => 0 }.to_bool).to eql('key' => false)
11
+ end
12
+
13
+ it 'returns original hash when key value is not 0 or 1' do
14
+ expect({ 'key' => 2 }.to_bool).to eql('key' => 2)
15
+ end
16
+
17
+ it "returns hash with true when key value is 'yes'" do
18
+ expect({ 'key' => 'yes' }.to_bool).to eql('key' => true)
19
+ end
20
+
21
+ it "returns hash with false when key value is 'no'" do
22
+ expect({ 'key' => 'no' }.to_bool).to eql('key' => false)
23
+ end
24
+
25
+ it "returns hash with true when key value is 'true'" do
26
+ expect({ 'key' => 'true' }.to_bool).to eql('key' => true)
27
+ end
28
+
29
+ it "returns hash with false when key value is 'false'" do
30
+ expect({ 'key' => 'false' }.to_bool).to eql('key' => false)
31
+ end
32
+
33
+ it "returns original hash when key value is not 'yes', 'no', 'true or 'false'" do
34
+ expect({ 'key' => 'value' }.to_bool).to eql('key' => 'value')
35
+ end
36
+
37
+ it 'returns hash with true when key value is :t' do
38
+ expect({ 'key' => :t }.to_bool).to eql('key' => true)
39
+ end
40
+
41
+ it 'returns hash with false when key value is :f' do
42
+ expect({ 'key' => :f }.to_bool).to eql('key' => false)
43
+ end
44
+
45
+ it 'returns hash with true when key value is :t' do
46
+ expect({ 'key' => :yes }.to_bool).to eql('key' => true)
47
+ end
48
+
49
+ it 'returns hash with false when key value is :f' do
50
+ expect({ 'key' => :no }.to_bool).to eql('key' => false)
51
+ end
52
+
53
+ it 'returns hash with true when key value is :true' do
54
+ expect({ 'key' => :true }.to_bool).to eql('key' => true)
55
+ end
56
+
57
+ it 'returns hash with false when key value is :false' do
58
+ expect({ 'key' => :false }.to_bool).to eql('key' => false)
59
+ end
60
+
61
+ it 'returns original hash when key value is not :t or :n' do
62
+ expect({ 'key' => :symbol }.to_bool).to eql('key' => :symbol)
63
+ end
64
+
65
+ it 'returns correct hash with multiple values' do
66
+ expect({ 'key0' => 1, 'key1' => 0, 'key2' => 'yes', 'key3' => 'false', 'key4' => :t, 'key4' => :f, 'key5' => :true, 'key6' => :false }.to_bool).to eql('key0' => true, 'key1' => false, 'key2' => true, 'key3' => false, 'key4' => true, 'key4' => false, 'key5' => true, 'key6' => false)
67
+ end
68
+
69
+ it 'returns correct multi-level hash with multiple values' do
70
+ expect({ 'key0' => { 'key1' => 1 }, 'key2' => { 'key3' => 0 } }.to_bool).to eql('key0' => { 'key1' => true }, 'key2' => { 'key3' => false })
71
+ end
72
+ end
73
+
74
+ describe '#snake_keys' do
75
+ let(:hash) { { oneKey: 'aString', two_key: ['a_string'], 'red key' => { blueKey: 'testing 123' } } }
76
+
77
+ it 'coverts all keys to snake case' do
78
+ new_hash = hash.snake_keys
79
+ expect(new_hash.key?('one_key')).to be_truthy
80
+ expect(new_hash.key?('two_key')).to be_truthy
81
+ expect(new_hash.key?('red_key')).to be_truthy
82
+ expect(new_hash['red_key'].key?('blue_key')).to be_truthy
83
+ end
84
+
85
+ it 'does not transfer the old keys' do
86
+ new_hash = hash.snake_keys
87
+ expect(new_hash.key?(:oneKey)).to be_falsey
88
+ expect(new_hash.key?(:two_key)).to be_falsey
89
+ expect(new_hash.key?('red key')).to be_falsey
90
+ end
91
+
92
+ it 'does not convert the values' do
93
+ new_hash = hash.snake_keys
94
+ expect(new_hash['one_key']).to eql('aString')
95
+ expect(new_hash['two_key']).to eql(['a_string'])
96
+ expect(new_hash['red_key']).to be_a(Hash)
97
+ expect(new_hash['red_key']['blue_key']).to eql('testing 123')
98
+ end
99
+
100
+ it 'does not modify the original hash' do
101
+ old_hash = hash
102
+ old_hash.snake_keys
103
+
104
+ expect(old_hash.key?(:oneKey)).to be_truthy
105
+ expect(old_hash.key?(:two_key)).to be_truthy
106
+ expect(old_hash.key?('red key')).to be_truthy
107
+ expect(old_hash['red key'].key?(:blueKey)).to be_truthy
108
+
109
+ expect(old_hash[:oneKey]).to eql('aString')
110
+ expect(old_hash[:two_key]).to eql(['a_string'])
111
+ expect(old_hash['red key']).to be_a(Hash)
112
+ expect(old_hash['red key'][:blueKey]).to eql('testing 123')
113
+ end
114
+ end
115
+
116
+ describe '#camel_keys' do
117
+ let(:hash) { { oneKey: 'aString', two_key: ['a_string'], 'red key' => { blueKey: 'testing 123' } } }
118
+
119
+ it 'coverts all keys to camel case' do
120
+ new_hash = hash.camel_keys
121
+ expect(new_hash.key?('oneKey')).to be_truthy
122
+ expect(new_hash.key?('twoKey')).to be_truthy
123
+ expect(new_hash.key?('redKey')).to be_truthy
124
+ expect(new_hash['redKey'].key?('blueKey')).to be_truthy
125
+ end
126
+
127
+ it 'does not transfer the old keys' do
128
+ new_hash = hash.camel_keys
129
+ expect(new_hash.key?(:oneKey)).to be_falsey
130
+ expect(new_hash.key?(:two_key)).to be_falsey
131
+ expect(new_hash.key?('red key')).to be_falsey
132
+ end
133
+
134
+ it 'does not convert the values' do
135
+ new_hash = hash.camel_keys
136
+
137
+ expect(new_hash['oneKey']).to eql('aString')
138
+ expect(new_hash['twoKey']).to eql(['a_string'])
139
+ expect(new_hash['redKey']).to be_a(Hash)
140
+ expect(new_hash['redKey']['blueKey']).to eql('testing 123')
141
+ end
142
+
143
+ it 'does not modify the original hash' do
144
+ old_hash = hash
145
+ old_hash.camel_keys
146
+
147
+ expect(old_hash.key?(:oneKey)).to be_truthy
148
+ expect(old_hash.key?(:two_key)).to be_truthy
149
+ expect(old_hash.key?('red key')).to be_truthy
150
+ expect(old_hash['red key'].key?(:blueKey)).to be_truthy
151
+
152
+ expect(old_hash[:oneKey]).to eql('aString')
153
+ expect(old_hash[:two_key]).to eql(['a_string'])
154
+ expect(old_hash['red key']).to be_a(Hash)
155
+ expect(old_hash['red key'][:blueKey]).to eql('testing 123')
156
+ end
157
+ end
158
+
159
+ describe '#space_keys' do
160
+ let(:hash) { { oneKey: 'aString', two_key: ['a_string'], 'red key' => { blueKey: 'testing 123' } } }
161
+
162
+ it 'coverts all keys to space case' do
163
+ new_hash = hash.space_keys
164
+ expect(new_hash.key?('one key')).to be_truthy
165
+ expect(new_hash.key?('two key')).to be_truthy
166
+ expect(new_hash.key?('red key')).to be_truthy
167
+ expect(new_hash['red key'].key?('blue key')).to be_truthy
168
+ end
169
+
170
+ it 'does not transfer the old keys' do
171
+ new_hash = hash.space_keys
172
+ expect(new_hash.key?(:oneKey)).to be_falsey
173
+ expect(new_hash.key?(:two_key)).to be_falsey
174
+ expect(new_hash['red key'].key?(:blueKey)).to be_falsey
175
+ end
176
+
177
+ it 'does not convert the values' do
178
+ new_hash = hash.space_keys
179
+
180
+ expect(new_hash['one key']).to eql('aString')
181
+ expect(new_hash['two key']).to eql(['a_string'])
182
+ expect(new_hash['red key']).to be_a(Hash)
183
+ expect(new_hash['red key']['blue key']).to eql('testing 123')
184
+ end
185
+
186
+ it 'does not modify the original hash' do
187
+ old_hash = hash
188
+ old_hash.space_keys
189
+
190
+ expect(old_hash.key?(:oneKey)).to be_truthy
191
+ expect(old_hash.key?(:two_key)).to be_truthy
192
+ expect(old_hash.key?('red key')).to be_truthy
193
+ expect(old_hash['red key'].key?(:blueKey)).to be_truthy
194
+
195
+ expect(old_hash[:oneKey]).to eql('aString')
196
+ expect(old_hash[:two_key]).to eql(['a_string'])
197
+ expect(old_hash['red key']).to be_a(Hash)
198
+ expect(old_hash['red key'][:blueKey]).to eql('testing 123')
199
+ end
200
+ end
201
+ end
@@ -9,7 +9,7 @@ describe Utilise::Augment::Crash::Bash do
9
9
 
10
10
  context 'a bash with keys' do
11
11
  before do
12
- @hash = Hashie::Bash.new(a:1, b:{ c: 2, d: { e: 3, f: {} } })
12
+ @hash = Hashie::Bash.new(a: 1, b: { c: 2, d: { e: 3, f: {} } })
13
13
  end
14
14
 
15
15
  it 'has first layer keys' do
@@ -45,19 +45,19 @@ describe String do
45
45
 
46
46
  describe '#camel' do
47
47
  it 'returns a camel case from camel case' do
48
- expect('CamelCase'.camel).to eq 'CamelCase'
48
+ expect('CamelCase'.camel).to eq 'camelCase'
49
49
  end
50
50
 
51
51
  it 'returns a camel case from snake case' do
52
- expect('camel_case'.camel).to eq 'CamelCase'
52
+ expect('camel_case'.camel).to eq 'camelCase'
53
53
  end
54
54
 
55
55
  it 'returns a camel case from space case' do
56
- expect('camel case'.camel).to eq 'CamelCase'
56
+ expect('camel case'.camel).to eq 'camelCase'
57
57
  end
58
58
 
59
59
  it 'returns a camel case from complex camel case' do
60
- expect('CamelONECase'.camel).to eq 'CamelOneCase'
60
+ expect('CamelONECase'.camel).to eq 'camelOneCase'
61
61
  end
62
62
  end
63
63
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utilise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0.pre.42
4
+ version: 0.5.0.pre.47
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Slaughter
@@ -120,6 +120,7 @@ files:
120
120
  - lib/utilise/array.rb
121
121
  - lib/utilise/augment/bool.rb
122
122
  - lib/utilise/augment/crash.rb
123
+ - lib/utilise/augment/hash.rb
123
124
  - lib/utilise/augment/matchers.rb
124
125
  - lib/utilise/augment/modify.rb
125
126
  - lib/utilise/augment/time.rb
@@ -132,14 +133,14 @@ files:
132
133
  - lib/utilise/time.rb
133
134
  - lib/utilise/version.rb
134
135
  - spec/spec_helper.rb
135
- - spec/utilise/augment/array_spec.rb
136
- - spec/utilise/augment/fixnum_spec.rb
137
- - spec/utilise/augment/hash_spec.rb
138
- - spec/utilise/augment/hashie_spec.rb
139
- - spec/utilise/augment/object_spec.rb
140
- - spec/utilise/augment/string_spec.rb
141
- - spec/utilise/augment/symbol_spec.rb
142
- - spec/utilise/augment/time_spec.rb
136
+ - spec/utilise/array_spec.rb
137
+ - spec/utilise/fixnum_spec.rb
138
+ - spec/utilise/hash_spec.rb
139
+ - spec/utilise/hashie_spec.rb
140
+ - spec/utilise/object_spec.rb
141
+ - spec/utilise/string_spec.rb
142
+ - spec/utilise/symbol_spec.rb
143
+ - spec/utilise/time_spec.rb
143
144
  - spec/utilise/version_spec.rb
144
145
  homepage: http://benslaughter.github.io/utilise/
145
146
  licenses:
@@ -167,12 +168,12 @@ specification_version: 4
167
168
  summary: Utilises a few extra methods
168
169
  test_files:
169
170
  - spec/utilise/version_spec.rb
170
- - spec/utilise/augment/time_spec.rb
171
- - spec/utilise/augment/symbol_spec.rb
172
- - spec/utilise/augment/string_spec.rb
173
- - spec/utilise/augment/object_spec.rb
174
- - spec/utilise/augment/hashie_spec.rb
175
- - spec/utilise/augment/hash_spec.rb
176
- - spec/utilise/augment/fixnum_spec.rb
177
- - spec/utilise/augment/array_spec.rb
171
+ - spec/utilise/time_spec.rb
172
+ - spec/utilise/symbol_spec.rb
173
+ - spec/utilise/string_spec.rb
174
+ - spec/utilise/object_spec.rb
175
+ - spec/utilise/hashie_spec.rb
176
+ - spec/utilise/hash_spec.rb
177
+ - spec/utilise/fixnum_spec.rb
178
+ - spec/utilise/array_spec.rb
178
179
  - spec/spec_helper.rb
@@ -1,73 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Hash do
4
- describe '#to_bool' do
5
- it 'returns hash with true when key value is 1' do
6
- expect({ 'key' => 1 }.to_bool).to eql('key' => true)
7
- end
8
-
9
- it 'returns hash with false when key value is 0' do
10
- expect({ 'key' => 0 }.to_bool).to eql('key' => false)
11
- end
12
-
13
- it 'returns original hash when key value is not 0 or 1' do
14
- expect({ 'key' => 2 }.to_bool).to eql('key' => 2)
15
- end
16
-
17
- it "returns hash with true when key value is 'yes'" do
18
- expect({ 'key' => 'yes' }.to_bool).to eql('key' => true)
19
- end
20
-
21
- it "returns hash with false when key value is 'no'" do
22
- expect({ 'key' => 'no' }.to_bool).to eql('key' => false)
23
- end
24
-
25
- it "returns hash with true when key value is 'true'" do
26
- expect({ 'key' => 'true' }.to_bool).to eql('key' => true)
27
- end
28
-
29
- it "returns hash with false when key value is 'false'" do
30
- expect({ 'key' => 'false' }.to_bool).to eql('key' => false)
31
- end
32
-
33
- it "returns original hash when key value is not 'yes', 'no', 'true or 'false'" do
34
- expect({ 'key' => 'value' }.to_bool).to eql('key' => 'value')
35
- end
36
-
37
- it 'returns hash with true when key value is :t' do
38
- expect({ 'key' => :t }.to_bool).to eql('key' => true)
39
- end
40
-
41
- it 'returns hash with false when key value is :f' do
42
- expect({ 'key' => :f }.to_bool).to eql('key' => false)
43
- end
44
-
45
- it 'returns hash with true when key value is :t' do
46
- expect({ 'key' => :yes }.to_bool).to eql('key' => true)
47
- end
48
-
49
- it 'returns hash with false when key value is :f' do
50
- expect({ 'key' => :no }.to_bool).to eql('key' => false)
51
- end
52
-
53
- it 'returns hash with true when key value is :true' do
54
- expect({ 'key' => :true }.to_bool).to eql('key' => true)
55
- end
56
-
57
- it 'returns hash with false when key value is :false' do
58
- expect({ 'key' => :false }.to_bool).to eql('key' => false)
59
- end
60
-
61
- it 'returns original hash when key value is not :t or :n' do
62
- expect({ 'key' => :symbol }.to_bool).to eql('key' => :symbol)
63
- end
64
-
65
- it 'returns correct hash with multiple values' do
66
- expect({ 'key0' => 1, 'key1' => 0, 'key2' => 'yes', 'key3' => 'false', 'key4' => :t, 'key4' => :f, 'key5' => :true, 'key6' => :false }.to_bool).to eql('key0' => true, 'key1' => false, 'key2' => true, 'key3' => false, 'key4' => true, 'key4' => false, 'key5' => true, 'key6' => false)
67
- end
68
-
69
- it 'returns correct multi-level hash with multiple values' do
70
- expect({ 'key0' => { 'key1' => 1 }, 'key2' => { 'key3' => 0 } }.to_bool).to eql('key0' => { 'key1' => true }, 'key2' => { 'key3' => false })
71
- end
72
- end
73
- end