leftovers 0.2.2 → 0.4.2

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.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +35 -49
  4. data/docs/Configuration.md +627 -0
  5. data/exe/leftovers +2 -2
  6. data/leftovers.gemspec +13 -7
  7. data/lib/config/attr_encrypted.yml +3 -4
  8. data/lib/config/audited.yml +9 -4
  9. data/lib/config/datagrid.yml +1 -1
  10. data/lib/config/flipper.yml +1 -3
  11. data/lib/config/graphql.yml +15 -13
  12. data/lib/config/okcomputer.yml +1 -3
  13. data/lib/config/parser.yml +89 -91
  14. data/lib/config/rails.yml +160 -97
  15. data/lib/config/redcarpet.yml +35 -38
  16. data/lib/config/rollbar.yml +1 -3
  17. data/lib/config/rspec.yml +18 -10
  18. data/lib/config/ruby.yml +42 -49
  19. data/lib/config/selenium-webdriver.yml +19 -0
  20. data/lib/config/sidekiq.yml +9 -0
  21. data/lib/config/will_paginate.yml +12 -14
  22. data/lib/leftovers.rb +61 -43
  23. data/lib/leftovers/ast.rb +8 -0
  24. data/lib/leftovers/ast/builder.rb +6 -3
  25. data/lib/leftovers/ast/node.rb +66 -107
  26. data/lib/leftovers/backports.rb +24 -40
  27. data/lib/leftovers/cli.rb +17 -14
  28. data/lib/leftovers/collector.rb +7 -11
  29. data/lib/leftovers/config.rb +38 -13
  30. data/lib/leftovers/config_validator.rb +60 -0
  31. data/lib/leftovers/config_validator/error_processor.rb +196 -0
  32. data/lib/leftovers/config_validator/schema_hash.rb +496 -0
  33. data/lib/leftovers/definition.rb +16 -41
  34. data/lib/leftovers/definition_node.rb +36 -0
  35. data/lib/leftovers/definition_set.rb +17 -24
  36. data/lib/leftovers/dynamic_processors.rb +11 -0
  37. data/lib/leftovers/dynamic_processors/call.rb +25 -0
  38. data/lib/leftovers/dynamic_processors/call_definition.rb +31 -0
  39. data/lib/leftovers/dynamic_processors/definition.rb +26 -0
  40. data/lib/leftovers/dynamic_processors/each.rb +19 -0
  41. data/lib/leftovers/dynamic_processors/null.rb +9 -0
  42. data/lib/leftovers/erb.rb +2 -2
  43. data/lib/leftovers/file.rb +3 -5
  44. data/lib/leftovers/file_collector.rb +82 -62
  45. data/lib/leftovers/file_list.rb +9 -15
  46. data/lib/leftovers/haml.rb +9 -12
  47. data/lib/leftovers/matcher_builders.rb +24 -0
  48. data/lib/leftovers/matcher_builders/and.rb +19 -0
  49. data/lib/leftovers/matcher_builders/and_not.rb +14 -0
  50. data/lib/leftovers/matcher_builders/argument_node_value.rb +21 -0
  51. data/lib/leftovers/matcher_builders/name.rb +29 -0
  52. data/lib/leftovers/matcher_builders/node.rb +40 -0
  53. data/lib/leftovers/matcher_builders/node_has_argument.rb +71 -0
  54. data/lib/leftovers/matcher_builders/node_has_keyword_argument.rb +22 -0
  55. data/lib/leftovers/matcher_builders/node_has_positional_argument.rb +24 -0
  56. data/lib/leftovers/matcher_builders/node_name.rb +15 -0
  57. data/lib/leftovers/matcher_builders/node_pair_name.rb +18 -0
  58. data/lib/leftovers/matcher_builders/node_pair_value.rb +16 -0
  59. data/lib/leftovers/matcher_builders/node_path.rb +14 -0
  60. data/lib/leftovers/matcher_builders/node_type.rb +28 -0
  61. data/lib/leftovers/matcher_builders/or.rb +73 -0
  62. data/lib/leftovers/matcher_builders/path.rb +15 -0
  63. data/lib/leftovers/matcher_builders/string.rb +11 -0
  64. data/lib/leftovers/matcher_builders/string_pattern.rb +19 -0
  65. data/lib/leftovers/matcher_builders/unless.rb +13 -0
  66. data/lib/leftovers/matchers.rb +26 -0
  67. data/lib/leftovers/matchers/all.rb +25 -0
  68. data/lib/leftovers/matchers/and.rb +24 -0
  69. data/lib/leftovers/matchers/any.rb +27 -0
  70. data/lib/leftovers/matchers/node_has_any_keyword_argument.rb +28 -0
  71. data/lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb +25 -0
  72. data/lib/leftovers/matchers/node_has_positional_argument.rb +23 -0
  73. data/lib/leftovers/matchers/node_has_positional_argument_with_value.rb +25 -0
  74. data/lib/leftovers/matchers/node_name.rb +23 -0
  75. data/lib/leftovers/matchers/node_pair_value.rb +23 -0
  76. data/lib/leftovers/matchers/node_path.rb +23 -0
  77. data/lib/leftovers/matchers/node_scalar_value.rb +25 -0
  78. data/lib/leftovers/matchers/node_type.rb +23 -0
  79. data/lib/leftovers/matchers/not.rb +23 -0
  80. data/lib/leftovers/matchers/or.rb +26 -0
  81. data/lib/leftovers/merged_config.rb +24 -14
  82. data/lib/leftovers/parser.rb +2 -5
  83. data/lib/leftovers/processor_builders.rb +22 -0
  84. data/lib/leftovers/processor_builders/action.rb +63 -0
  85. data/lib/leftovers/processor_builders/add_prefix.rb +20 -0
  86. data/lib/leftovers/processor_builders/add_suffix.rb +20 -0
  87. data/lib/leftovers/processor_builders/argument.rb +25 -0
  88. data/lib/leftovers/processor_builders/dynamic.rb +27 -0
  89. data/lib/leftovers/processor_builders/each.rb +36 -0
  90. data/lib/leftovers/processor_builders/each_action.rb +51 -0
  91. data/lib/leftovers/processor_builders/each_dynamic.rb +54 -0
  92. data/lib/leftovers/processor_builders/each_for_definition_set.rb +36 -0
  93. data/lib/leftovers/processor_builders/itself.rb +13 -0
  94. data/lib/leftovers/processor_builders/keyword.rb +24 -0
  95. data/lib/leftovers/processor_builders/keyword_argument.rb +14 -0
  96. data/lib/leftovers/processor_builders/transform.rb +55 -0
  97. data/lib/leftovers/processor_builders/transform_chain.rb +24 -0
  98. data/lib/leftovers/processor_builders/transform_set.rb +47 -0
  99. data/lib/leftovers/processor_builders/value.rb +13 -0
  100. data/lib/leftovers/rake_task.rb +4 -4
  101. data/lib/leftovers/reporter.rb +1 -1
  102. data/lib/leftovers/value_processors.rb +40 -0
  103. data/lib/leftovers/value_processors/add_dynamic_prefix.rb +31 -0
  104. data/lib/leftovers/value_processors/add_dynamic_suffix.rb +31 -0
  105. data/lib/leftovers/value_processors/add_prefix.rb +20 -0
  106. data/lib/leftovers/value_processors/add_suffix.rb +20 -0
  107. data/lib/leftovers/value_processors/camelize.rb +24 -0
  108. data/lib/leftovers/value_processors/capitalize.rb +19 -0
  109. data/lib/leftovers/value_processors/deconstantize.rb +24 -0
  110. data/lib/leftovers/value_processors/delete_after.rb +22 -0
  111. data/lib/leftovers/value_processors/delete_before.rb +22 -0
  112. data/lib/leftovers/value_processors/delete_prefix.rb +26 -0
  113. data/lib/leftovers/value_processors/delete_suffix.rb +26 -0
  114. data/lib/leftovers/value_processors/demodulize.rb +24 -0
  115. data/lib/leftovers/value_processors/downcase.rb +19 -0
  116. data/lib/leftovers/value_processors/each.rb +21 -0
  117. data/lib/leftovers/value_processors/each_for_definition_set.rb +29 -0
  118. data/lib/leftovers/value_processors/each_keyword.rb +27 -0
  119. data/lib/leftovers/value_processors/each_keyword_argument.rb +27 -0
  120. data/lib/leftovers/value_processors/each_positional_argument.rb +24 -0
  121. data/lib/leftovers/value_processors/itself.rb +17 -0
  122. data/lib/leftovers/value_processors/keyword.rb +36 -0
  123. data/lib/leftovers/value_processors/keyword_argument.rb +36 -0
  124. data/lib/leftovers/value_processors/parameterize.rb +24 -0
  125. data/lib/leftovers/value_processors/placeholder.rb +18 -0
  126. data/lib/leftovers/value_processors/pluralize.rb +24 -0
  127. data/lib/leftovers/value_processors/positional_argument.rb +26 -0
  128. data/lib/leftovers/value_processors/replace_value.rb +18 -0
  129. data/lib/leftovers/value_processors/return_definition.rb +26 -0
  130. data/lib/leftovers/value_processors/return_string.rb +14 -0
  131. data/lib/leftovers/value_processors/singularize.rb +24 -0
  132. data/lib/leftovers/value_processors/split.rb +22 -0
  133. data/lib/leftovers/value_processors/swapcase.rb +19 -0
  134. data/lib/leftovers/value_processors/titleize.rb +24 -0
  135. data/lib/leftovers/value_processors/underscore.rb +24 -0
  136. data/lib/leftovers/value_processors/upcase.rb +19 -0
  137. data/lib/leftovers/version.rb +1 -1
  138. metadata +190 -28
  139. data/lib/config/selenium.yml +0 -21
  140. data/lib/leftovers/argument_rule.rb +0 -219
  141. data/lib/leftovers/core_ext.rb +0 -13
  142. data/lib/leftovers/hash_rule.rb +0 -40
  143. data/lib/leftovers/name_rule.rb +0 -53
  144. data/lib/leftovers/rule.rb +0 -74
  145. data/lib/leftovers/transform_rule.rb +0 -171
  146. data/lib/leftovers/value_rule.rb +0 -56
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class PositionalArgument
6
+ def initialize(index, then_processor)
7
+ @index = index
8
+ @then_processor = then_processor
9
+
10
+ freeze
11
+ end
12
+
13
+ def process(_str, node, method_node)
14
+ positional_arguments = node.positional_arguments
15
+ return unless positional_arguments
16
+
17
+ argument_node = positional_arguments[@index]
18
+ return unless argument_node
19
+
20
+ str = argument_node.to_s if argument_node.string_or_symbol?
21
+
22
+ @then_processor.process(str, argument_node, method_node)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class ReplaceValue
6
+ def initialize(value, then_processor)
7
+ @value = value
8
+ @then_processor = then_processor
9
+
10
+ freeze
11
+ end
12
+
13
+ def process(_str, node, method_node)
14
+ @then_processor.process(@value, node, method_node)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,26 @@
1
+ # frozen-string-literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ module ReturnDefinition
6
+ # :nocov:
7
+ using ::Leftovers::Backports::SetCaseEq if defined?(::Leftovers::Backports::SetCaseEq)
8
+ # :nocov:
9
+
10
+ def self.process(str, node, method_node)
11
+ return unless str
12
+ return if str.empty?
13
+
14
+ str_node = Leftovers::DefinitionNode.new(str.to_sym, method_node.path)
15
+
16
+ return :keep if ::Leftovers.config.keep === str_node
17
+
18
+ Leftovers::Definition.new(
19
+ str_node.name,
20
+ location: node.loc.expression,
21
+ test: method_node.test_line? || ::Leftovers.config.test_only === str_node
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ module ReturnString
6
+ def self.process(str, _node, _method_node)
7
+ return unless str
8
+ return if str.empty?
9
+
10
+ str.to_sym
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Singularize
6
+ def initialize(then_processor)
7
+ @then_processor = then_processor
8
+
9
+ freeze
10
+ end
11
+
12
+ def process(str, node, method_node)
13
+ return unless str
14
+
15
+ @then_processor.process(str.singularize, node, method_node)
16
+ rescue NoMethodError
17
+ Leftovers.error <<~MESSAGE
18
+ Tried using the String#singularize method, but the activesupport gem was not available and/or not required
19
+ `gem install activesupport`, and/or add `requires: 'active_support/core_ext/string'` to your .leftovers.yml
20
+ MESSAGE
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Split
6
+ def initialize(split_on, then_processor)
7
+ @split_on = split_on
8
+ @then_processor = then_processor
9
+
10
+ freeze
11
+ end
12
+
13
+ def process(str, node, method_node)
14
+ return unless str
15
+
16
+ str.split(@split_on).map do |substring|
17
+ @then_processor.process(substring, node, method_node)
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Swapcase
6
+ def initialize(then_processor)
7
+ @then_processor = then_processor
8
+
9
+ freeze
10
+ end
11
+
12
+ def process(str, node, method_node)
13
+ return unless str
14
+
15
+ @then_processor.process(str.swapcase, node, method_node)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Titleize
6
+ def initialize(then_processor)
7
+ @then_processor = then_processor
8
+
9
+ freeze
10
+ end
11
+
12
+ def process(str, node, method_node)
13
+ return unless str
14
+
15
+ @then_processor.process(str.titleize, node, method_node)
16
+ rescue NoMethodError
17
+ Leftovers.error <<~MESSAGE
18
+ Tried using the String#titleize method, but the activesupport gem was not available and/or not required
19
+ `gem install activesupport`, and/or add `requires: 'active_support/core_ext/string'` to your .leftovers.yml
20
+ MESSAGE
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Underscore
6
+ def initialize(then_processor)
7
+ @then_processor = then_processor
8
+
9
+ freeze
10
+ end
11
+
12
+ def process(str, node, method_node)
13
+ return unless str
14
+
15
+ @then_processor.process(str.underscore, node, method_node)
16
+ rescue NoMethodError
17
+ Leftovers.error <<~MESSAGE
18
+ Tried using the String#underscore method, but the activesupport gem was not available and/or not required
19
+ `gem install activesupport`, and/or add `requires: 'active_support/core_ext/string'` to your .leftovers.yml
20
+ MESSAGE
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Leftovers
4
+ module ValueProcessors
5
+ class Upcase
6
+ def initialize(then_processor)
7
+ @then_processor = then_processor
8
+
9
+ freeze
10
+ end
11
+
12
+ def process(str, node, method_node)
13
+ return unless str
14
+
15
+ @then_processor.process(str.upcase, node, method_node)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Leftovers
4
- VERSION = '0.2.2'
4
+ VERSION = '0.4.2'
5
5
  end
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.2.2
4
+ version: 0.4.2
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: 2020-04-21 00:00:00.000000000 Z
11
+ date: 2020-11-20 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
@@ -70,16 +84,16 @@ dependencies:
70
84
  name: rake
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '10.0'
89
+ version: '13'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '10.0'
96
+ version: '13'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rspec
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -100,42 +114,84 @@ dependencies:
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '0.74'
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: '0.74'
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: '1.4'
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: '1.4'
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: '1.35'
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: '1.35'
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: tty_string
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: 0.2.1
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.2.1
139
195
  - !ruby/object:Gem::Dependency
140
196
  name: spellr
141
197
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +212,28 @@ dependencies:
156
212
  requirements:
157
213
  - - ">="
158
214
  - !ruby/object:Gem::Version
159
- version: 0.10.0
215
+ version: 0.15.1
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 0.15.1
223
+ - !ruby/object:Gem::Dependency
224
+ name: json_schemer
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
160
230
  type: :runtime
161
231
  prerelease: false
162
232
  version_requirements: !ruby/object:Gem::Requirement
163
233
  requirements:
164
234
  - - ">="
165
235
  - !ruby/object:Gem::Version
166
- version: 0.10.0
236
+ version: '0'
167
237
  - !ruby/object:Gem::Dependency
168
238
  name: parallel
169
239
  requirement: !ruby/object:Gem::Requirement
@@ -192,7 +262,7 @@ dependencies:
192
262
  - - ">="
193
263
  - !ruby/object:Gem::Version
194
264
  version: '0'
195
- description:
265
+ description:
196
266
  email:
197
267
  - robot@dana.sh
198
268
  executables:
@@ -204,6 +274,7 @@ files:
204
274
  - Gemfile
205
275
  - LICENSE.txt
206
276
  - README.md
277
+ - docs/Configuration.md
207
278
  - exe/leftovers
208
279
  - leftovers.gemspec
209
280
  - lib/config/attr_encrypted.yml
@@ -226,34 +297,125 @@ files:
226
297
  - lib/config/rollbar.yml
227
298
  - lib/config/rspec.yml
228
299
  - lib/config/ruby.yml
229
- - lib/config/selenium.yml
300
+ - lib/config/selenium-webdriver.yml
301
+ - lib/config/sidekiq.yml
230
302
  - lib/config/simplecov.yml
231
303
  - lib/config/will_paginate.yml
232
304
  - lib/leftovers.rb
233
- - lib/leftovers/argument_rule.rb
305
+ - lib/leftovers/ast.rb
234
306
  - lib/leftovers/ast/builder.rb
235
307
  - lib/leftovers/ast/node.rb
236
308
  - lib/leftovers/backports.rb
237
309
  - lib/leftovers/cli.rb
238
310
  - lib/leftovers/collector.rb
239
311
  - lib/leftovers/config.rb
240
- - lib/leftovers/core_ext.rb
312
+ - lib/leftovers/config_validator.rb
313
+ - lib/leftovers/config_validator/error_processor.rb
314
+ - lib/leftovers/config_validator/schema_hash.rb
241
315
  - lib/leftovers/definition.rb
316
+ - lib/leftovers/definition_node.rb
242
317
  - lib/leftovers/definition_set.rb
318
+ - lib/leftovers/dynamic_processors.rb
319
+ - lib/leftovers/dynamic_processors/call.rb
320
+ - lib/leftovers/dynamic_processors/call_definition.rb
321
+ - lib/leftovers/dynamic_processors/definition.rb
322
+ - lib/leftovers/dynamic_processors/each.rb
323
+ - lib/leftovers/dynamic_processors/null.rb
243
324
  - lib/leftovers/erb.rb
244
325
  - lib/leftovers/file.rb
245
326
  - lib/leftovers/file_collector.rb
246
327
  - lib/leftovers/file_list.rb
247
328
  - lib/leftovers/haml.rb
248
- - lib/leftovers/hash_rule.rb
329
+ - lib/leftovers/matcher_builders.rb
330
+ - lib/leftovers/matcher_builders/and.rb
331
+ - lib/leftovers/matcher_builders/and_not.rb
332
+ - lib/leftovers/matcher_builders/argument_node_value.rb
333
+ - lib/leftovers/matcher_builders/name.rb
334
+ - lib/leftovers/matcher_builders/node.rb
335
+ - lib/leftovers/matcher_builders/node_has_argument.rb
336
+ - lib/leftovers/matcher_builders/node_has_keyword_argument.rb
337
+ - lib/leftovers/matcher_builders/node_has_positional_argument.rb
338
+ - lib/leftovers/matcher_builders/node_name.rb
339
+ - lib/leftovers/matcher_builders/node_pair_name.rb
340
+ - lib/leftovers/matcher_builders/node_pair_value.rb
341
+ - lib/leftovers/matcher_builders/node_path.rb
342
+ - lib/leftovers/matcher_builders/node_type.rb
343
+ - lib/leftovers/matcher_builders/or.rb
344
+ - lib/leftovers/matcher_builders/path.rb
345
+ - lib/leftovers/matcher_builders/string.rb
346
+ - lib/leftovers/matcher_builders/string_pattern.rb
347
+ - lib/leftovers/matcher_builders/unless.rb
348
+ - lib/leftovers/matchers.rb
349
+ - lib/leftovers/matchers/all.rb
350
+ - lib/leftovers/matchers/and.rb
351
+ - lib/leftovers/matchers/any.rb
352
+ - lib/leftovers/matchers/node_has_any_keyword_argument.rb
353
+ - lib/leftovers/matchers/node_has_any_positional_argument_with_value.rb
354
+ - lib/leftovers/matchers/node_has_positional_argument.rb
355
+ - lib/leftovers/matchers/node_has_positional_argument_with_value.rb
356
+ - lib/leftovers/matchers/node_name.rb
357
+ - lib/leftovers/matchers/node_pair_value.rb
358
+ - lib/leftovers/matchers/node_path.rb
359
+ - lib/leftovers/matchers/node_scalar_value.rb
360
+ - lib/leftovers/matchers/node_type.rb
361
+ - lib/leftovers/matchers/not.rb
362
+ - lib/leftovers/matchers/or.rb
249
363
  - lib/leftovers/merged_config.rb
250
- - lib/leftovers/name_rule.rb
251
364
  - lib/leftovers/parser.rb
365
+ - lib/leftovers/processor_builders.rb
366
+ - lib/leftovers/processor_builders/action.rb
367
+ - lib/leftovers/processor_builders/add_prefix.rb
368
+ - lib/leftovers/processor_builders/add_suffix.rb
369
+ - lib/leftovers/processor_builders/argument.rb
370
+ - lib/leftovers/processor_builders/dynamic.rb
371
+ - lib/leftovers/processor_builders/each.rb
372
+ - lib/leftovers/processor_builders/each_action.rb
373
+ - lib/leftovers/processor_builders/each_dynamic.rb
374
+ - lib/leftovers/processor_builders/each_for_definition_set.rb
375
+ - lib/leftovers/processor_builders/itself.rb
376
+ - lib/leftovers/processor_builders/keyword.rb
377
+ - lib/leftovers/processor_builders/keyword_argument.rb
378
+ - lib/leftovers/processor_builders/transform.rb
379
+ - lib/leftovers/processor_builders/transform_chain.rb
380
+ - lib/leftovers/processor_builders/transform_set.rb
381
+ - lib/leftovers/processor_builders/value.rb
252
382
  - lib/leftovers/rake_task.rb
253
383
  - lib/leftovers/reporter.rb
254
- - lib/leftovers/rule.rb
255
- - lib/leftovers/transform_rule.rb
256
- - lib/leftovers/value_rule.rb
384
+ - lib/leftovers/value_processors.rb
385
+ - lib/leftovers/value_processors/add_dynamic_prefix.rb
386
+ - lib/leftovers/value_processors/add_dynamic_suffix.rb
387
+ - lib/leftovers/value_processors/add_prefix.rb
388
+ - lib/leftovers/value_processors/add_suffix.rb
389
+ - lib/leftovers/value_processors/camelize.rb
390
+ - lib/leftovers/value_processors/capitalize.rb
391
+ - lib/leftovers/value_processors/deconstantize.rb
392
+ - lib/leftovers/value_processors/delete_after.rb
393
+ - lib/leftovers/value_processors/delete_before.rb
394
+ - lib/leftovers/value_processors/delete_prefix.rb
395
+ - lib/leftovers/value_processors/delete_suffix.rb
396
+ - lib/leftovers/value_processors/demodulize.rb
397
+ - lib/leftovers/value_processors/downcase.rb
398
+ - lib/leftovers/value_processors/each.rb
399
+ - lib/leftovers/value_processors/each_for_definition_set.rb
400
+ - lib/leftovers/value_processors/each_keyword.rb
401
+ - lib/leftovers/value_processors/each_keyword_argument.rb
402
+ - lib/leftovers/value_processors/each_positional_argument.rb
403
+ - lib/leftovers/value_processors/itself.rb
404
+ - lib/leftovers/value_processors/keyword.rb
405
+ - lib/leftovers/value_processors/keyword_argument.rb
406
+ - lib/leftovers/value_processors/parameterize.rb
407
+ - lib/leftovers/value_processors/placeholder.rb
408
+ - lib/leftovers/value_processors/pluralize.rb
409
+ - lib/leftovers/value_processors/positional_argument.rb
410
+ - lib/leftovers/value_processors/replace_value.rb
411
+ - lib/leftovers/value_processors/return_definition.rb
412
+ - lib/leftovers/value_processors/return_string.rb
413
+ - lib/leftovers/value_processors/singularize.rb
414
+ - lib/leftovers/value_processors/split.rb
415
+ - lib/leftovers/value_processors/swapcase.rb
416
+ - lib/leftovers/value_processors/titleize.rb
417
+ - lib/leftovers/value_processors/underscore.rb
418
+ - lib/leftovers/value_processors/upcase.rb
257
419
  - lib/leftovers/version.rb
258
420
  homepage: http://github.com/robotdana/leftovers
259
421
  licenses:
@@ -261,8 +423,8 @@ licenses:
261
423
  metadata:
262
424
  homepage_uri: http://github.com/robotdana/leftovers
263
425
  source_code_uri: http://github.com/robotdana/leftovers
264
- changelog_uri: http://github.com/robotdana/leftovers/blob/master/CHANGELOG.md
265
- post_install_message:
426
+ changelog_uri: http://github.com/robotdana/leftovers/blob/main/CHANGELOG.md
427
+ post_install_message:
266
428
  rdoc_options: []
267
429
  require_paths:
268
430
  - lib
@@ -270,7 +432,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
432
  requirements:
271
433
  - - ">="
272
434
  - !ruby/object:Gem::Version
273
- version: '0'
435
+ version: 2.4.0
274
436
  required_rubygems_version: !ruby/object:Gem::Requirement
275
437
  requirements:
276
438
  - - ">="
@@ -278,7 +440,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
278
440
  version: '0'
279
441
  requirements: []
280
442
  rubygems_version: 3.1.2
281
- signing_key:
443
+ signing_key:
282
444
  specification_version: 4
283
445
  summary: Find unused methods and classes/modules
284
446
  test_files: []