darthjee-core_ext 1.7.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +7 -1
  3. data/.gitignore +2 -0
  4. data/.reek.yml +3 -0
  5. data/ARRAY_README.md +72 -15
  6. data/CLASS_README.md +154 -0
  7. data/DATE_README.md +19 -9
  8. data/Dockerfile +2 -5
  9. data/ENUMERABLE_README.md +154 -4
  10. data/HASH_README.md +276 -135
  11. data/MATH_README.md +14 -10
  12. data/OBJECT_README.md +18 -35
  13. data/README.md +8 -4
  14. data/Rakefile +1 -0
  15. data/SYMBOL_README.md +13 -18
  16. data/config/rubycritc.rb +12 -0
  17. data/config/yardstick.yml +45 -3
  18. data/core_ext.gemspec +10 -8
  19. data/docker-compose.yml +15 -7
  20. data/lib/darthjee/core_ext/array.rb +17 -12
  21. data/lib/darthjee/core_ext/array/hash_builder.rb +20 -4
  22. data/lib/darthjee/core_ext/class.rb +28 -10
  23. data/lib/darthjee/core_ext/date.rb +1 -0
  24. data/lib/darthjee/core_ext/enumerable.rb +67 -30
  25. data/lib/darthjee/core_ext/hash.rb +4 -2
  26. data/lib/darthjee/core_ext/hash/cameliazable.rb +39 -8
  27. data/lib/darthjee/core_ext/hash/chain_fetcher.rb +17 -1
  28. data/lib/darthjee/core_ext/hash/changeable.rb +88 -0
  29. data/lib/darthjee/core_ext/hash/deep_hash_constructor.rb +127 -63
  30. data/lib/darthjee/core_ext/hash/deep_hash_constructor/setter.rb +112 -0
  31. data/lib/darthjee/core_ext/hash/key_changeable.rb +126 -54
  32. data/lib/darthjee/core_ext/hash/key_changer.rb +140 -40
  33. data/lib/darthjee/core_ext/hash/keys_sorter.rb +42 -6
  34. data/lib/darthjee/core_ext/hash/squasher.rb +131 -18
  35. data/lib/darthjee/core_ext/hash/transformable.rb +133 -41
  36. data/lib/darthjee/core_ext/hash/transposeable.rb +37 -8
  37. data/lib/darthjee/core_ext/hash/value_changer.rb +76 -36
  38. data/lib/darthjee/core_ext/math.rb +37 -6
  39. data/lib/darthjee/core_ext/numeric.rb +10 -0
  40. data/lib/darthjee/core_ext/object.rb +29 -0
  41. data/lib/darthjee/core_ext/symbol.rb +22 -2
  42. data/lib/darthjee/core_ext/version.rb +1 -1
  43. data/scripts/check_readme.sh +6 -0
  44. data/scripts/rubycritic.sh +10 -0
  45. data/spec/integration/readme/array_spec.rb +96 -0
  46. data/spec/integration/readme/class_spec.rb +123 -0
  47. data/spec/integration/readme/date_spec.rb +20 -0
  48. data/spec/integration/readme/enumerable_spec.rb +87 -0
  49. data/spec/integration/readme/hash_spec.rb +391 -0
  50. data/spec/integration/readme/math_spec.rb +31 -0
  51. data/spec/integration/readme/object_spec.rb +49 -0
  52. data/spec/integration/readme/symbol_spec.rb +29 -0
  53. data/spec/integration/yard/darthjee/core_ext/enumerable_spec.rb +24 -4
  54. data/spec/integration/yard/darthjee/core_ext/hash/cameliazable_spec.rb +11 -0
  55. data/spec/integration/yard/darthjee/core_ext/hash/changeable_spec.rb +68 -0
  56. data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +34 -0
  57. data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +65 -0
  58. data/spec/integration/yard/darthjee/core_ext/hash/key_changeable_spec.rb +8 -0
  59. data/spec/integration/yard/darthjee/core_ext/hash/key_changer_spec.rb +59 -0
  60. data/spec/integration/yard/darthjee/core_ext/hash/keys_sorter_spec.rb +25 -0
  61. data/spec/integration/yard/darthjee/core_ext/hash/squasher_spec.rb +60 -0
  62. data/spec/integration/yard/darthjee/core_ext/hash/transformable_spec.rb +66 -36
  63. data/spec/integration/yard/darthjee/core_ext/hash/transposeable_spec.rb +35 -0
  64. data/spec/integration/yard/darthjee/core_ext/hash_spec.rb +13 -2
  65. data/spec/integration/yard/darthjee/core_ext/math_spec.rb +28 -0
  66. data/spec/integration/yard/darthjee/core_ext/numeric_spec.rb +11 -0
  67. data/spec/integration/yard/darthjee/core_ext/object_spec.rb +47 -0
  68. data/spec/integration/yard/darthjee/core_ext/symbol_spec.rb +17 -0
  69. data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +64 -0
  70. data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +16 -156
  71. data/spec/lib/darthjee/core_ext/hash/keys_sorter_spec.rb +5 -4
  72. data/spec/lib/darthjee/core_ext/hash/squasher_spec.rb +8 -2
  73. data/spec/lib/darthjee/core_ext/hash/value_changer_spec.rb +4 -12
  74. data/spec/lib/hash_spec.rb +92 -146
  75. data/spec/lib/object_spec.rb +32 -0
  76. data/spec/support/models/client.rb +22 -0
  77. data/spec/support/shared_examples/hash/deep_hash.rb +166 -0
  78. data/spec/support/shared_examples/hash/hash_squasher.rb +54 -9
  79. data/spec/support/shared_examples/hash/keys_sorter.rb +266 -6
  80. metadata +70 -8
  81. data/lib/darthjee/core_ext/hash/to_hash_mapper.rb +0 -25
  82. data/spec/lib/darthjee/core_ext/hash/to_hash_mapper_spec.rb +0 -11
