leftovers 0.2.3 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -0
- data/README.md +65 -49
- data/docs/Configuration.md +627 -0
- data/exe/leftovers +2 -2
- data/leftovers.gemspec +13 -6
- data/lib/config/attr_encrypted.yml +3 -4
- data/lib/config/audited.yml +9 -4
- data/lib/config/datagrid.yml +1 -1
- data/lib/config/flipper.yml +1 -3
- data/lib/config/graphql.yml +15 -13
- data/lib/config/okcomputer.yml +1 -3
- data/lib/config/parser.yml +89 -91
- data/lib/config/rails.yml +126 -107
- data/lib/config/redcarpet.yml +35 -38
- data/lib/config/rollbar.yml +1 -3
- data/lib/config/rspec.yml +18 -10
- data/lib/config/ruby.yml +42 -49
- data/lib/config/selenium-webdriver.yml +19 -0
- data/lib/config/sidekiq.yml +4 -8
- data/lib/config/will_paginate.yml +12 -14
- data/lib/leftovers.rb +66 -54
- data/lib/leftovers/ast.rb +8 -0
- data/lib/leftovers/ast/builder.rb +6 -3
- data/lib/leftovers/ast/node.rb +66 -107
- data/lib/leftovers/backports.rb +24 -40
- data/lib/leftovers/cli.rb +27 -15
- data/lib/leftovers/collector.rb +8 -11
- data/lib/leftovers/config.rb +38 -13
- data/lib/leftovers/config_validator.rb +60 -0
- data/lib/leftovers/config_validator/error_processor.rb +196 -0
- data/lib/leftovers/config_validator/schema_hash.rb +496 -0
- data/lib/leftovers/definition.rb +16 -41
- data/lib/leftovers/definition_node.rb +36 -0
- data/lib/leftovers/definition_set.rb +17 -24
- data/lib/leftovers/dynamic_processors.rb +11 -0
- data/lib/leftovers/dynamic_processors/call.rb +25 -0
- data/lib/leftovers/dynamic_processors/call_definition.rb +31 -0
- data/lib/leftovers/dynamic_processors/definition.rb +26 -0
- data/lib/leftovers/dynamic_processors/each.rb +19 -0
- data/lib/leftovers/dynamic_processors/null.rb +9 -0
- data/lib/leftovers/erb.rb +2 -2
- data/lib/leftovers/file.rb +3 -5
- data/lib/leftovers/file_collector.rb +79 -61
- data/lib/leftovers/file_list.rb +9 -15
- data/lib/leftovers/haml.rb +9 -12
- data/lib/leftovers/matcher_builders.rb +24 -0
- data/lib/leftovers/matcher_builders/and.rb +19 -0
- data/lib/leftovers/matcher_builders/and_not.rb +14 -0
- data/lib/leftovers/matcher_builders/argument_node_value.rb +21 -0
- data/lib/leftovers/matcher_builders/name.rb +29 -0
- data/lib/leftovers/matcher_builders/node.rb +40 -0
- data/lib/leftovers/matcher_builders/node_has_argument.rb +71 -0
- data/lib/leftovers/matcher_builders/node_has_keyword_argument.rb +22 -0
- data/lib/leftovers/matcher_builders/node_has_positional_argument.rb +24 -0
- data/lib/leftovers/matcher_builders/node_name.rb +15 -0
- data/lib/leftovers/matcher_builders/node_pair_name.rb +18 -0
- data/lib/leftovers/matcher_builders/node_pair_value.rb +16 -0
- data/lib/leftovers/matcher_builders/node_path.rb +14 -0
- data/lib/leftovers/matcher_builders/node_type.rb +28 -0
- data/lib/leftovers/matcher_builders/or.rb +73 -0
- data/lib/leftovers/matcher_builders/path.rb +15 -0
- data/lib/leftovers/matcher_builders/string.rb +11 -0
- data/lib/leftovers/matcher_builders/string_pattern.rb +19 -0
- data/lib/leftovers/matcher_builders/unless.rb +13 -0
- data/lib/leftovers/matchers.rb +26 -0
- data/lib/leftovers/matchers/all.rb +25 -0
- data/lib/leftovers/matchers/and.rb +24 -0
- data/lib/leftovers/matchers/any.rb +27 -0
- data/lib/leftovers/matchers/node_has_any_keyword_argument.rb +28 -0
- data/lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb +25 -0
- data/lib/leftovers/matchers/node_has_positional_argument.rb +23 -0
- data/lib/leftovers/matchers/node_has_positional_argument_with_value.rb +25 -0
- data/lib/leftovers/matchers/node_name.rb +23 -0
- data/lib/leftovers/matchers/node_pair_value.rb +23 -0
- data/lib/leftovers/matchers/node_path.rb +23 -0
- data/lib/leftovers/matchers/node_scalar_value.rb +25 -0
- data/lib/leftovers/matchers/node_type.rb +23 -0
- data/lib/leftovers/matchers/not.rb +23 -0
- data/lib/leftovers/matchers/or.rb +26 -0
- data/lib/leftovers/merged_config.rb +29 -14
- data/lib/leftovers/parser.rb +1 -4
- data/lib/leftovers/processor_builders.rb +22 -0
- data/lib/leftovers/processor_builders/action.rb +63 -0
- data/lib/leftovers/processor_builders/add_prefix.rb +20 -0
- data/lib/leftovers/processor_builders/add_suffix.rb +20 -0
- data/lib/leftovers/processor_builders/argument.rb +25 -0
- data/lib/leftovers/processor_builders/dynamic.rb +27 -0
- data/lib/leftovers/processor_builders/each.rb +36 -0
- data/lib/leftovers/processor_builders/each_action.rb +51 -0
- data/lib/leftovers/processor_builders/each_dynamic.rb +54 -0
- data/lib/leftovers/processor_builders/each_for_definition_set.rb +36 -0
- data/lib/leftovers/processor_builders/itself.rb +13 -0
- data/lib/leftovers/processor_builders/keyword.rb +24 -0
- data/lib/leftovers/processor_builders/keyword_argument.rb +14 -0
- data/lib/leftovers/processor_builders/transform.rb +55 -0
- data/lib/leftovers/processor_builders/transform_chain.rb +24 -0
- data/lib/leftovers/processor_builders/transform_set.rb +47 -0
- data/lib/leftovers/processor_builders/value.rb +13 -0
- data/lib/leftovers/rake_task.rb +4 -4
- data/lib/leftovers/reporter.rb +56 -4
- data/lib/leftovers/todo_reporter.rb +124 -0
- data/lib/leftovers/value_processors.rb +40 -0
- data/lib/leftovers/value_processors/add_dynamic_prefix.rb +31 -0
- data/lib/leftovers/value_processors/add_dynamic_suffix.rb +31 -0
- data/lib/leftovers/value_processors/add_prefix.rb +20 -0
- data/lib/leftovers/value_processors/add_suffix.rb +20 -0
- data/lib/leftovers/value_processors/camelize.rb +24 -0
- data/lib/leftovers/value_processors/capitalize.rb +19 -0
- data/lib/leftovers/value_processors/deconstantize.rb +24 -0
- data/lib/leftovers/value_processors/delete_after.rb +22 -0
- data/lib/leftovers/value_processors/delete_before.rb +22 -0
- data/lib/leftovers/value_processors/delete_prefix.rb +26 -0
- data/lib/leftovers/value_processors/delete_suffix.rb +26 -0
- data/lib/leftovers/value_processors/demodulize.rb +24 -0
- data/lib/leftovers/value_processors/downcase.rb +19 -0
- data/lib/leftovers/value_processors/each.rb +21 -0
- data/lib/leftovers/value_processors/each_for_definition_set.rb +29 -0
- data/lib/leftovers/value_processors/each_keyword.rb +27 -0
- data/lib/leftovers/value_processors/each_keyword_argument.rb +27 -0
- data/lib/leftovers/value_processors/each_positional_argument.rb +24 -0
- data/lib/leftovers/value_processors/itself.rb +17 -0
- data/lib/leftovers/value_processors/keyword.rb +36 -0
- data/lib/leftovers/value_processors/keyword_argument.rb +36 -0
- data/lib/leftovers/value_processors/parameterize.rb +24 -0
- data/lib/leftovers/value_processors/placeholder.rb +18 -0
- data/lib/leftovers/value_processors/pluralize.rb +24 -0
- data/lib/leftovers/value_processors/positional_argument.rb +26 -0
- data/lib/leftovers/value_processors/replace_value.rb +18 -0
- data/lib/leftovers/value_processors/return_definition.rb +26 -0
- data/lib/leftovers/value_processors/return_string.rb +14 -0
- data/lib/leftovers/value_processors/singularize.rb +24 -0
- data/lib/leftovers/value_processors/split.rb +22 -0
- data/lib/leftovers/value_processors/swapcase.rb +19 -0
- data/lib/leftovers/value_processors/titleize.rb +24 -0
- data/lib/leftovers/value_processors/underscore.rb +24 -0
- data/lib/leftovers/value_processors/upcase.rb +19 -0
- data/lib/leftovers/version.rb +1 -1
- metadata +201 -25
- data/lib/config/selenium.yml +0 -21
- data/lib/leftovers/argument_rule.rb +0 -219
- data/lib/leftovers/core_ext.rb +0 -13
- data/lib/leftovers/hash_rule.rb +0 -40
- data/lib/leftovers/name_rule.rb +0 -53
- data/lib/leftovers/rule.rb +0 -74
- data/lib/leftovers/transform_rule.rb +0 -171
- data/lib/leftovers/value_rule.rb +0 -56
data/lib/leftovers/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: leftovers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dana Sherson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: benchmark-ips
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,42 +114,98 @@ dependencies:
|
|
100
114
|
requirements:
|
101
115
|
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
117
|
+
version: 0.93.1
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
124
|
+
version: 0.93.1
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rubocop-performance
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - "~>"
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
131
|
+
version: 1.8.1
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
136
|
- - "~>"
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 1.8.1
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: rubocop-rspec
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
145
|
+
version: 1.44.1
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
152
|
+
version: 1.44.1
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 0.18.5
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 0.18.5
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: simplecov-console
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: timecop
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: tty_string
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: 0.2.1
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 0.2.1
|
139
209
|
- !ruby/object:Gem::Dependency
|
140
210
|
name: spellr
|
141
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +226,28 @@ dependencies:
|
|
156
226
|
requirements:
|
157
227
|
- - ">="
|
158
228
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
229
|
+
version: 0.15.1
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: 0.15.1
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: json_schemer
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
160
244
|
type: :runtime
|
161
245
|
prerelease: false
|
162
246
|
version_requirements: !ruby/object:Gem::Requirement
|
163
247
|
requirements:
|
164
248
|
- - ">="
|
165
249
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0
|
250
|
+
version: '0'
|
167
251
|
- !ruby/object:Gem::Dependency
|
168
252
|
name: parallel
|
169
253
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,7 +276,7 @@ dependencies:
|
|
192
276
|
- - ">="
|
193
277
|
- !ruby/object:Gem::Version
|
194
278
|
version: '0'
|
195
|
-
description:
|
279
|
+
description:
|
196
280
|
email:
|
197
281
|
- robot@dana.sh
|
198
282
|
executables:
|
@@ -204,6 +288,7 @@ files:
|
|
204
288
|
- Gemfile
|
205
289
|
- LICENSE.txt
|
206
290
|
- README.md
|
291
|
+
- docs/Configuration.md
|
207
292
|
- exe/leftovers
|
208
293
|
- leftovers.gemspec
|
209
294
|
- lib/config/attr_encrypted.yml
|
@@ -226,35 +311,126 @@ files:
|
|
226
311
|
- lib/config/rollbar.yml
|
227
312
|
- lib/config/rspec.yml
|
228
313
|
- lib/config/ruby.yml
|
229
|
-
- lib/config/selenium.yml
|
314
|
+
- lib/config/selenium-webdriver.yml
|
230
315
|
- lib/config/sidekiq.yml
|
231
316
|
- lib/config/simplecov.yml
|
232
317
|
- lib/config/will_paginate.yml
|
233
318
|
- lib/leftovers.rb
|
234
|
-
- lib/leftovers/
|
319
|
+
- lib/leftovers/ast.rb
|
235
320
|
- lib/leftovers/ast/builder.rb
|
236
321
|
- lib/leftovers/ast/node.rb
|
237
322
|
- lib/leftovers/backports.rb
|
238
323
|
- lib/leftovers/cli.rb
|
239
324
|
- lib/leftovers/collector.rb
|
240
325
|
- lib/leftovers/config.rb
|
241
|
-
- lib/leftovers/
|
326
|
+
- lib/leftovers/config_validator.rb
|
327
|
+
- lib/leftovers/config_validator/error_processor.rb
|
328
|
+
- lib/leftovers/config_validator/schema_hash.rb
|
242
329
|
- lib/leftovers/definition.rb
|
330
|
+
- lib/leftovers/definition_node.rb
|
243
331
|
- lib/leftovers/definition_set.rb
|
332
|
+
- lib/leftovers/dynamic_processors.rb
|
333
|
+
- lib/leftovers/dynamic_processors/call.rb
|
334
|
+
- lib/leftovers/dynamic_processors/call_definition.rb
|
335
|
+
- lib/leftovers/dynamic_processors/definition.rb
|
336
|
+
- lib/leftovers/dynamic_processors/each.rb
|
337
|
+
- lib/leftovers/dynamic_processors/null.rb
|
244
338
|
- lib/leftovers/erb.rb
|
245
339
|
- lib/leftovers/file.rb
|
246
340
|
- lib/leftovers/file_collector.rb
|
247
341
|
- lib/leftovers/file_list.rb
|
248
342
|
- lib/leftovers/haml.rb
|
249
|
-
- lib/leftovers/
|
343
|
+
- lib/leftovers/matcher_builders.rb
|
344
|
+
- lib/leftovers/matcher_builders/and.rb
|
345
|
+
- lib/leftovers/matcher_builders/and_not.rb
|
346
|
+
- lib/leftovers/matcher_builders/argument_node_value.rb
|
347
|
+
- lib/leftovers/matcher_builders/name.rb
|
348
|
+
- lib/leftovers/matcher_builders/node.rb
|
349
|
+
- lib/leftovers/matcher_builders/node_has_argument.rb
|
350
|
+
- lib/leftovers/matcher_builders/node_has_keyword_argument.rb
|
351
|
+
- lib/leftovers/matcher_builders/node_has_positional_argument.rb
|
352
|
+
- lib/leftovers/matcher_builders/node_name.rb
|
353
|
+
- lib/leftovers/matcher_builders/node_pair_name.rb
|
354
|
+
- lib/leftovers/matcher_builders/node_pair_value.rb
|
355
|
+
- lib/leftovers/matcher_builders/node_path.rb
|
356
|
+
- lib/leftovers/matcher_builders/node_type.rb
|
357
|
+
- lib/leftovers/matcher_builders/or.rb
|
358
|
+
- lib/leftovers/matcher_builders/path.rb
|
359
|
+
- lib/leftovers/matcher_builders/string.rb
|
360
|
+
- lib/leftovers/matcher_builders/string_pattern.rb
|
361
|
+
- lib/leftovers/matcher_builders/unless.rb
|
362
|
+
- lib/leftovers/matchers.rb
|
363
|
+
- lib/leftovers/matchers/all.rb
|
364
|
+
- lib/leftovers/matchers/and.rb
|
365
|
+
- lib/leftovers/matchers/any.rb
|
366
|
+
- lib/leftovers/matchers/node_has_any_keyword_argument.rb
|
367
|
+
- lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb
|
368
|
+
- lib/leftovers/matchers/node_has_positional_argument.rb
|
369
|
+
- lib/leftovers/matchers/node_has_positional_argument_with_value.rb
|
370
|
+
- lib/leftovers/matchers/node_name.rb
|
371
|
+
- lib/leftovers/matchers/node_pair_value.rb
|
372
|
+
- lib/leftovers/matchers/node_path.rb
|
373
|
+
- lib/leftovers/matchers/node_scalar_value.rb
|
374
|
+
- lib/leftovers/matchers/node_type.rb
|
375
|
+
- lib/leftovers/matchers/not.rb
|
376
|
+
- lib/leftovers/matchers/or.rb
|
250
377
|
- lib/leftovers/merged_config.rb
|
251
|
-
- lib/leftovers/name_rule.rb
|
252
378
|
- lib/leftovers/parser.rb
|
379
|
+
- lib/leftovers/processor_builders.rb
|
380
|
+
- lib/leftovers/processor_builders/action.rb
|
381
|
+
- lib/leftovers/processor_builders/add_prefix.rb
|
382
|
+
- lib/leftovers/processor_builders/add_suffix.rb
|
383
|
+
- lib/leftovers/processor_builders/argument.rb
|
384
|
+
- lib/leftovers/processor_builders/dynamic.rb
|
385
|
+
- lib/leftovers/processor_builders/each.rb
|
386
|
+
- lib/leftovers/processor_builders/each_action.rb
|
387
|
+
- lib/leftovers/processor_builders/each_dynamic.rb
|
388
|
+
- lib/leftovers/processor_builders/each_for_definition_set.rb
|
389
|
+
- lib/leftovers/processor_builders/itself.rb
|
390
|
+
- lib/leftovers/processor_builders/keyword.rb
|
391
|
+
- lib/leftovers/processor_builders/keyword_argument.rb
|
392
|
+
- lib/leftovers/processor_builders/transform.rb
|
393
|
+
- lib/leftovers/processor_builders/transform_chain.rb
|
394
|
+
- lib/leftovers/processor_builders/transform_set.rb
|
395
|
+
- lib/leftovers/processor_builders/value.rb
|
253
396
|
- lib/leftovers/rake_task.rb
|
254
397
|
- lib/leftovers/reporter.rb
|
255
|
-
- lib/leftovers/
|
256
|
-
- lib/leftovers/
|
257
|
-
- lib/leftovers/
|
398
|
+
- lib/leftovers/todo_reporter.rb
|
399
|
+
- lib/leftovers/value_processors.rb
|
400
|
+
- lib/leftovers/value_processors/add_dynamic_prefix.rb
|
401
|
+
- lib/leftovers/value_processors/add_dynamic_suffix.rb
|
402
|
+
- lib/leftovers/value_processors/add_prefix.rb
|
403
|
+
- lib/leftovers/value_processors/add_suffix.rb
|
404
|
+
- lib/leftovers/value_processors/camelize.rb
|
405
|
+
- lib/leftovers/value_processors/capitalize.rb
|
406
|
+
- lib/leftovers/value_processors/deconstantize.rb
|
407
|
+
- lib/leftovers/value_processors/delete_after.rb
|
408
|
+
- lib/leftovers/value_processors/delete_before.rb
|
409
|
+
- lib/leftovers/value_processors/delete_prefix.rb
|
410
|
+
- lib/leftovers/value_processors/delete_suffix.rb
|
411
|
+
- lib/leftovers/value_processors/demodulize.rb
|
412
|
+
- lib/leftovers/value_processors/downcase.rb
|
413
|
+
- lib/leftovers/value_processors/each.rb
|
414
|
+
- lib/leftovers/value_processors/each_for_definition_set.rb
|
415
|
+
- lib/leftovers/value_processors/each_keyword.rb
|
416
|
+
- lib/leftovers/value_processors/each_keyword_argument.rb
|
417
|
+
- lib/leftovers/value_processors/each_positional_argument.rb
|
418
|
+
- lib/leftovers/value_processors/itself.rb
|
419
|
+
- lib/leftovers/value_processors/keyword.rb
|
420
|
+
- lib/leftovers/value_processors/keyword_argument.rb
|
421
|
+
- lib/leftovers/value_processors/parameterize.rb
|
422
|
+
- lib/leftovers/value_processors/placeholder.rb
|
423
|
+
- lib/leftovers/value_processors/pluralize.rb
|
424
|
+
- lib/leftovers/value_processors/positional_argument.rb
|
425
|
+
- lib/leftovers/value_processors/replace_value.rb
|
426
|
+
- lib/leftovers/value_processors/return_definition.rb
|
427
|
+
- lib/leftovers/value_processors/return_string.rb
|
428
|
+
- lib/leftovers/value_processors/singularize.rb
|
429
|
+
- lib/leftovers/value_processors/split.rb
|
430
|
+
- lib/leftovers/value_processors/swapcase.rb
|
431
|
+
- lib/leftovers/value_processors/titleize.rb
|
432
|
+
- lib/leftovers/value_processors/underscore.rb
|
433
|
+
- lib/leftovers/value_processors/upcase.rb
|
258
434
|
- lib/leftovers/version.rb
|
259
435
|
homepage: http://github.com/robotdana/leftovers
|
260
436
|
licenses:
|
@@ -262,8 +438,8 @@ licenses:
|
|
262
438
|
metadata:
|
263
439
|
homepage_uri: http://github.com/robotdana/leftovers
|
264
440
|
source_code_uri: http://github.com/robotdana/leftovers
|
265
|
-
changelog_uri: http://github.com/robotdana/leftovers/blob/
|
266
|
-
post_install_message:
|
441
|
+
changelog_uri: http://github.com/robotdana/leftovers/blob/main/CHANGELOG.md
|
442
|
+
post_install_message:
|
267
443
|
rdoc_options: []
|
268
444
|
require_paths:
|
269
445
|
- lib
|
@@ -271,15 +447,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
271
447
|
requirements:
|
272
448
|
- - ">="
|
273
449
|
- !ruby/object:Gem::Version
|
274
|
-
version:
|
450
|
+
version: 2.4.0
|
275
451
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
276
452
|
requirements:
|
277
453
|
- - ">="
|
278
454
|
- !ruby/object:Gem::Version
|
279
455
|
version: '0'
|
280
456
|
requirements: []
|
281
|
-
rubygems_version: 3.1.
|
282
|
-
signing_key:
|
457
|
+
rubygems_version: 3.1.6
|
458
|
+
signing_key:
|
283
459
|
specification_version: 4
|
284
460
|
summary: Find unused methods and classes/modules
|
285
461
|
test_files: []
|
data/lib/config/selenium.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
rules:
|
2
|
-
skip: true
|
3
|
-
name:
|
4
|
-
- before_navigate_to
|
5
|
-
- before_navigate_back
|
6
|
-
- after_navigate_back
|
7
|
-
- before_navigate_forward
|
8
|
-
- after_navigate_forward
|
9
|
-
- before_find
|
10
|
-
- after_find
|
11
|
-
- before_click
|
12
|
-
- before_change_value_of
|
13
|
-
- after_change_value_of
|
14
|
-
- before_execute_script
|
15
|
-
- after_execute_script
|
16
|
-
- before_quit
|
17
|
-
- before_close
|
18
|
-
- after_navigate_to
|
19
|
-
- after_click
|
20
|
-
- after_quit
|
21
|
-
- after_close
|
@@ -1,219 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'definition'
|
4
|
-
require_relative 'definition_set'
|
5
|
-
require_relative 'name_rule'
|
6
|
-
require_relative 'transform_rule'
|
7
|
-
require_relative 'hash_rule'
|
8
|
-
|
9
|
-
module Leftovers
|
10
|
-
class ArgumentRule # rubocop:disable Metrics/ClassLength
|
11
|
-
def self.wrap(rules, definer: false) # rubocop:disable Metrics/MethodLength
|
12
|
-
case rules
|
13
|
-
when Array
|
14
|
-
rules.flat_map { |r| wrap(r, definer: definer) }
|
15
|
-
when Hash
|
16
|
-
[new(**rules, definer: definer)]
|
17
|
-
else
|
18
|
-
[]
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
ADDITIONAL_VALID_KEYS = Leftovers::TransformRule::VALID_TRANSFORMS + %i{if unless}
|
23
|
-
def initialize( # rubocop:disable Metrics/ParameterLists, Metrics/MethodLength, Metrics/CyclomaticComplexity
|
24
|
-
argument: nil,
|
25
|
-
arguments: nil,
|
26
|
-
key: nil,
|
27
|
-
keys: nil,
|
28
|
-
itself: false,
|
29
|
-
linked_transforms: nil,
|
30
|
-
transforms: nil,
|
31
|
-
definer: false,
|
32
|
-
**options
|
33
|
-
)
|
34
|
-
assert_valid_keys(options, ADDITIONAL_VALID_KEYS)
|
35
|
-
prepare_argument(argument, arguments)
|
36
|
-
@key = prepare_key(key, keys)
|
37
|
-
@itself = itself
|
38
|
-
|
39
|
-
unless @positions || @keywords || @all_positions || @all_keywords || @key || @itself
|
40
|
-
raise ArgumentError, "require at least one of 'argument(s)', 'key(s)', itself"
|
41
|
-
end
|
42
|
-
|
43
|
-
@if = prepare_condition(options.delete(:if))
|
44
|
-
@unless = prepare_condition(options.delete(:unless))
|
45
|
-
@transforms = prepare_transform(options, transforms, linked_transforms)
|
46
|
-
@definer = definer
|
47
|
-
end
|
48
|
-
|
49
|
-
def prepare_transform(options, transforms, linked_transforms) # rubocop:disable Metrics/MethodLength, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize
|
50
|
-
if linked_transforms && transforms
|
51
|
-
raise ArgumentError, 'Only use one of linked_transforms/transforms'
|
52
|
-
end
|
53
|
-
return if !linked_transforms && !transforms && options.empty?
|
54
|
-
|
55
|
-
if !(linked_transforms || transforms)
|
56
|
-
@transform = TransformRule.new(options)
|
57
|
-
else
|
58
|
-
@linked = !!linked_transforms
|
59
|
-
|
60
|
-
transforms = (linked_transforms || transforms).map do |transform|
|
61
|
-
transform = { transform.to_sym => true } if transform.is_a?(String)
|
62
|
-
Leftovers::TransformRule.new(options.merge(transform))
|
63
|
-
end
|
64
|
-
|
65
|
-
if transforms.length <= 1
|
66
|
-
@transform = transforms.first
|
67
|
-
else
|
68
|
-
@transforms = transforms
|
69
|
-
end
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def prepare_condition(conditions)
|
74
|
-
Leftovers.array_wrap(conditions).each do |cond|
|
75
|
-
cond[:has_argument] = HashRule.new(cond[:has_argument]) if cond[:has_argument]
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
def prepare_key(key, keys)
|
80
|
-
raise ArgumentError, 'Only use one of key/keys' if key && keys
|
81
|
-
|
82
|
-
key || keys
|
83
|
-
end
|
84
|
-
|
85
|
-
def prepare_argument(argument, arguments) # rubocop:disable Metrics/PerceivedComplexity, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/AbcSize
|
86
|
-
raise ArgumentError, 'Only use one of argument/arguments' if argument && arguments
|
87
|
-
|
88
|
-
positions = Set.new
|
89
|
-
keywords = []
|
90
|
-
|
91
|
-
Leftovers.each_or_self(argument || arguments) do |arg|
|
92
|
-
case arg
|
93
|
-
when '*'
|
94
|
-
@all_positions = true
|
95
|
-
when '**'
|
96
|
-
@all_keywords = true
|
97
|
-
when Integer
|
98
|
-
positions << arg - 1
|
99
|
-
when String, Symbol, Hash
|
100
|
-
keywords << arg
|
101
|
-
end
|
102
|
-
end
|
103
|
-
|
104
|
-
@positions = positions unless @all_positions || positions.empty? || @all_positions
|
105
|
-
@keywords = NameRule.new(keywords) unless @all_keywords || keywords.empty?
|
106
|
-
end
|
107
|
-
|
108
|
-
def matches(method_node) # rubocop:disable Metrics/MethodLength, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity, Metrics/AbcSize
|
109
|
-
return [].freeze unless all_conditions_match?(method_node)
|
110
|
-
|
111
|
-
result = []
|
112
|
-
|
113
|
-
if @all_positions
|
114
|
-
result.leftovers_append values(method_node.positional_arguments, method_node)
|
115
|
-
elsif @positions
|
116
|
-
result.leftovers_append(
|
117
|
-
values(method_node.positional_arguments_at(@positions).compact, method_node)
|
118
|
-
)
|
119
|
-
end
|
120
|
-
|
121
|
-
if @keywords || @all_keywords || @key
|
122
|
-
result.leftovers_append hash_values(method_node.kwargs, method_node)
|
123
|
-
end
|
124
|
-
result << method_value(method_node) if @itself
|
125
|
-
|
126
|
-
result
|
127
|
-
end
|
128
|
-
|
129
|
-
def values(value_nodes, method_node)
|
130
|
-
value_nodes.flat_map { |value_node| value(value_node, method_node) }.compact
|
131
|
-
end
|
132
|
-
|
133
|
-
def all_conditions_match?(method_node)
|
134
|
-
@if.all? { |c| condition_match?(c, method_node) } &&
|
135
|
-
@unless.all? { |c| !condition_match?(c, method_node) }
|
136
|
-
end
|
137
|
-
|
138
|
-
def condition_match?(condition, method_name)
|
139
|
-
return unless condition[:has_argument]
|
140
|
-
|
141
|
-
hash_node = method_name.kwargs
|
142
|
-
return false unless hash_node
|
143
|
-
|
144
|
-
hash_node.each_pair.any? { |key, value| condition[:has_argument].match_pair?(key, value) }
|
145
|
-
end
|
146
|
-
|
147
|
-
def hash_values(hash_node, method_node) # rubocop:disable Metrics/MethodLength
|
148
|
-
return unless hash_node
|
149
|
-
|
150
|
-
value_nodes = []
|
151
|
-
value_nodes.concat hash_node.keys if @key
|
152
|
-
|
153
|
-
if @all_keywords
|
154
|
-
value_nodes.concat(hash_node.values)
|
155
|
-
elsif @keywords
|
156
|
-
value_nodes.concat(hash_node.values_at_match(@keywords))
|
157
|
-
end
|
158
|
-
|
159
|
-
values(value_nodes, method_node)
|
160
|
-
end
|
161
|
-
|
162
|
-
def value(value_node, method_node) # rubocop:disable Metrics/MethodLength
|
163
|
-
return unless value_node
|
164
|
-
|
165
|
-
value_node = value_node.unwrap_freeze
|
166
|
-
|
167
|
-
case value_node.type
|
168
|
-
when :array
|
169
|
-
values(value_node.values, method_node)
|
170
|
-
when :hash
|
171
|
-
hash_values(value_node, method_node)
|
172
|
-
when :str, :sym
|
173
|
-
symbol_values(value_node, method_node)
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
SPLIT = /[.:]+/.freeze
|
178
|
-
def symbol_values(symbol_node, method_node) # rubocop:disable Metrics/MethodLength
|
179
|
-
subnodes = Array(transform(symbol_node.to_s, method_node))
|
180
|
-
.flat_map { |s| s.to_s.split(SPLIT).map(&:to_sym) }
|
181
|
-
|
182
|
-
return subnodes unless @definer
|
183
|
-
|
184
|
-
location = symbol_node.loc.expression
|
185
|
-
if @linked
|
186
|
-
Leftovers::DefinitionSet.new(subnodes, location: location, method_node: method_node)
|
187
|
-
else
|
188
|
-
subnodes.map do |subnode|
|
189
|
-
Leftovers::Definition.new(subnode, location: location, method_node: method_node)
|
190
|
-
end
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
|
-
def method_value(method_node)
|
195
|
-
value = transform(method_node.to_s, method_node)
|
196
|
-
|
197
|
-
return value unless @definer
|
198
|
-
|
199
|
-
Leftovers::Definition.new(value, method_node: method_node)
|
200
|
-
end
|
201
|
-
|
202
|
-
def transform(string, method_node)
|
203
|
-
return string unless @transform || @transforms
|
204
|
-
return @transform.transform(string, method_node) if @transform
|
205
|
-
|
206
|
-
@transforms.map do |transform|
|
207
|
-
transform.transform(string, method_node)
|
208
|
-
end
|
209
|
-
end
|
210
|
-
|
211
|
-
def assert_valid_keys(options, keys)
|
212
|
-
invalid = options.keys - keys
|
213
|
-
|
214
|
-
return if invalid.empty?
|
215
|
-
|
216
|
-
raise ArgumentError, "unknown keyword#{'s' if invalid.length > 1}: #{invalid.join(', ')}"
|
217
|
-
end
|
218
|
-
end
|
219
|
-
end
|