darthjee-core_ext 1.7.4 → 2.0.0
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 +4 -4
- data/.circleci/config.yml +7 -1
- data/.gitignore +2 -0
- data/.reek.yml +3 -0
- data/ARRAY_README.md +72 -15
- data/CLASS_README.md +154 -0
- data/DATE_README.md +19 -9
- data/Dockerfile +2 -5
- data/ENUMERABLE_README.md +154 -4
- data/HASH_README.md +276 -135
- data/MATH_README.md +14 -10
- data/OBJECT_README.md +18 -35
- data/README.md +8 -4
- data/Rakefile +1 -0
- data/SYMBOL_README.md +13 -18
- data/config/rubycritc.rb +12 -0
- data/config/yardstick.yml +45 -3
- data/core_ext.gemspec +10 -8
- data/docker-compose.yml +15 -7
- data/lib/darthjee/core_ext/array.rb +17 -12
- data/lib/darthjee/core_ext/array/hash_builder.rb +20 -4
- data/lib/darthjee/core_ext/class.rb +28 -10
- data/lib/darthjee/core_ext/date.rb +1 -0
- data/lib/darthjee/core_ext/enumerable.rb +67 -30
- data/lib/darthjee/core_ext/hash.rb +4 -2
- data/lib/darthjee/core_ext/hash/cameliazable.rb +39 -8
- data/lib/darthjee/core_ext/hash/chain_fetcher.rb +17 -1
- data/lib/darthjee/core_ext/hash/changeable.rb +88 -0
- data/lib/darthjee/core_ext/hash/deep_hash_constructor.rb +127 -63
- data/lib/darthjee/core_ext/hash/deep_hash_constructor/setter.rb +112 -0
- data/lib/darthjee/core_ext/hash/key_changeable.rb +126 -54
- data/lib/darthjee/core_ext/hash/key_changer.rb +140 -40
- data/lib/darthjee/core_ext/hash/keys_sorter.rb +42 -6
- data/lib/darthjee/core_ext/hash/squasher.rb +131 -18
- data/lib/darthjee/core_ext/hash/transformable.rb +133 -41
- data/lib/darthjee/core_ext/hash/transposeable.rb +37 -8
- data/lib/darthjee/core_ext/hash/value_changer.rb +76 -36
- data/lib/darthjee/core_ext/math.rb +37 -6
- data/lib/darthjee/core_ext/numeric.rb +10 -0
- data/lib/darthjee/core_ext/object.rb +29 -0
- data/lib/darthjee/core_ext/symbol.rb +22 -2
- data/lib/darthjee/core_ext/version.rb +1 -1
- data/scripts/check_readme.sh +6 -0
- data/scripts/rubycritic.sh +10 -0
- data/spec/integration/readme/array_spec.rb +96 -0
- data/spec/integration/readme/class_spec.rb +123 -0
- data/spec/integration/readme/date_spec.rb +20 -0
- data/spec/integration/readme/enumerable_spec.rb +87 -0
- data/spec/integration/readme/hash_spec.rb +391 -0
- data/spec/integration/readme/math_spec.rb +31 -0
- data/spec/integration/readme/object_spec.rb +49 -0
- data/spec/integration/readme/symbol_spec.rb +29 -0
- data/spec/integration/yard/darthjee/core_ext/enumerable_spec.rb +24 -4
- data/spec/integration/yard/darthjee/core_ext/hash/cameliazable_spec.rb +11 -0
- data/spec/integration/yard/darthjee/core_ext/hash/changeable_spec.rb +68 -0
- data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +34 -0
- data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +65 -0
- data/spec/integration/yard/darthjee/core_ext/hash/key_changeable_spec.rb +8 -0
- data/spec/integration/yard/darthjee/core_ext/hash/key_changer_spec.rb +59 -0
- data/spec/integration/yard/darthjee/core_ext/hash/keys_sorter_spec.rb +25 -0
- data/spec/integration/yard/darthjee/core_ext/hash/squasher_spec.rb +60 -0
- data/spec/integration/yard/darthjee/core_ext/hash/transformable_spec.rb +66 -36
- data/spec/integration/yard/darthjee/core_ext/hash/transposeable_spec.rb +35 -0
- data/spec/integration/yard/darthjee/core_ext/hash_spec.rb +13 -2
- data/spec/integration/yard/darthjee/core_ext/math_spec.rb +28 -0
- data/spec/integration/yard/darthjee/core_ext/numeric_spec.rb +11 -0
- data/spec/integration/yard/darthjee/core_ext/object_spec.rb +47 -0
- data/spec/integration/yard/darthjee/core_ext/symbol_spec.rb +17 -0
- data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +64 -0
- data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +16 -156
- data/spec/lib/darthjee/core_ext/hash/keys_sorter_spec.rb +5 -4
- data/spec/lib/darthjee/core_ext/hash/squasher_spec.rb +8 -2
- data/spec/lib/darthjee/core_ext/hash/value_changer_spec.rb +4 -12
- data/spec/lib/hash_spec.rb +92 -146
- data/spec/lib/object_spec.rb +32 -0
- data/spec/support/models/client.rb +22 -0
- data/spec/support/shared_examples/hash/deep_hash.rb +166 -0
- data/spec/support/shared_examples/hash/hash_squasher.rb +54 -9
- data/spec/support/shared_examples/hash/keys_sorter.rb +266 -6
- metadata +70 -8
- data/lib/darthjee/core_ext/hash/to_hash_mapper.rb +0 -25
- 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
|
6
|
-
|
7
|
-
|
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(
|
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
|
-
|
16
|
-
|
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
|
-
|
19
|
-
|
20
|
-
|
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: {
|
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:
|
54
|
-
expect(
|
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: [{
|
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:
|
63
|
-
expect(
|
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:
|
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
|
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.
|
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.
|
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:
|
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
|