@@ -2,22 +2,67 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- shared_examples 'a class that has a method to squash a hash' do
6
- describe '#squash' do
7
- let(:hash) { { a: { b: 1, c: { d: 2 } } } }
5
+ shared_examples 'a method to squash a hash' do |joiner = '.'|
6
+ let(:hash) { { a: { b: 1, c: { d: 2 } } } }
7
+
8
+ context 'with hash values' do
9
+ let(:key1) { %w[a b].join(joiner) }
10
+ let(:key2) { %w[a c d].join(joiner) }
8
11
 
9
12
  it 'flattens the hash' do
10
- expect(squashed).to eq('a.b' => 1, 'a.c.d' => 2)
13
+ expect(squashed).to eq(key1 => 1, key2 => 2)
11
14
  end
12
15
 
13
16
  it { expect { hash.squash }.not_to(change { hash }) }
17
+ end
14
18
 
15
- context 'with array value' do
16
- let(:hash) { { a: { b: [1, { x: 3, y: { z: 4 } }] } } }
19
+ context 'with simple array value' do
20
+ let(:hash) do
21
+ {
22
+ 'person' => %w[John Wick]
23
+ }
24
+ end
25
+
26
+ it 'squash also hash' do
27
+ expect(squashed).to eq(
28
+ 'person[0]' => 'John',
29
+ 'person[1]' => 'Wick'
30
+ )
31
+ end
32
+ end
33
+
34
+ context 'with array containing hashes' do
35
+ let(:hash) { { a: { b: [1, { x: 3, y: { z: 4 } }] } } }
36
+ let(:key) { %w[a b].join(joiner) }
37
+
38
+ let(:expected) do
39
+ {
40
+ "#{key}[0]" => 1,
41
+ "#{key}[1]#{joiner}x" => 3,
42
+ "#{key}[1]#{joiner}y#{joiner}z" => 4
43
+ }
44
+ end
17
45
 
