leftovers 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +7 -7
- data/docs/Configuration.md +141 -32
- data/docs/Custom-Precompilers.md +6 -0
- data/leftovers.gemspec +2 -1
- data/lib/config/actioncable.yml +36 -0
- data/lib/config/actionmailbox.yml +28 -0
- data/lib/config/actionmailer.yml +87 -11
- data/lib/config/actionpack.yml +130 -34
- data/lib/config/actiontext.yml +56 -0
- data/lib/config/actionview.yml +194 -44
- data/lib/config/activejob.yml +15 -8
- data/lib/config/activemodel.yml +175 -18
- data/lib/config/activerecord.yml +397 -86
- data/lib/config/activestorage.yml +26 -0
- data/lib/config/activesupport.yml +167 -24
- data/lib/config/leftovers.yml +48 -0
- data/lib/config/rails.yml +7 -3
- data/lib/config/railties.yml +7 -0
- data/lib/config/ruby.yml +438 -83
- data/lib/config/test-unit.yml +8 -0
- data/lib/leftovers/ast/array_node.rb +12 -0
- data/lib/leftovers/ast/block_node.rb +12 -0
- data/lib/leftovers/ast/builder.rb +24 -5
- data/lib/leftovers/ast/casgn_node.rb +20 -0
- data/lib/leftovers/ast/const_node.rb +15 -0
- data/lib/leftovers/ast/def_node.rb +15 -0
- data/lib/leftovers/ast/defs_node.rb +15 -0
- data/lib/leftovers/ast/false_node.rb +24 -0
- data/lib/leftovers/ast/has_arguments.rb +31 -0
- data/lib/leftovers/ast/hash_node.rb +17 -0
- data/lib/leftovers/ast/module_node.rb +16 -0
- data/lib/leftovers/ast/nil_node.rb +23 -0
- data/lib/leftovers/ast/node.rb +33 -90
- data/lib/leftovers/ast/numeric_node.rb +22 -0
- data/lib/leftovers/ast/send_node.rb +25 -0
- data/lib/leftovers/ast/str_node.rb +24 -0
- data/lib/leftovers/ast/sym_node.rb +25 -0
- data/lib/leftovers/ast/true_node.rb +24 -0
- data/lib/leftovers/ast/var_node.rb +14 -0
- data/lib/leftovers/ast/vasgn_node.rb +20 -0
- data/lib/leftovers/ast.rb +18 -0
- data/lib/leftovers/cli.rb +7 -1
- data/lib/leftovers/comparable_instance.rb +18 -0
- data/lib/leftovers/config_loader/argument_position_schema.rb +3 -1
- data/lib/leftovers/config_loader/array_schema.rb +53 -0
- data/lib/leftovers/config_loader/document_schema.rb +3 -2
- data/lib/leftovers/config_loader/dynamic_schema.rb +1 -0
- data/lib/leftovers/config_loader/has_value_schema.rb +4 -0
- data/lib/leftovers/config_loader/keyword_argument_schema.rb +13 -0
- data/lib/leftovers/config_loader/regexp_schema.rb +27 -0
- data/lib/leftovers/config_loader/rule_pattern_schema.rb +2 -0
- data/lib/leftovers/config_loader/scalar_value_schema.rb +8 -0
- data/lib/leftovers/config_loader/schema.rb +10 -0
- data/lib/leftovers/config_loader/string_enum_schema.rb +1 -1
- data/lib/leftovers/config_loader/string_pattern_schema.rb +1 -1
- data/lib/leftovers/config_loader/transform_schema.rb +12 -6
- data/lib/leftovers/config_loader/value_matcher_condition_schema.rb +13 -0
- data/lib/leftovers/config_loader/value_matcher_schema.rb +4 -1
- data/lib/leftovers/config_loader/value_or_array_schema.rb +2 -34
- data/lib/leftovers/config_loader/value_processor_schema.rb +2 -2
- data/lib/leftovers/config_loader.rb +11 -4
- data/lib/leftovers/definition_collection.rb +37 -0
- data/lib/leftovers/definition_node_set.rb +10 -2
- data/lib/leftovers/file.rb +1 -1
- data/lib/leftovers/file_collector/comments_processor.rb +1 -1
- data/lib/leftovers/file_collector/node_processor.rb +7 -7
- data/lib/leftovers/file_collector.rb +26 -32
- data/lib/leftovers/file_list.rb +3 -2
- data/lib/leftovers/matcher_builders/and.rb +26 -9
- data/lib/leftovers/matcher_builders/node.rb +32 -20
- data/lib/leftovers/matcher_builders/node_has_keyword_argument.rb +3 -1
- data/lib/leftovers/matcher_builders/node_pair_key.rb +16 -0
- data/lib/leftovers/matcher_builders/node_type.rb +9 -9
- data/lib/leftovers/matcher_builders/node_value.rb +23 -9
- data/lib/leftovers/matcher_builders/or.rb +22 -7
- data/lib/leftovers/matcher_builders/path.rb +3 -1
- data/lib/leftovers/matcher_builders.rb +1 -1
- data/lib/leftovers/matchers/all.rb +4 -0
- data/lib/leftovers/matchers/and.rb +4 -0
- data/lib/leftovers/matchers/any.rb +2 -0
- data/lib/leftovers/matchers/node_has_any_keyword_argument.rb +7 -4
- data/lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb +5 -4
- data/lib/leftovers/matchers/node_has_positional_argument.rb +5 -1
- data/lib/leftovers/matchers/node_has_positional_argument_with_value.rb +6 -1
- data/lib/leftovers/matchers/node_has_receiver.rb +4 -0
- data/lib/leftovers/matchers/node_is_proc.rb +13 -0
- data/lib/leftovers/matchers/node_name.rb +9 -3
- data/lib/leftovers/matchers/node_pair_key.rb +23 -0
- data/lib/leftovers/matchers/node_pair_value.rb +7 -3
- data/lib/leftovers/matchers/node_path.rb +7 -3
- data/lib/leftovers/matchers/node_privacy.rb +7 -3
- data/lib/leftovers/matchers/node_scalar_value.rb +6 -1
- data/lib/leftovers/matchers/node_type.rb +7 -3
- data/lib/leftovers/matchers/not.rb +2 -0
- data/lib/leftovers/matchers/or.rb +2 -0
- data/lib/leftovers/matchers/path.rb +21 -0
- data/lib/leftovers/matchers.rb +3 -1
- data/lib/leftovers/merged_config.rb +26 -25
- data/lib/leftovers/parser.rb +7 -4
- data/lib/leftovers/precompilers.rb +5 -5
- data/lib/leftovers/processor_builders/action.rb +55 -37
- data/lib/leftovers/processor_builders/add_prefix.rb +18 -10
- data/lib/leftovers/processor_builders/add_suffix.rb +18 -10
- data/lib/leftovers/processor_builders/argument.rb +28 -11
- data/lib/leftovers/processor_builders/dynamic.rb +37 -31
- data/lib/leftovers/processor_builders/each.rb +82 -10
- data/lib/leftovers/processor_builders/itself.rb +2 -2
- data/lib/leftovers/processor_builders/keyword.rb +7 -6
- data/lib/leftovers/processor_builders/keyword_argument.rb +4 -2
- data/lib/leftovers/processor_builders/receiver.rb +13 -0
- data/lib/leftovers/processor_builders/transform.rb +55 -44
- data/lib/leftovers/processor_builders/transform_chain.rb +1 -1
- data/lib/leftovers/processor_builders/transform_set.rb +9 -29
- data/lib/leftovers/processor_builders/value.rb +4 -4
- data/lib/leftovers/processor_builders.rb +1 -3
- data/lib/leftovers/processors/add_call.rb +14 -0
- data/lib/leftovers/processors/add_definition_node.rb +16 -0
- data/lib/leftovers/processors/add_dynamic_prefix.rb +29 -0
- data/lib/leftovers/processors/add_dynamic_suffix.rb +29 -0
- data/lib/leftovers/{value_processors → processors}/add_prefix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/add_suffix.rb +7 -3
- data/lib/leftovers/processors/append_sym.rb +13 -0
- data/lib/leftovers/{value_processors → processors}/camelize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/capitalize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/deconstantize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/delete_after.rb +9 -5
- data/lib/leftovers/processors/delete_after_last.rb +26 -0
- data/lib/leftovers/processors/delete_before.rb +27 -0
- data/lib/leftovers/processors/delete_before_last.rb +27 -0
- data/lib/leftovers/{value_processors → processors}/delete_prefix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/delete_suffix.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/demodulize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/downcase.rb +7 -3
- data/lib/leftovers/processors/each.rb +25 -0
- data/lib/leftovers/processors/each_for_definition_set.rb +33 -0
- data/lib/leftovers/processors/each_keyword.rb +29 -0
- data/lib/leftovers/processors/each_keyword_argument.rb +29 -0
- data/lib/leftovers/processors/each_positional_argument.rb +27 -0
- data/lib/leftovers/processors/each_positional_argument_from.rb +30 -0
- data/lib/leftovers/processors/eval.rb +16 -0
- data/lib/leftovers/processors/itself.rb +21 -0
- data/lib/leftovers/processors/keyword_argument.rb +30 -0
- data/lib/leftovers/processors/match_current_node.rb +26 -0
- data/lib/leftovers/processors/match_matched_node.rb +26 -0
- data/lib/leftovers/{value_processors → processors}/parameterize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/placeholder.rb +5 -4
- data/lib/leftovers/{value_processors → processors}/pluralize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/positional_argument.rb +8 -6
- data/lib/leftovers/processors/receiver.rb +24 -0
- data/lib/leftovers/{value_processors → processors}/replace_value.rb +7 -3
- data/lib/leftovers/processors/set_default_privacy.rb +21 -0
- data/lib/leftovers/processors/set_privacy.rb +23 -0
- data/lib/leftovers/{value_processors → processors}/singularize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/split.rb +8 -4
- data/lib/leftovers/{value_processors → processors}/swapcase.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/titleize.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/underscore.rb +7 -3
- data/lib/leftovers/{value_processors → processors}/upcase.rb +7 -3
- data/lib/leftovers/processors.rb +49 -0
- data/lib/leftovers/version.rb +1 -1
- data/lib/leftovers.rb +3 -12
- metadata +97 -52
- data/lib/leftovers/dynamic_processors/call.rb +0 -22
- data/lib/leftovers/dynamic_processors/call_definition.rb +0 -34
- data/lib/leftovers/dynamic_processors/definition.rb +0 -27
- data/lib/leftovers/dynamic_processors/each.rb +0 -19
- data/lib/leftovers/dynamic_processors/null.rb +0 -9
- data/lib/leftovers/dynamic_processors/set_default_privacy.rb +0 -18
- data/lib/leftovers/dynamic_processors/set_privacy.rb +0 -23
- data/lib/leftovers/dynamic_processors.rb +0 -13
- data/lib/leftovers/matcher_builders/node_pair_name.rb +0 -18
- data/lib/leftovers/matchers/predicate.rb +0 -19
- data/lib/leftovers/processor_builders/each_action.rb +0 -51
- data/lib/leftovers/processor_builders/each_dynamic.rb +0 -50
- data/lib/leftovers/processor_builders/each_for_definition_set.rb +0 -40
- data/lib/leftovers/value_processors/add_dynamic_prefix.rb +0 -24
- data/lib/leftovers/value_processors/add_dynamic_suffix.rb +0 -24
- data/lib/leftovers/value_processors/delete_before.rb +0 -22
- data/lib/leftovers/value_processors/each.rb +0 -21
- data/lib/leftovers/value_processors/each_for_definition_set.rb +0 -23
- data/lib/leftovers/value_processors/each_keyword.rb +0 -27
- data/lib/leftovers/value_processors/each_keyword_argument.rb +0 -27
- data/lib/leftovers/value_processors/each_positional_argument.rb +0 -25
- data/lib/leftovers/value_processors/itself.rb +0 -17
- data/lib/leftovers/value_processors/keyword.rb +0 -28
- data/lib/leftovers/value_processors/keyword_argument.rb +0 -28
- data/lib/leftovers/value_processors/return_definition_node.rb +0 -14
- data/lib/leftovers/value_processors/return_sym.rb +0 -14
- data/lib/leftovers/value_processors.rb +0 -40
data/lib/leftovers.rb
CHANGED
@@ -27,9 +27,11 @@ module Leftovers # rubocop:disable Metrics/ModuleLength
|
|
27
27
|
autoload(:AST, "#{__dir__}/leftovers/ast")
|
28
28
|
autoload(:CLI, "#{__dir__}/leftovers/cli")
|
29
29
|
autoload(:Collector, "#{__dir__}/leftovers/collector")
|
30
|
+
autoload(:ComparableInstance, "#{__dir__}/leftovers/comparable_instance")
|
30
31
|
autoload(:ConfigLoader, "#{__dir__}/leftovers/config_loader")
|
31
32
|
autoload(:Config, "#{__dir__}/leftovers/config")
|
32
33
|
autoload(:Definition, "#{__dir__}/leftovers/definition")
|
34
|
+
autoload(:DefinitionCollection, "#{__dir__}/leftovers/definition_collection")
|
33
35
|
autoload(:DefinitionNode, "#{__dir__}/leftovers/definition_node")
|
34
36
|
autoload(:DefinitionNodeSet, "#{__dir__}/leftovers/definition_node_set")
|
35
37
|
autoload(:DefinitionSet, "#{__dir__}/leftovers/definition_set")
|
@@ -46,8 +48,7 @@ module Leftovers # rubocop:disable Metrics/ModuleLength
|
|
46
48
|
autoload(:RakeTask, "#{__dir__}/leftovers/rake_task")
|
47
49
|
autoload(:Reporter, "#{__dir__}/leftovers/reporter")
|
48
50
|
autoload(:TodoReporter, "#{__dir__}/leftovers/todo_reporter")
|
49
|
-
autoload(:
|
50
|
-
autoload(:ValueProcessors, "#{__dir__}/leftovers/value_processors")
|
51
|
+
autoload(:Processors, "#{__dir__}/leftovers/processors")
|
51
52
|
autoload(:VERSION, "#{__dir__}/leftovers/version")
|
52
53
|
|
53
54
|
MEMOIZED_IVARS = %i{
|
@@ -168,16 +169,6 @@ module Leftovers # rubocop:disable Metrics/ModuleLength
|
|
168
169
|
end
|
169
170
|
end
|
170
171
|
|
171
|
-
def map_or_self(value, &block)
|
172
|
-
# return enum_for(__method__, value) unless block
|
173
|
-
|
174
|
-
case value
|
175
|
-
when nil then nil
|
176
|
-
when Array then unwrap_array(value.flat_map(&block).compact)
|
177
|
-
else yield(value)
|
178
|
-
end
|
179
|
-
end
|
180
|
-
|
181
172
|
def unwrap_array(array)
|
182
173
|
if array.length <= 1
|
183
174
|
array.first
|
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.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dana Sherson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: ruby-prof
|
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'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: simplecov
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -268,14 +282,14 @@ dependencies:
|
|
268
282
|
requirements:
|
269
283
|
- - ">="
|
270
284
|
- !ruby/object:Gem::Version
|
271
|
-
version: 0.
|
285
|
+
version: 0.17.0
|
272
286
|
type: :runtime
|
273
287
|
prerelease: false
|
274
288
|
version_requirements: !ruby/object:Gem::Requirement
|
275
289
|
requirements:
|
276
290
|
- - ">="
|
277
291
|
- !ruby/object:Gem::Version
|
278
|
-
version: 0.
|
292
|
+
version: 0.17.0
|
279
293
|
- !ruby/object:Gem::Dependency
|
280
294
|
name: parallel
|
281
295
|
requirement: !ruby/object:Gem::Requirement
|
@@ -321,12 +335,16 @@ files:
|
|
321
335
|
- exe/leftovers
|
322
336
|
- leftovers.gemspec
|
323
337
|
- lib/.DS_Store
|
338
|
+
- lib/config/actioncable.yml
|
339
|
+
- lib/config/actionmailbox.yml
|
324
340
|
- lib/config/actionmailer.yml
|
325
341
|
- lib/config/actionpack.yml
|
342
|
+
- lib/config/actiontext.yml
|
326
343
|
- lib/config/actionview.yml
|
327
344
|
- lib/config/activejob.yml
|
328
345
|
- lib/config/activemodel.yml
|
329
346
|
- lib/config/activerecord.yml
|
347
|
+
- lib/config/activestorage.yml
|
330
348
|
- lib/config/activesupport.yml
|
331
349
|
- lib/config/attr_encrypted.yml
|
332
350
|
- lib/config/audited.yml
|
@@ -338,6 +356,7 @@ files:
|
|
338
356
|
- lib/config/guard.yml
|
339
357
|
- lib/config/haml.yml
|
340
358
|
- lib/config/jbuilder.yml
|
359
|
+
- lib/config/leftovers.yml
|
341
360
|
- lib/config/okcomputer.yml
|
342
361
|
- lib/config/parser.yml
|
343
362
|
- lib/config/pry.yml
|
@@ -353,17 +372,38 @@ files:
|
|
353
372
|
- lib/config/sidekiq.yml
|
354
373
|
- lib/config/simplecov.yml
|
355
374
|
- lib/config/slim.yml
|
375
|
+
- lib/config/test-unit.yml
|
356
376
|
- lib/config/will_paginate.yml
|
357
377
|
- lib/leftovers.rb
|
358
378
|
- lib/leftovers/ast.rb
|
379
|
+
- lib/leftovers/ast/array_node.rb
|
380
|
+
- lib/leftovers/ast/block_node.rb
|
359
381
|
- lib/leftovers/ast/builder.rb
|
382
|
+
- lib/leftovers/ast/casgn_node.rb
|
383
|
+
- lib/leftovers/ast/const_node.rb
|
384
|
+
- lib/leftovers/ast/def_node.rb
|
385
|
+
- lib/leftovers/ast/defs_node.rb
|
386
|
+
- lib/leftovers/ast/false_node.rb
|
387
|
+
- lib/leftovers/ast/has_arguments.rb
|
388
|
+
- lib/leftovers/ast/hash_node.rb
|
389
|
+
- lib/leftovers/ast/module_node.rb
|
390
|
+
- lib/leftovers/ast/nil_node.rb
|
360
391
|
- lib/leftovers/ast/node.rb
|
392
|
+
- lib/leftovers/ast/numeric_node.rb
|
393
|
+
- lib/leftovers/ast/send_node.rb
|
394
|
+
- lib/leftovers/ast/str_node.rb
|
395
|
+
- lib/leftovers/ast/sym_node.rb
|
396
|
+
- lib/leftovers/ast/true_node.rb
|
397
|
+
- lib/leftovers/ast/var_node.rb
|
398
|
+
- lib/leftovers/ast/vasgn_node.rb
|
361
399
|
- lib/leftovers/cli.rb
|
362
400
|
- lib/leftovers/collector.rb
|
401
|
+
- lib/leftovers/comparable_instance.rb
|
363
402
|
- lib/leftovers/config.rb
|
364
403
|
- lib/leftovers/config_loader.rb
|
365
404
|
- lib/leftovers/config_loader/argument_position_schema.rb
|
366
405
|
- lib/leftovers/config_loader/argumentless_transform_schema.rb
|
406
|
+
- lib/leftovers/config_loader/array_schema.rb
|
367
407
|
- lib/leftovers/config_loader/attribute.rb
|
368
408
|
- lib/leftovers/config_loader/built_in_precompiler_schema.rb
|
369
409
|
- lib/leftovers/config_loader/document_schema.rb
|
@@ -372,12 +412,14 @@ files:
|
|
372
412
|
- lib/leftovers/config_loader/has_value_schema.rb
|
373
413
|
- lib/leftovers/config_loader/inherit_schema_attributes.rb
|
374
414
|
- lib/leftovers/config_loader/keep_test_only_schema.rb
|
415
|
+
- lib/leftovers/config_loader/keyword_argument_schema.rb
|
375
416
|
- lib/leftovers/config_loader/node.rb
|
376
417
|
- lib/leftovers/config_loader/object_schema.rb
|
377
418
|
- lib/leftovers/config_loader/precompile_schema.rb
|
378
419
|
- lib/leftovers/config_loader/precompiler_schema.rb
|
379
420
|
- lib/leftovers/config_loader/privacy_processor_schema.rb
|
380
421
|
- lib/leftovers/config_loader/privacy_schema.rb
|
422
|
+
- lib/leftovers/config_loader/regexp_schema.rb
|
381
423
|
- lib/leftovers/config_loader/require_schema.rb
|
382
424
|
- lib/leftovers/config_loader/rule_pattern_schema.rb
|
383
425
|
- lib/leftovers/config_loader/scalar_argument_schema.rb
|
@@ -390,24 +432,18 @@ files:
|
|
390
432
|
- lib/leftovers/config_loader/suggester.rb
|
391
433
|
- lib/leftovers/config_loader/transform_schema.rb
|
392
434
|
- lib/leftovers/config_loader/true_schema.rb
|
435
|
+
- lib/leftovers/config_loader/value_matcher_condition_schema.rb
|
393
436
|
- lib/leftovers/config_loader/value_matcher_schema.rb
|
394
437
|
- lib/leftovers/config_loader/value_or_array_schema.rb
|
395
438
|
- lib/leftovers/config_loader/value_or_object_schema.rb
|
396
439
|
- lib/leftovers/config_loader/value_processor_schema.rb
|
397
440
|
- lib/leftovers/config_loader/value_type_schema.rb
|
398
441
|
- lib/leftovers/definition.rb
|
442
|
+
- lib/leftovers/definition_collection.rb
|
399
443
|
- lib/leftovers/definition_node.rb
|
400
444
|
- lib/leftovers/definition_node_set.rb
|
401
445
|
- lib/leftovers/definition_set.rb
|
402
446
|
- lib/leftovers/definition_to_add.rb
|
403
|
-
- lib/leftovers/dynamic_processors.rb
|
404
|
-
- lib/leftovers/dynamic_processors/call.rb
|
405
|
-
- lib/leftovers/dynamic_processors/call_definition.rb
|
406
|
-
- lib/leftovers/dynamic_processors/definition.rb
|
407
|
-
- lib/leftovers/dynamic_processors/each.rb
|
408
|
-
- lib/leftovers/dynamic_processors/null.rb
|
409
|
-
- lib/leftovers/dynamic_processors/set_default_privacy.rb
|
410
|
-
- lib/leftovers/dynamic_processors/set_privacy.rb
|
411
447
|
- lib/leftovers/file.rb
|
412
448
|
- lib/leftovers/file_collector.rb
|
413
449
|
- lib/leftovers/file_collector/comments_processor.rb
|
@@ -424,7 +460,7 @@ files:
|
|
424
460
|
- lib/leftovers/matcher_builders/node_has_positional_argument.rb
|
425
461
|
- lib/leftovers/matcher_builders/node_has_receiver.rb
|
426
462
|
- lib/leftovers/matcher_builders/node_name.rb
|
427
|
-
- lib/leftovers/matcher_builders/
|
463
|
+
- lib/leftovers/matcher_builders/node_pair_key.rb
|
428
464
|
- lib/leftovers/matcher_builders/node_pair_value.rb
|
429
465
|
- lib/leftovers/matcher_builders/node_path.rb
|
430
466
|
- lib/leftovers/matcher_builders/node_privacy.rb
|
@@ -444,7 +480,9 @@ files:
|
|
444
480
|
- lib/leftovers/matchers/node_has_positional_argument.rb
|
445
481
|
- lib/leftovers/matchers/node_has_positional_argument_with_value.rb
|
446
482
|
- lib/leftovers/matchers/node_has_receiver.rb
|
483
|
+
- lib/leftovers/matchers/node_is_proc.rb
|
447
484
|
- lib/leftovers/matchers/node_name.rb
|
485
|
+
- lib/leftovers/matchers/node_pair_key.rb
|
448
486
|
- lib/leftovers/matchers/node_pair_value.rb
|
449
487
|
- lib/leftovers/matchers/node_path.rb
|
450
488
|
- lib/leftovers/matchers/node_privacy.rb
|
@@ -452,7 +490,7 @@ files:
|
|
452
490
|
- lib/leftovers/matchers/node_type.rb
|
453
491
|
- lib/leftovers/matchers/not.rb
|
454
492
|
- lib/leftovers/matchers/or.rb
|
455
|
-
- lib/leftovers/matchers/
|
493
|
+
- lib/leftovers/matchers/path.rb
|
456
494
|
- lib/leftovers/merged_config.rb
|
457
495
|
- lib/leftovers/parser.rb
|
458
496
|
- lib/leftovers/precompilers.rb
|
@@ -469,54 +507,61 @@ files:
|
|
469
507
|
- lib/leftovers/processor_builders/argument.rb
|
470
508
|
- lib/leftovers/processor_builders/dynamic.rb
|
471
509
|
- lib/leftovers/processor_builders/each.rb
|
472
|
-
- lib/leftovers/processor_builders/each_action.rb
|
473
|
-
- lib/leftovers/processor_builders/each_dynamic.rb
|
474
|
-
- lib/leftovers/processor_builders/each_for_definition_set.rb
|
475
510
|
- lib/leftovers/processor_builders/itself.rb
|
476
511
|
- lib/leftovers/processor_builders/keyword.rb
|
477
512
|
- lib/leftovers/processor_builders/keyword_argument.rb
|
513
|
+
- lib/leftovers/processor_builders/receiver.rb
|
478
514
|
- lib/leftovers/processor_builders/transform.rb
|
479
515
|
- lib/leftovers/processor_builders/transform_chain.rb
|
480
516
|
- lib/leftovers/processor_builders/transform_set.rb
|
481
517
|
- lib/leftovers/processor_builders/value.rb
|
518
|
+
- lib/leftovers/processors.rb
|
519
|
+
- lib/leftovers/processors/add_call.rb
|
520
|
+
- lib/leftovers/processors/add_definition_node.rb
|
521
|
+
- lib/leftovers/processors/add_dynamic_prefix.rb
|
522
|
+
- lib/leftovers/processors/add_dynamic_suffix.rb
|
523
|
+
- lib/leftovers/processors/add_prefix.rb
|
524
|
+
- lib/leftovers/processors/add_suffix.rb
|
525
|
+
- lib/leftovers/processors/append_sym.rb
|
526
|
+
- lib/leftovers/processors/camelize.rb
|
527
|
+
- lib/leftovers/processors/capitalize.rb
|
528
|
+
- lib/leftovers/processors/deconstantize.rb
|
529
|
+
- lib/leftovers/processors/delete_after.rb
|
530
|
+
- lib/leftovers/processors/delete_after_last.rb
|
531
|
+
- lib/leftovers/processors/delete_before.rb
|
532
|
+
- lib/leftovers/processors/delete_before_last.rb
|
533
|
+
- lib/leftovers/processors/delete_prefix.rb
|
534
|
+
- lib/leftovers/processors/delete_suffix.rb
|
535
|
+
- lib/leftovers/processors/demodulize.rb
|
536
|
+
- lib/leftovers/processors/downcase.rb
|
537
|
+
- lib/leftovers/processors/each.rb
|
538
|
+
- lib/leftovers/processors/each_for_definition_set.rb
|
539
|
+
- lib/leftovers/processors/each_keyword.rb
|
540
|
+
- lib/leftovers/processors/each_keyword_argument.rb
|
541
|
+
- lib/leftovers/processors/each_positional_argument.rb
|
542
|
+
- lib/leftovers/processors/each_positional_argument_from.rb
|
543
|
+
- lib/leftovers/processors/eval.rb
|
544
|
+
- lib/leftovers/processors/itself.rb
|
545
|
+
- lib/leftovers/processors/keyword_argument.rb
|
546
|
+
- lib/leftovers/processors/match_current_node.rb
|
547
|
+
- lib/leftovers/processors/match_matched_node.rb
|
548
|
+
- lib/leftovers/processors/parameterize.rb
|
549
|
+
- lib/leftovers/processors/placeholder.rb
|
550
|
+
- lib/leftovers/processors/pluralize.rb
|
551
|
+
- lib/leftovers/processors/positional_argument.rb
|
552
|
+
- lib/leftovers/processors/receiver.rb
|
553
|
+
- lib/leftovers/processors/replace_value.rb
|
554
|
+
- lib/leftovers/processors/set_default_privacy.rb
|
555
|
+
- lib/leftovers/processors/set_privacy.rb
|
556
|
+
- lib/leftovers/processors/singularize.rb
|
557
|
+
- lib/leftovers/processors/split.rb
|
558
|
+
- lib/leftovers/processors/swapcase.rb
|
559
|
+
- lib/leftovers/processors/titleize.rb
|
560
|
+
- lib/leftovers/processors/underscore.rb
|
561
|
+
- lib/leftovers/processors/upcase.rb
|
482
562
|
- lib/leftovers/rake_task.rb
|
483
563
|
- lib/leftovers/reporter.rb
|
484
564
|
- lib/leftovers/todo_reporter.rb
|
485
|
-
- lib/leftovers/value_processors.rb
|
486
|
-
- lib/leftovers/value_processors/add_dynamic_prefix.rb
|
487
|
-
- lib/leftovers/value_processors/add_dynamic_suffix.rb
|
488
|
-
- lib/leftovers/value_processors/add_prefix.rb
|
489
|
-
- lib/leftovers/value_processors/add_suffix.rb
|
490
|
-
- lib/leftovers/value_processors/camelize.rb
|
491
|
-
- lib/leftovers/value_processors/capitalize.rb
|
492
|
-
- lib/leftovers/value_processors/deconstantize.rb
|
493
|
-
- lib/leftovers/value_processors/delete_after.rb
|
494
|
-
- lib/leftovers/value_processors/delete_before.rb
|
495
|
-
- lib/leftovers/value_processors/delete_prefix.rb
|
496
|
-
- lib/leftovers/value_processors/delete_suffix.rb
|
497
|
-
- lib/leftovers/value_processors/demodulize.rb
|
498
|
-
- lib/leftovers/value_processors/downcase.rb
|
499
|
-
- lib/leftovers/value_processors/each.rb
|
500
|
-
- lib/leftovers/value_processors/each_for_definition_set.rb
|
501
|
-
- lib/leftovers/value_processors/each_keyword.rb
|
502
|
-
- lib/leftovers/value_processors/each_keyword_argument.rb
|
503
|
-
- lib/leftovers/value_processors/each_positional_argument.rb
|
504
|
-
- lib/leftovers/value_processors/itself.rb
|
505
|
-
- lib/leftovers/value_processors/keyword.rb
|
506
|
-
- lib/leftovers/value_processors/keyword_argument.rb
|
507
|
-
- lib/leftovers/value_processors/parameterize.rb
|
508
|
-
- lib/leftovers/value_processors/placeholder.rb
|
509
|
-
- lib/leftovers/value_processors/pluralize.rb
|
510
|
-
- lib/leftovers/value_processors/positional_argument.rb
|
511
|
-
- lib/leftovers/value_processors/replace_value.rb
|
512
|
-
- lib/leftovers/value_processors/return_definition_node.rb
|
513
|
-
- lib/leftovers/value_processors/return_sym.rb
|
514
|
-
- lib/leftovers/value_processors/singularize.rb
|
515
|
-
- lib/leftovers/value_processors/split.rb
|
516
|
-
- lib/leftovers/value_processors/swapcase.rb
|
517
|
-
- lib/leftovers/value_processors/titleize.rb
|
518
|
-
- lib/leftovers/value_processors/underscore.rb
|
519
|
-
- lib/leftovers/value_processors/upcase.rb
|
520
565
|
- lib/leftovers/version.rb
|
521
566
|
homepage: http://github.com/robotdana/leftovers
|
522
567
|
licenses:
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class Call
|
6
|
-
def initialize(matcher, processor)
|
7
|
-
@matcher = matcher
|
8
|
-
@processor = processor
|
9
|
-
end
|
10
|
-
|
11
|
-
def process(node, file)
|
12
|
-
return unless @matcher === node
|
13
|
-
|
14
|
-
calls = @processor.process(nil, node, node)
|
15
|
-
|
16
|
-
::Leftovers.each_or_self(calls) do |call|
|
17
|
-
file.calls << call
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class CallDefinition
|
6
|
-
def initialize(matcher, call_processor, definition_processor)
|
7
|
-
@matcher = matcher
|
8
|
-
@call_processor = call_processor
|
9
|
-
@definition_processor = definition_processor
|
10
|
-
end
|
11
|
-
|
12
|
-
def process(node, file) # rubocop:disable Metrics/MethodLength
|
13
|
-
return unless @matcher === node
|
14
|
-
|
15
|
-
calls = @call_processor.process(nil, node, node)
|
16
|
-
|
17
|
-
::Leftovers.each_or_self(calls) do |call|
|
18
|
-
file.calls << call
|
19
|
-
end
|
20
|
-
|
21
|
-
return if node.keep_line?
|
22
|
-
|
23
|
-
definitions = @definition_processor.process(nil, node, node)
|
24
|
-
::Leftovers.each_or_self(definitions) do |definition|
|
25
|
-
if definition.is_a?(DefinitionNodeSet)
|
26
|
-
file.add_definition_set(definition)
|
27
|
-
else
|
28
|
-
file.add_definition(definition, loc: definition.loc)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class Definition
|
6
|
-
def initialize(matcher, processor)
|
7
|
-
@matcher = matcher
|
8
|
-
@processor = processor
|
9
|
-
end
|
10
|
-
|
11
|
-
def process(node, file)
|
12
|
-
return if node.keep_line?
|
13
|
-
return unless @matcher === node
|
14
|
-
|
15
|
-
definitions = @processor.process(nil, node, node)
|
16
|
-
|
17
|
-
::Leftovers.each_or_self(definitions) do |definition|
|
18
|
-
if definition.is_a?(DefinitionNodeSet)
|
19
|
-
file.add_definition_set(definition)
|
20
|
-
else
|
21
|
-
file.add_definition(definition, loc: definition.loc)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class Each
|
6
|
-
attr_reader :processors
|
7
|
-
|
8
|
-
def initialize(processors)
|
9
|
-
@processors = processors
|
10
|
-
end
|
11
|
-
|
12
|
-
def process(node, file)
|
13
|
-
@processors.each do |processor|
|
14
|
-
processor.process(node, file)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class SetDefaultPrivacy
|
6
|
-
def initialize(matcher, to)
|
7
|
-
@matcher = matcher
|
8
|
-
@to = to
|
9
|
-
end
|
10
|
-
|
11
|
-
def process(node, file)
|
12
|
-
return unless @matcher === node
|
13
|
-
|
14
|
-
file.default_method_privacy = @to
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
class SetPrivacy
|
6
|
-
def initialize(matcher, processor, to)
|
7
|
-
@matcher = matcher
|
8
|
-
@processor = processor
|
9
|
-
@to = to
|
10
|
-
end
|
11
|
-
|
12
|
-
def process(node, file)
|
13
|
-
return unless @matcher === node
|
14
|
-
|
15
|
-
set_privacy = @processor.process(nil, node, node)
|
16
|
-
|
17
|
-
::Leftovers.each_or_self(set_privacy) do |name|
|
18
|
-
file.set_privacy(name, @to)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module DynamicProcessors
|
5
|
-
autoload(:CallDefinition, "#{__dir__}/dynamic_processors/call_definition")
|
6
|
-
autoload(:Call, "#{__dir__}/dynamic_processors/call")
|
7
|
-
autoload(:Definition, "#{__dir__}/dynamic_processors/definition")
|
8
|
-
autoload(:Each, "#{__dir__}/dynamic_processors/each")
|
9
|
-
autoload(:Null, "#{__dir__}/dynamic_processors/null")
|
10
|
-
autoload(:SetDefaultPrivacy, "#{__dir__}/dynamic_processors/set_default_privacy")
|
11
|
-
autoload(:SetPrivacy, "#{__dir__}/dynamic_processors/set_privacy")
|
12
|
-
end
|
13
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen-string-literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module MatcherBuilders
|
5
|
-
module NodePairName
|
6
|
-
def self.build(name_pattern)
|
7
|
-
matcher = ::Leftovers::MatcherBuilders::Name.build(name_pattern)
|
8
|
-
|
9
|
-
return unless matcher
|
10
|
-
|
11
|
-
::Leftovers::MatcherBuilders::And.build([
|
12
|
-
::Leftovers::Matchers::NodeType.new(:pair),
|
13
|
-
::Leftovers::Matchers::NodeName.new(matcher)
|
14
|
-
])
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module Matchers
|
5
|
-
class Predicate
|
6
|
-
def initialize(predicate)
|
7
|
-
@predicate = predicate
|
8
|
-
|
9
|
-
freeze
|
10
|
-
end
|
11
|
-
|
12
|
-
def ===(node)
|
13
|
-
node.send(@predicate)
|
14
|
-
end
|
15
|
-
|
16
|
-
freeze
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module ProcessorBuilders
|
5
|
-
module EachAction
|
6
|
-
class << self
|
7
|
-
def each_or_self(value, &block)
|
8
|
-
case value
|
9
|
-
when nil then nil
|
10
|
-
when Array then build(value.map(&block))
|
11
|
-
else build([yield(value)])
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def build(processors)
|
16
|
-
processors = compact(processors)
|
17
|
-
|
18
|
-
case processors.length
|
19
|
-
# :nocov:
|
20
|
-
when 0 then raise Leftovers::UnexpectedCase, "Unhandled value #{processors.inspect}"
|
21
|
-
# :nocov:
|
22
|
-
when 1 then processors.first
|
23
|
-
else ::Leftovers::ValueProcessors::Each.new(processors)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def flatten(value)
|
30
|
-
case value
|
31
|
-
when ::Leftovers::ValueProcessors::Each
|
32
|
-
value.processors.flat_map { |v| flatten(v) }
|
33
|
-
when Array
|
34
|
-
value.flat_map { |v| flatten(v) }
|
35
|
-
else
|
36
|
-
value
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def compact(processors)
|
41
|
-
return processors if processors.length <= 1
|
42
|
-
|
43
|
-
processors = flatten(processors)
|
44
|
-
processors.compact!
|
45
|
-
|
46
|
-
processors
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module ProcessorBuilders
|
5
|
-
module EachDynamic
|
6
|
-
def self.each_or_self(value, &block)
|
7
|
-
case value
|
8
|
-
when nil then ::Leftovers::DynamicProcessors::Null
|
9
|
-
when Array then build(value.map(&block))
|
10
|
-
else build([yield(value)])
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.build(processors)
|
15
|
-
processors = compact(processors)
|
16
|
-
|
17
|
-
case processors.length
|
18
|
-
# :nocov:
|
19
|
-
when 0 then raise Leftovers::UnexpectedCase, "Unhandled value #{processors.inspect}"
|
20
|
-
# :nocov:
|
21
|
-
when 1 then processors.first
|
22
|
-
else ::Leftovers::DynamicProcessors::Each.new(processors)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.flatten(value)
|
27
|
-
case value
|
28
|
-
when ::Leftovers::DynamicProcessors::Each
|
29
|
-
value.processors.flat_map { |v| flatten(v) }
|
30
|
-
when Array
|
31
|
-
value.flat_map { |v| flatten(v) }
|
32
|
-
else
|
33
|
-
value
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.compact(processors)
|
38
|
-
return processors if processors.length <= 1
|
39
|
-
|
40
|
-
processors = flatten(processors)
|
41
|
-
|
42
|
-
processors.reject! do |p|
|
43
|
-
p == ::Leftovers::DynamicProcessors::Null
|
44
|
-
end
|
45
|
-
|
46
|
-
processors
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Leftovers
|
4
|
-
module ProcessorBuilders
|
5
|
-
module EachForDefinitionSet
|
6
|
-
class << self
|
7
|
-
def each_or_self(value, &block)
|
8
|
-
case value
|
9
|
-
# :nocov:
|
10
|
-
when nil then raise Leftovers::UnexpectedCase, "Unhandled value #{value.inspect}"
|
11
|
-
# :nocov:
|
12
|
-
when Array then build(value.map(&block))
|
13
|
-
else build([yield(value)])
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def build(processors)
|
18
|
-
processors = compact(processors)
|
19
|
-
|
20
|
-
case processors.length
|
21
|
-
# :nocov:
|
22
|
-
when 0 then raise Leftovers::UnexpectedCase, "Unhandled value #{processors.inspect}"
|
23
|
-
# :nocov:
|
24
|
-
when 1 then processors.first
|
25
|
-
else ::Leftovers::ValueProcessors::EachForDefinitionSet.new(processors)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
def compact(processors)
|
32
|
-
processors.flatten!
|
33
|
-
processors.compact!
|
34
|
-
|
35
|
-
processors
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|