18
- it 'flattens the hash' do
19
- expect(squashed).to eq('a.b' => [1, { x: 3, y: { z: 4 } }])
20
- end
46
+ it 'flattens the hash' do
47
+ expect(squashed).to eq(expected)
48
+ end
49
+ end
50
+
51
+ context 'with array containing arrays' do
52
+ let(:hash) { { a: { b: [[11, 12], [21, 22]] } } }
53
+ let(:key) { %w[a b].join(joiner) }
54
+
55
+ let(:expected) do
56
+ {
57
+ "#{key}[0][0]" => 11,
58
+ "#{key}[0][1]" => 12,
59
+ "#{key}[1][0]" => 21,
60
+ "#{key}[1][1]" => 22
61
+ }
62
+ end
63
+
64
+ it 'flattens the hash' do
65
+ expect(squashed).to eq(expected)
21
66
  end
22
67
  end
23
68
  end
@@ -10,6 +10,10 @@ shared_examples 'a class with a keys sort method' do
10
10
  it 'sorts keys as symbols' do
11
11
  expect(result).to eq(a: 2, b: 1)
12
12
  end
13
+
14
+ it 'sorts keys' do
15
+ expect(result.keys).to eq(%i[a b])
16
+ end
13
17
  end
14
18
 
15
19
  context 'when keys are strings' do
@@ -18,6 +22,10 @@ shared_examples 'a class with a keys sort method' do
18
22
  it 'sorts keys as string' do
19
23
  expect(result).to eq('a' => 2, 'b' => 1)
20
24
  end
25
+
26
+ it 'sorts keys' do
27
+ expect(result.keys).to eq(%w[a b])
28
+ end
21
29
  end
22
30
 
23
31
  context 'when there is a nested hash' do
@@ -27,6 +35,14 @@ shared_examples 'a class with a keys sort method' do
27
35
  it 'sorts keys recursively' do
28
36
  expect(result).to eq(a: { c: 4, d: 3 }, b: 1)
29
37
  end
38
+
39
+ it 'sorts keys' do
40
+ expect(result.keys).to eq(%i[a b])
41
+ end
42
+
43
+ it 'sorts inner keys' do
44
+ expect(result[:a].keys).to eq(%i[c d])
45
+ end
30
46
  end
31
47
 
32
48
  context 'when recursive option is given' do
@@ -35,6 +51,14 @@ shared_examples 'a class with a keys sort method' do
35
51
  it 'sorts keys recursively when argumen is passed' do
36
52
  expect(result).to eq(a: { c: 4, d: 3 }, b: 1)
37
53
  end
54
+
55
+ it 'sorts keys' do
56
+ expect(result.keys).to eq(%i[a b])
57
+ end
58
+
59
+ it 'sorts inner keys' do
60
+ expect(result[:a].keys).to eq(%i[c d])
61
+ end
38
62
  end
39
63
 
40
64
  context 'when no recursive option is given' do
@@ -43,24 +67,260 @@ shared_examples 'a class with a keys sort method' do
43
67
  it 'does not sorts keys recursively when argumen is passed' do
44
68
  expect(result).to eq(a: { d: 3, c: 4 }, b: 1)
45
69
  end
70
+
71
+ it 'sorts keys' do
72
+ expect(result.keys).to eq(%i[a b])
73
+ end
74
+
75
+ it 'does not sort inner keys' do
76
+ expect(result[:a].keys).to eq(%i[d c])
77
+ end
78
+
79
+ it 'does not change inner hash' do
80
+ expect { result }.not_to change(hash[:a], :keys)
81
+ end
46
82
  end
47
83
  end
48
84
 
49
85
  context 'when it is deep nestled' do
50
- let(:hash) { { b: 1, a: { d: 2, c: { e: 3, f: 4 } } } }
86
+ let(:hash) { { b: 1, a: { d: 2, c: { f: 3, e: 4 } } } }
51
87
 
52
88
  it 'sort recursevely on many levels' do
53
- expected = { a: { c: { f: 4, e: 3 }, d: 2 }, b: 1 }
54
- expect(hash.sort_keys(recursive: true)).to eq(expected)
89
+ expected = { a: { c: { f: 3, e: 4 }, d: 2 }, b: 1 }
90
+ expect(result).to eq(expected)
91
+ end
92
+
93
+ it 'sorts keys' do
94
+ expect(result.keys).to eq(%i[a b])
95
+ end
96
+
97
+ it 'sorts inner keys' do
98
+ expect(result[:a].keys).to eq(%i[c d])
99
+ end
100
+
101
+ it 'sorts deeper inner keys' do
102
+ expect(result[:a][:c].keys).to eq(%i[e f])
55
103
  end
56
104
  end
57
105
 
58
106
  context 'when it has a nestled array' do
59
- let(:hash) { { b: 1, a: { d: 2, c: [{ e: 3, f: 4 }] } } }
107
+ let(:hash) { { b: 1, a: { d: 2, c: [{ f: 3, e: 4 }] } } }
60
108
 
61
109
  it 'applies to arrays as well' do
62
- expected = { a: { c: [{ f: 4, e: 3 }], d: 2 }, b: 1 }
63
- expect(hash.sort_keys(recursive: true)).to eq(expected)
110
+ expected = { a: { c: [{ f: 3, e: 4 }], d: 2 }, b: 1 }
111
+ expect(result).to eq(expected)
112
+ end
113
+
114
+ it 'sorts keys' do
115
+ expect(result.keys).to eq(%i[a b])
116
+ end
117
+
118
+ it 'sorts inner keys' do
119
+ expect(result[:a].keys).to eq(%i[c d])
120
+ end
121
+
122
+ it 'does not sort array deeper inner keys' do
123
+ expect(result[:a][:c].map(&:keys)).to eq([%i[f e]])
124
+ end
125
+
126
+ it 'does not change array deeper inner hash' do
127
+ expect { result }.not_to(change { hash[:a][:c].map(&:keys) })
128
+ end
129
+ end
130
+ end
131
+ end
132
+
133
+ shared_examples 'a class with a keys sort method that changes original' do
134
+ describe '#sort_keys' do
135
+ let(:options) { {} }
136
+
137
+ context 'when keys are symbols' do
138
+ let(:hash) { { b: 1, a: 2 } }
139
+
140
+ it 'changes original hash' do
141
+ expect { result }.to change(hash, :keys)
142
+ .from(%i[b a]).to(%i[a b])
143
+ end
144
+ end
145
+
146
+ context 'when keys are strings' do
147
+ let(:hash) { { 'b' => 1, 'a' => 2 } }
148
+
149
+ it 'changes original hash' do
150
+ expect { result }.to change(hash, :keys)
151
+ .from(%w[b a]).to(%w[a b])
152
+ end
153
+ end
154
+
155
+ context 'when there is a nested hash' do
156
+ let(:hash) { { b: 1, a: { d: 3, c: 4 } } }
157
+
158
+ context 'when no option is given' do
159
+ it 'changes original hash' do
160
+ expect { result }.to change(hash, :keys)
161
+ .from(%i[b a]).to(%i[a b])
162
+ end
163
+
164
+ it 'changes inner hash' do
165
+ expect { result }.to change(hash[:a], :keys)
166
+ .from(%i[d c]).to(%i[c d])
167
+ end
168
+ end
169
+
170
+ context 'when recursive option is given' do
171
+ let(:options) { { recursive: true } }
172
+
173
+ it 'changes original hash' do
174
+ expect { result }.to change(hash, :keys)
175
+ .from(%i[b a]).to(%i[a b])
176
+ end
177
+
178
+ it 'changes inner hash' do
179
+ expect { result }.to change(hash[:a], :keys)
180
+ .from(%i[d c]).to(%i[c d])
181
+ end
182
+ end
183
+
184
+ context 'when no recursive option is given' do
185
+ let(:options) { { recursive: false } }
186
+
187
+ it 'changes original hash' do
188
+ expect { result }.to change(hash, :keys)
189
+ .from(%i[b a]).to(%i[a b])
190
+ end
191
+
192
+ it 'does not change inner hash' do
193
+ expect { result }.not_to change(hash[:a], :keys)
194
+ end
195
+ end
196
+ end
197
+
198
+ context 'when it is deep nestled' do
199
+ let(:hash) { { b: 1, a: { d: 2, c: { f: 3, e: 4 } } } }
200
+
201
+ it 'changes original hash' do
202
+ expect { result }.to change(hash, :keys)
203
+ .from(%i[b a]).to(%i[a b])
204
+ end
205
+
206
+ it 'changes inner hash' do
207
+ expect { result }.to change(hash[:a], :keys)
208
+ .from(%i[d c]).to(%i[c d])
209
+ end
210
+
211
+ it 'changes deeper inner hash' do
212
+ expect { result }.to change(hash[:a][:c], :keys)
213
+ .from(%i[f e]).to(%i[e f])
214
+ end
215
+ end
216
+
217
+ context 'when it has a nestled array' do
218
+ let(:hash) { { b: 1, a: { d: 2, c: [{ f: 3, e: 4 }] } } }
219
+
220
+ it 'changes original hash' do
221
+ expect { result }.to change(hash, :keys)
222
+ .from(%i[b a]).to(%i[a b])
223
+ end
224
+
225
+ it 'changes inner hash' do
226
+ expect { result }.to change(hash[:a], :keys)
227
+ .from(%i[d c]).to(%i[c d])
228
+ end
229
+
230
+ it 'does not change array deeper inner hash' do
231
+ expect { result }.not_to(change { hash[:a][:c].map(&:keys) })
232
+ end
233
+ end
234
+ end
235
+ end
236
+
237
+ shared_examples 'a class with a keys sort method that not change self' do
238
+ describe '#sort_keys' do
239
+ let(:options) { {} }
240
+
241
+ context 'when keys are symbols' do
242
+ let(:hash) { { b: 1, a: 2 } }
243
+
244
+ it 'changes original hash' do
245
+ expect { result }.not_to change(hash, :keys)
246
+ end
247
+ end
248
+
249
+ context 'when keys are strings' do
250
+ let(:hash) { { 'b' => 1, 'a' => 2 } }
251
+
252
+ it 'changes original hash' do
253
+ expect { result }.not_to change(hash, :keys)
254
+ end
255
+ end
256
+
257
+ context 'when there is a nested hash' do
258
+ let(:hash) { { b: 1, a: { d: 3, c: 4 } } }
259
+
260
+ context 'when no option is given' do
261
+ it 'changes original hash' do
262
+ expect { result }.not_to change(hash, :keys)
263
+ end
264
+
265
+ it 'changes inner hash' do
266
+ expect { result }.not_to change(hash[:a], :keys)
267
+ end
268
+ end
269
+
270
+ context 'when recursive option is given' do
271
+ let(:options) { { recursive: true } }
272
+
273
+ it 'changes original hash' do
274
+ expect { result }.not_to change(hash, :keys)
275
+ end
276
+
277
+ it 'changes inner hash' do
278
+ expect { result }.not_to change(hash[:a], :keys)
279
+ end
280
+ end
281
+
282
+ context 'when no recursive option is given' do
283
+ let(:options) { { recursive: false } }
284
+
285
+ it 'changes original hash' do
286
+ expect { result }.not_to change(hash, :keys)
287
+ end
288
+
289
+ it 'does not change inner hash' do
290
+ expect { result }.not_to change(hash[:a], :keys)
291
+ end
292
+ end
293
+ end
294
+
295
+ context 'when it is deep nestled' do
296
+ let(:hash) { { b: 1, a: { d: 2, c: { f: 3, e: 4 } } } }
297
+
298
+ it 'changes original hash' do
299
+ expect { result }.not_to change(hash, :keys)
300
+ end
301
+
302
+ it 'changes inner hash' do
303
+ expect { result }.not_to change(hash[:a], :keys)
304
+ end
305
+
306
+ it 'changes deeper inner hash' do
307
+ expect { result }.not_to change(hash[:a][:c], :keys)
308
+ end
309
+ end
310
+
311
+ context 'when it has a nestled array' do
312
+ let(:hash) { { b: 1, a: { d: 2, c: [{ f: 3, e: 4 }] } } }
313
+
314
+ it 'changes original hash' do
315
+ expect { result }.not_to change(hash, :keys)
316
+ end
317
+
318
+ it 'changes inner hash' do
319
+ expect { result }.not_to change(hash[:a], :keys)
320
+ end
321
+
322
+ it 'does not change array deeper inner hash' do
323
+ expect { result }.not_to(change { hash[:a][:c].map(&:keys) })
64
324
  end
65
325
  end
66
326
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: darthjee-core_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darthjee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-01 00:00:00.000000000 Z
11
+ date: 2019-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.17.x
33
+ version: 1.17.3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.17.x
40
+ version: 1.17.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry-nav
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.30.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubycritic
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 4.0.2
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 4.0.2
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: simplecov
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -159,10 +173,12 @@ extra_rdoc_files: []
159
173
  files:
160
174
  - ".circleci/config.yml"
161
175
  - ".gitignore"
176
+ - ".reek.yml"
162
177
  - ".rspec"
163
178
  - ".rubocop.yml"
164
179
  - ".rubocop_todo.yml"
165
180
  - ARRAY_README.md
181
+ - CLASS_README.md
166
182
  - DATE_README.md
167
183
  - Dockerfile
168
184
  - ENUMERABLE_README.md
@@ -174,6 +190,7 @@ files:
174
190
  - README.md
175
191
  - Rakefile
176
192
  - SYMBOL_README.md
193
+ - config/rubycritc.rb
177
194
  - config/yardstick.rb
178
195
  - config/yardstick.yml
179
196
  - core_ext.gemspec
@@ -188,12 +205,13 @@ files:
188
205
  - lib/darthjee/core_ext/hash.rb
189
206
  - lib/darthjee/core_ext/hash/cameliazable.rb
190
207
  - lib/darthjee/core_ext/hash/chain_fetcher.rb
208
+ - lib/darthjee/core_ext/hash/changeable.rb
191
209
  - lib/darthjee/core_ext/hash/deep_hash_constructor.rb
210
+ - lib/darthjee/core_ext/hash/deep_hash_constructor/setter.rb
192
211
  - lib/darthjee/core_ext/hash/key_changeable.rb
193
212
  - lib/darthjee/core_ext/hash/key_changer.rb
194
213
  - lib/darthjee/core_ext/hash/keys_sorter.rb
195
214
  - lib/darthjee/core_ext/hash/squasher.rb
196
- - lib/darthjee/core_ext/hash/to_hash_mapper.rb
197
215
  - lib/darthjee/core_ext/hash/transformable.rb
198
216
  - lib/darthjee/core_ext/hash/transposeable.rb
199
217
  - lib/darthjee/core_ext/hash/value_changer.rb
@@ -204,6 +222,16 @@ files:
204
222
  - lib/darthjee/core_ext/time.rb
205
223
  - lib/darthjee/core_ext/version.rb
206
224
  - mech.jpg
225
+ - scripts/check_readme.sh
226
+ - scripts/rubycritic.sh
227
+ - spec/integration/readme/array_spec.rb
228
+ - spec/integration/readme/class_spec.rb
229
+ - spec/integration/readme/date_spec.rb
230
+ - spec/integration/readme/enumerable_spec.rb
231
+ - spec/integration/readme/hash_spec.rb
232
+ - spec/integration/readme/math_spec.rb
233
+ - spec/integration/readme/object_spec.rb
234
+ - spec/integration/readme/symbol_spec.rb
207
235
  - spec/integration/yard/darthjee/core_ext/array/hash_builder_spec.rb
208
236
  - spec/integration/yard/darthjee/core_ext/array_spec.rb
209
237
  - spec/integration/yard/darthjee/core_ext/class/default_value_spec.rb
@@ -211,18 +239,29 @@ files:
211
239
  - spec/integration/yard/darthjee/core_ext/enumerable_spec.rb
212
240
  - spec/integration/yard/darthjee/core_ext/hash/cameliazable_spec.rb
213
241
  - spec/integration/yard/darthjee/core_ext/hash/chain_fetcher_spec.rb
242
+ - spec/integration/yard/darthjee/core_ext/hash/changeable_spec.rb
243
+ - spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb
244
+ - spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor_spec.rb
214
245
  - spec/integration/yard/darthjee/core_ext/hash/key_changeable_spec.rb
246
+ - spec/integration/yard/darthjee/core_ext/hash/key_changer_spec.rb
247
+ - spec/integration/yard/darthjee/core_ext/hash/keys_sorter_spec.rb
248
+ - spec/integration/yard/darthjee/core_ext/hash/squasher_spec.rb
215
249
  - spec/integration/yard/darthjee/core_ext/hash/transformable_spec.rb
250
+ - spec/integration/yard/darthjee/core_ext/hash/transposeable_spec.rb
216
251
  - spec/integration/yard/darthjee/core_ext/hash/value_changer_spec.rb
217
252
  - spec/integration/yard/darthjee/core_ext/hash_spec.rb
253
+ - spec/integration/yard/darthjee/core_ext/math_spec.rb
254
+ - spec/integration/yard/darthjee/core_ext/numeric_spec.rb
255
+ - spec/integration/yard/darthjee/core_ext/object_spec.rb
256
+ - spec/integration/yard/darthjee/core_ext/symbol_spec.rb
218
257
  - spec/lib/array_spec.rb
219
258
  - spec/lib/class_spec.rb
220
259
  - spec/lib/darthjee/core_ext/hash/chain_fetcher_spec.rb
260
+ - spec/lib/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb
221
261
  - spec/lib/darthjee/core_ext/hash/deep_hash_constructor_spec.rb
222
262
  - spec/lib/darthjee/core_ext/hash/key_changer_spec.rb
223
263
  - spec/lib/darthjee/core_ext/hash/keys_sorter_spec.rb
224
264
  - spec/lib/darthjee/core_ext/hash/squasher_spec.rb
225
- - spec/lib/darthjee/core_ext/hash/to_hash_mapper_spec.rb
226
265
  - spec/lib/darthjee/core_ext/hash/value_changer_spec.rb
227
266
  - spec/lib/date_spec.rb
228
267
  - spec/lib/enumerable_spec.rb
@@ -233,6 +272,7 @@ files:
233
272
  - spec/lib/symbol_spec.rb
234
273
  - spec/lib/time_spec.rb
235
274
  - spec/spec_helper.rb
275
+ - spec/support/models/client.rb
236
276
  - spec/support/models/default_reader_model.rb
237
277
  - spec/support/models/default_value_model.rb
238
278
  - spec/support/models/dummy_iterator.rb
@@ -245,6 +285,7 @@ files:
245
285
  - spec/support/shared_examples/expected.rb
246
286
  - spec/support/shared_examples/hash/chain_fetch.rb
247
287
  - spec/support/shared_examples/hash/chain_hash_keys_changer.rb
288
+ - spec/support/shared_examples/hash/deep_hash.rb
248
289
  - spec/support/shared_examples/hash/hash_keys_changer.rb
249
290
  - spec/support/shared_examples/hash/hash_squasher.rb
250
291
  - spec/support/shared_examples/hash/hash_transpose.rb
@@ -266,7 +307,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
266
307
  requirements:
267
308
  - - ">="
268
309
  - !ruby/object:Gem::Version
269
- version: '0'
310
+ version: 2.4.0
270
311
  required_rubygems_version: !ruby/object:Gem::Requirement
271
312
  requirements:
272
313
  - - ">="
@@ -279,6 +320,14 @@ signing_key:
279
320
  specification_version: 4
280
321
  summary: Core Extensions
281
322
  test_files:
323
+ - spec/integration/readme/array_spec.rb
324
+ - spec/integration/readme/class_spec.rb
325
+ - spec/integration/readme/date_spec.rb
326
+ - spec/integration/readme/enumerable_spec.rb
327
+ - spec/integration/readme/hash_spec.rb
328
+ - spec/integration/readme/math_spec.rb
329
+ - spec/integration/readme/object_spec.rb
330
+ - spec/integration/readme/symbol_spec.rb
282
331
  - spec/integration/yard/darthjee/core_ext/array/hash_builder_spec.rb
283
332
  - spec/integration/yard/darthjee/core_ext/array_spec.rb
284
333
  - spec/integration/yard/darthjee/core_ext/class/default_value_spec.rb
@@ -286,18 +335,29 @@ test_files:
286
335
  - spec/integration/yard/darthjee/core_ext/enumerable_spec.rb
287
336
  - spec/integration/yard/darthjee/core_ext/hash/cameliazable_spec.rb
288
337
  - spec/integration/yard/darthjee/core_ext/hash/chain_fetcher_spec.rb
338
+ - spec/integration/yard/darthjee/core_ext/hash/changeable_spec.rb
339
+ - spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb
340
+ - spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor_spec.rb
289
341
  - spec/integration/yard/darthjee/core_ext/hash/key_changeable_spec.rb
342
+ - spec/integration/yard/darthjee/core_ext/hash/key_changer_spec.rb
343
+ - spec/integration/yard/darthjee/core_ext/hash/keys_sorter_spec.rb
344
+ - spec/integration/yard/darthjee/core_ext/hash/squasher_spec.rb
290
345
  - spec/integration/yard/darthjee/core_ext/hash/transformable_spec.rb
346
+ - spec/integration/yard/darthjee/core_ext/hash/transposeable_spec.rb
291
347
  - spec/integration/yard/darthjee/core_ext/hash/value_changer_spec.rb
292
348
  - spec/integration/yard/darthjee/core_ext/hash_spec.rb
349
+ - spec/integration/yard/darthjee/core_ext/math_spec.rb
350
+ - spec/integration/yard/darthjee/core_ext/numeric_spec.rb
351
+ - spec/integration/yard/darthjee/core_ext/object_spec.rb
352
+ - spec/integration/yard/darthjee/core_ext/symbol_spec.rb
293
353
  - spec/lib/array_spec.rb
294
354
  - spec/lib/class_spec.rb
295
355
  - spec/lib/darthjee/core_ext/hash/chain_fetcher_spec.rb
356
+ - spec/lib/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb
296
357
  - spec/lib/darthjee/core_ext/hash/deep_hash_constructor_spec.rb
297
358
  - spec/lib/darthjee/core_ext/hash/key_changer_spec.rb
298
359
  - spec/lib/darthjee/core_ext/hash/keys_sorter_spec.rb
299
360
  - spec/lib/darthjee/core_ext/hash/squasher_spec.rb
300
- - spec/lib/darthjee/core_ext/hash/to_hash_mapper_spec.rb
301
361
  - spec/lib/darthjee/core_ext/hash/value_changer_spec.rb
302
362
  - spec/lib/date_spec.rb
303
363
  - spec/lib/enumerable_spec.rb
@@ -308,6 +368,7 @@ test_files:
308
368
  - spec/lib/symbol_spec.rb
309
369
  - spec/lib/time_spec.rb
310
370
  - spec/spec_helper.rb
371
+ - spec/support/models/client.rb
311
372
  - spec/support/models/default_reader_model.rb
312
373
  - spec/support/models/default_value_model.rb
313
374
  - spec/support/models/dummy_iterator.rb
@@ -320,6 +381,7 @@ test_files:
320
381
  - spec/support/shared_examples/expected.rb
321
382
  - spec/support/shared_examples/hash/chain_fetch.rb
322
383
  - spec/support/shared_examples/hash/chain_hash_keys_changer.rb
384
+ - spec/support/shared_examples/hash/deep_hash.rb
323
385
  - spec/support/shared_examples/hash/hash_keys_changer.rb
324
386
  - spec/support/shared_examples/hash/hash_squasher.rb
325
387
  - spec/support/shared_examples/hash/hash_transpose.rb