repeatable 0.5.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/.git-blame-ignore-revs +13 -0
  3. data/.github/workflows/ci.yml +72 -0
  4. data/.gitignore +0 -1
  5. data/.rspec +0 -1
  6. data/.standard.yml +3 -0
  7. data/CHANGELOG.md +58 -3
  8. data/CODE_OF_CONDUCT.md +128 -0
  9. data/Gemfile +11 -3
  10. data/Gemfile.lock +95 -0
  11. data/README.md +49 -9
  12. data/Rakefile +9 -3
  13. data/lib/repeatable/conversions.rb +5 -1
  14. data/lib/repeatable/expression/base.rb +37 -11
  15. data/lib/repeatable/expression/biweekly.rb +14 -6
  16. data/lib/repeatable/expression/date.rb +11 -8
  17. data/lib/repeatable/expression/day_in_month.rb +11 -1
  18. data/lib/repeatable/expression/difference.rb +37 -0
  19. data/lib/repeatable/expression/exact_date.rb +21 -0
  20. data/lib/repeatable/expression/intersection.rb +9 -0
  21. data/lib/repeatable/expression/range_in_year.rb +39 -9
  22. data/lib/repeatable/expression/set.rb +15 -7
  23. data/lib/repeatable/expression/union.rb +9 -0
  24. data/lib/repeatable/expression/weekday.rb +4 -0
  25. data/lib/repeatable/expression/weekday_in_month.rb +35 -4
  26. data/lib/repeatable/expression.rb +1 -0
  27. data/lib/repeatable/last_date_of_month.rb +11 -0
  28. data/lib/repeatable/parse_error.rb +1 -0
  29. data/lib/repeatable/parser.rb +14 -2
  30. data/lib/repeatable/schedule.rb +23 -9
  31. data/lib/repeatable/types.rb +6 -0
  32. data/lib/repeatable/version.rb +2 -1
  33. data/lib/repeatable.rb +25 -19
  34. data/rbi/repeatable.rbi +310 -0
  35. data/repeatable.gemspec +15 -15
  36. data/sorbet/config +3 -0
  37. data/sorbet/rbi/gems/ast.rbi +49 -0
  38. data/sorbet/rbi/gems/coderay.rbi +285 -0
  39. data/sorbet/rbi/gems/commander.rbi +197 -0
  40. data/sorbet/rbi/gems/docile.rbi +36 -0
  41. data/sorbet/rbi/gems/highline.rbi +577 -0
  42. data/sorbet/rbi/gems/method_source.rbi +64 -0
  43. data/sorbet/rbi/gems/parallel.rbi +83 -0
  44. data/sorbet/rbi/gems/parlour.rbi +840 -0
  45. data/sorbet/rbi/gems/parser.rbi +1950 -0
  46. data/sorbet/rbi/gems/pry.rbi +1898 -0
  47. data/sorbet/rbi/gems/rainbow.rbi +118 -0
  48. data/sorbet/rbi/gems/rake.rbi +646 -0
  49. data/sorbet/rbi/gems/regexp_parser.rbi +926 -0
  50. data/sorbet/rbi/gems/repeatable.rbi +13 -0
  51. data/sorbet/rbi/gems/rexml.rbi +583 -0
  52. data/sorbet/rbi/gems/rspec-core.rbi +1919 -0
  53. data/sorbet/rbi/gems/rspec-expectations.rbi +1150 -0
  54. data/sorbet/rbi/gems/rspec-mocks.rbi +1100 -0
  55. data/sorbet/rbi/gems/rspec-support.rbi +280 -0
  56. data/sorbet/rbi/gems/rspec.rbi +15 -0
  57. data/sorbet/rbi/gems/rubocop-ast.rbi +1356 -0
  58. data/sorbet/rbi/gems/rubocop-performance.rbi +487 -0
  59. data/sorbet/rbi/gems/rubocop.rbi +7923 -0
  60. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  61. data/sorbet/rbi/gems/simplecov-html.rbi +35 -0
  62. data/sorbet/rbi/gems/simplecov.rbi +419 -0
  63. data/sorbet/rbi/gems/simplecov_json_formatter.rbi +47 -0
  64. data/sorbet/rbi/gems/standard.rbi +130 -0
  65. data/sorbet/rbi/gems/unicode-display_width.rbi +20 -0
  66. data/sorbet/rbi/hidden-definitions/errors.txt +4273 -0
  67. data/sorbet/rbi/hidden-definitions/hidden.rbi +9013 -0
  68. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +276 -0
  69. data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
  70. data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +24 -0
  71. data/sorbet/rbi/sorbet-typed/lib/rubocop/>=1.8/rubocop.rbi +12 -0
  72. data/sorbet/rbi/sorbet-typed/lib/rubocop-performance/~>1.6/rubocop-performance.rbi +149 -0
  73. metadata +62 -45
  74. data/.travis.yml +0 -10
@@ -0,0 +1,487 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strict
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/rubocop-performance/all/rubocop-performance.rbi
9
+ #
10
+ # rubocop-performance-1.10.1
11
+
12
+ module RuboCop
13
+ end
14
+ module RuboCop::Performance
15
+ end
16
+ module RuboCop::Performance::Version
17
+ def self.document_version; end
18
+ end
19
+ module RuboCop::Performance::Inject
20
+ def self.defaults!; end
21
+ end
22
+ module RuboCop::Cop
23
+ end
24
+ module RuboCop::Cop::RegexpMetacharacter
25
+ def drop_end_metacharacter(regexp_string); end
26
+ def drop_start_metacharacter(regexp_string); end
27
+ def literal_at_end?(regexp); end
28
+ def literal_at_end_with_backslash_z?(regex_str); end
29
+ def literal_at_end_with_dollar?(regex_str); end
30
+ def literal_at_start?(regexp); end
31
+ def literal_at_start_with_backslash_a?(regex_str); end
32
+ def literal_at_start_with_caret?(regex_str); end
33
+ def safe_multiline?; end
34
+ end
35
+ module RuboCop::Cop::SortBlock
36
+ def replaceable_body?(param0 = nil, param1, param2); end
37
+ def sort_range(send, node); end
38
+ def sort_with_block?(param0 = nil); end
39
+ extend RuboCop::AST::NodePattern::Macros
40
+ include RuboCop::Cop::RangeHelp
41
+ end
42
+ module RuboCop::Cop::Performance
43
+ end
44
+ class RuboCop::Cop::Performance::AncestorsInclude < RuboCop::Cop::Base
45
+ def ancestors_include_candidate?(param0 = nil); end
46
+ def on_send(node); end
47
+ def range(node); end
48
+ extend RuboCop::Cop::AutoCorrector
49
+ include RuboCop::Cop::RangeHelp
50
+ end
51
+ class RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice < RuboCop::Cop::Base
52
+ def correction(receiver, range_node); end
53
+ def endless_range?(param0 = nil); end
54
+ def endless_range_slice?(param0 = nil); end
55
+ def on_send(node); end
56
+ extend RuboCop::Cop::AutoCorrector
57
+ extend RuboCop::Cop::TargetRubyVersion
58
+ include RuboCop::Cop::RangeHelp
59
+ end
60
+ class RuboCop::Cop::Performance::BigDecimalWithNumericArgument < RuboCop::Cop::Base
61
+ def big_decimal_with_numeric_argument?(param0 = nil); end
62
+ def on_send(node); end
63
+ def specifies_precision?(node); end
64
+ extend RuboCop::Cop::AutoCorrector
65
+ end
66
+ class RuboCop::Cop::Performance::BindCall < RuboCop::Cop::Base
67
+ def bind_with_call_method?(param0 = nil); end
68
+ def build_call_args(call_args_node); end
69
+ def correction_range(receiver, node); end
70
+ def message(bind_arg, call_args); end
71
+ def on_send(node); end
72
+ extend RuboCop::Cop::AutoCorrector
73
+ extend RuboCop::Cop::TargetRubyVersion
74
+ include RuboCop::Cop::RangeHelp
75
+ end
76
+ class RuboCop::Cop::Performance::BlockGivenWithExplicitBlock < RuboCop::Cop::Base
77
+ def on_send(node); end
78
+ def reassigns_block_arg?(param0 = nil, param1); end
79
+ extend RuboCop::Cop::AutoCorrector
80
+ end
81
+ class RuboCop::Cop::Performance::Caller < RuboCop::Cop::Base
82
+ def caller_with_scope_method?(param0 = nil); end
83
+ def int_value(node); end
84
+ def on_send(node); end
85
+ def slow_caller?(param0 = nil); end
86
+ extend RuboCop::Cop::AutoCorrector
87
+ end
88
+ class RuboCop::Cop::Performance::CaseWhenSplat < RuboCop::Cop::Base
89
+ def autocorrect(corrector, when_node); end
90
+ def indent_for(node); end
91
+ def inline_fix_branch(corrector, when_node); end
92
+ def needs_reorder?(when_node); end
93
+ def new_branch_without_then(node, new_condition); end
94
+ def new_condition_with_then(node, new_condition); end
95
+ def non_splat?(condition); end
96
+ def on_case(case_node); end
97
+ def range(node); end
98
+ def reorder_condition(corrector, when_node); end
99
+ def reordering_correction(when_node); end
100
+ def replacement(conditions); end
101
+ def splat_offenses(when_conditions); end
102
+ def when_branch_range(when_node); end
103
+ extend RuboCop::Cop::AutoCorrector
104
+ include RuboCop::Cop::Alignment
105
+ include RuboCop::Cop::RangeHelp
106
+ end
107
+ class RuboCop::Cop::Performance::Casecmp < RuboCop::Cop::Base
108
+ def build_good_method(arg, variable); end
109
+ def correction(corrector, node, method, arg, variable); end
110
+ def downcase_downcase(param0 = nil); end
111
+ def downcase_eq(param0 = nil); end
112
+ def eq_downcase(param0 = nil); end
113
+ def on_send(node); end
114
+ def take_method_apart(node); end
115
+ extend RuboCop::Cop::AutoCorrector
116
+ end
117
+ class RuboCop::Cop::Performance::CollectionLiteralInLoop < RuboCop::Cop::Base
118
+ def check_literal?(node, method); end
119
+ def enumerable_loop?(param0 = nil); end
120
+ def enumerable_method?(method_name); end
121
+ def kernel_loop?(param0 = nil); end
122
+ def keyword_loop?(type); end
123
+ def literal_class(node); end
124
+ def loop?(ancestor, node); end
125
+ def min_size; end
126
+ def node_within_enumerable_loop?(node, ancestor); end
127
+ def nonmutable_method_of_array_or_hash?(node, method); end
128
+ def on_send(node); end
129
+ def parent_is_loop?(node); end
130
+ end
131
+ class RuboCop::Cop::Performance::CompareWithBlock < RuboCop::Cop::Base
132
+ def compare?(param0 = nil); end
133
+ def compare_range(send, node); end
134
+ def message(send, method, var_a, var_b, args); end
135
+ def on_block(node); end
136
+ def replaceable_body?(param0 = nil, param1, param2); end
137
+ def slow_compare?(method, args_a, args_b); end
138
+ extend RuboCop::Cop::AutoCorrector
139
+ include RuboCop::Cop::RangeHelp
140
+ end
141
+ class RuboCop::Cop::Performance::ConstantRegexp < RuboCop::Cop::Base
142
+ def include_interpolated_const?(node); end
143
+ def on_regexp(node); end
144
+ def regexp_escape?(param0 = nil); end
145
+ def within_allowed_assignment?(node); end
146
+ extend RuboCop::Cop::AutoCorrector
147
+ end
148
+ class RuboCop::Cop::Performance::Count < RuboCop::Cop::Base
149
+ def autocorrect(corrector, node, selector_node, selector); end
150
+ def count_candidate?(param0 = nil); end
151
+ def eligible_node?(node); end
152
+ def on_send(node); end
153
+ def source_starting_at(node); end
154
+ extend RuboCop::Cop::AutoCorrector
155
+ include RuboCop::Cop::RangeHelp
156
+ end
157
+ class RuboCop::Cop::Performance::DeletePrefix < RuboCop::Cop::Base
158
+ def delete_prefix_candidate?(param0 = nil); end
159
+ def on_send(node); end
160
+ extend RuboCop::Cop::AutoCorrector
161
+ extend RuboCop::Cop::TargetRubyVersion
162
+ include RuboCop::Cop::RegexpMetacharacter
163
+ end
164
+ class RuboCop::Cop::Performance::DeleteSuffix < RuboCop::Cop::Base
165
+ def delete_suffix_candidate?(param0 = nil); end
166
+ def on_send(node); end
167
+ extend RuboCop::Cop::AutoCorrector
168
+ extend RuboCop::Cop::TargetRubyVersion
169
+ include RuboCop::Cop::RegexpMetacharacter
170
+ end
171
+ class RuboCop::Cop::Performance::Detect < RuboCop::Cop::Base
172
+ def accept_first_call?(receiver, body); end
173
+ def autocorrect(corrector, node, replacement); end
174
+ def detect_candidate?(param0 = nil); end
175
+ def lazy?(node); end
176
+ def message_for_method(method, index); end
177
+ def on_send(node); end
178
+ def preferred_method; end
179
+ def register_offense(node, receiver, second_method, index); end
180
+ def replacement(method, index); end
181
+ extend RuboCop::Cop::AutoCorrector
182
+ end
183
+ class RuboCop::Cop::Performance::DoubleStartEndWith < RuboCop::Cop::Base
184
+ def autocorrect(corrector, first_call_args, second_call_args, combined_args); end
185
+ def check_for_active_support_aliases?; end
186
+ def check_with_active_support_aliases(param0 = nil); end
187
+ def combine_args(first_call_args, second_call_args); end
188
+ def message(node, receiver, method, combined_args); end
189
+ def on_or(node); end
190
+ def process_source(node); end
191
+ def two_start_end_with_calls(param0 = nil); end
192
+ extend RuboCop::Cop::AutoCorrector
193
+ end
194
+ class RuboCop::Cop::Performance::EndWith < RuboCop::Cop::Base
195
+ def on_match_with_lvasgn(node); end
196
+ def on_send(node); end
197
+ def redundant_regex?(param0 = nil); end
198
+ extend RuboCop::Cop::AutoCorrector
199
+ include RuboCop::Cop::RegexpMetacharacter
200
+ end
201
+ class RuboCop::Cop::Performance::FixedSize < RuboCop::Cop::Base
202
+ def allowed_argument?(arg); end
203
+ def allowed_parent?(node); end
204
+ def allowed_variable?(var); end
205
+ def contains_double_splat?(node); end
206
+ def contains_splat?(node); end
207
+ def counter(param0 = nil); end
208
+ def non_string_argument?(node); end
209
+ def on_send(node); end
210
+ end
211
+ class RuboCop::Cop::Performance::FlatMap < RuboCop::Cop::Base
212
+ def autocorrect(corrector, node); end
213
+ def flat_map_candidate?(param0 = nil); end
214
+ def offense_for_levels(node, map_node, first_method, flatten); end
215
+ def offense_for_method(node, map_node, first_method, flatten); end
216
+ def on_send(node); end
217
+ def register_offense(node, map_node, first_method, flatten, message); end
218
+ extend RuboCop::Cop::AutoCorrector
219
+ include RuboCop::Cop::RangeHelp
220
+ end
221
+ class RuboCop::Cop::Performance::InefficientHashSearch < RuboCop::Cop::Base
222
+ def autocorrect_argument(node); end
223
+ def autocorrect_hash_expression(node); end
224
+ def autocorrect_method(node); end
225
+ def current_method(node); end
226
+ def inefficient_include?(param0 = nil); end
227
+ def message(node); end
228
+ def on_send(node); end
229
+ def use_long_method; end
230
+ extend RuboCop::Cop::AutoCorrector
231
+ end
232
+ class RuboCop::Cop::Performance::MethodObjectAsBlock < RuboCop::Cop::Base
233
+ def method_object_as_argument?(param0 = nil); end
234
+ def on_block_pass(node); end
235
+ end
236
+ class RuboCop::Cop::Performance::OpenStruct < RuboCop::Cop::Base
237
+ def on_send(node); end
238
+ def open_struct(param0 = nil); end
239
+ end
240
+ class RuboCop::Cop::Performance::RangeInclude < RuboCop::Cop::Base
241
+ def on_send(node); end
242
+ def range_include(param0 = nil); end
243
+ extend RuboCop::Cop::AutoCorrector
244
+ end
245
+ class RuboCop::Cop::Performance::IoReadlines < RuboCop::Cop::Base
246
+ def autocorrect(corrector, enumerable_call, readlines_call, receiver); end
247
+ def build_bad_method(enumerable_call); end
248
+ def build_call_args(call_args_node); end
249
+ def build_good_method(enumerable_call); end
250
+ def correction_range(enumerable_call, readlines_call); end
251
+ def offense_range(enumerable_call, readlines_call); end
252
+ def on_send(node); end
253
+ def readlines_on_class?(param0 = nil); end
254
+ def readlines_on_instance?(param0 = nil); end
255
+ extend RuboCop::Cop::AutoCorrector
256
+ include RuboCop::Cop::RangeHelp
257
+ end
258
+ class RuboCop::Cop::Performance::RedundantBlockCall < RuboCop::Cop::Base
259
+ def args_include_block_pass?(blockcall); end
260
+ def autocorrect(corrector, node); end
261
+ def blockarg_assigned?(param0, param1); end
262
+ def blockarg_calls(param0, param1); end
263
+ def blockarg_def(param0 = nil); end
264
+ def calls_to_report(argname, body); end
265
+ def on_def(node); end
266
+ extend RuboCop::Cop::AutoCorrector
267
+ end
268
+ class RuboCop::Cop::Performance::RedundantEqualityComparisonBlock < RuboCop::Cop::Base
269
+ def new_argument(block_argument, block_body); end
270
+ def offense_range(node); end
271
+ def on_block(node); end
272
+ def same_block_argument_and_is_a_argument?(block_body, block_argument); end
273
+ def use_equality_comparison_block?(block_body); end
274
+ extend RuboCop::Cop::AutoCorrector
275
+ extend RuboCop::Cop::TargetRubyVersion
276
+ end
277
+ class RuboCop::Cop::Performance::RedundantMatch < RuboCop::Cop::Base
278
+ def autocorrect(corrector, node); end
279
+ def match_call?(param0 = nil); end
280
+ def on_send(node); end
281
+ def only_truthiness_matters?(param0 = nil); end
282
+ extend RuboCop::Cop::AutoCorrector
283
+ end
284
+ class RuboCop::Cop::Performance::RedundantMerge < RuboCop::Cop::Base
285
+ def correct_multiple_elements(corrector, node, parent, new_source); end
286
+ def correct_single_element(corrector, node, new_source); end
287
+ def each_redundant_merge(node); end
288
+ def indent_width; end
289
+ def kwsplat_used?(pairs); end
290
+ def leading_spaces(node); end
291
+ def max_key_value_pairs; end
292
+ def message(node); end
293
+ def modifier_flow_control?(param0 = nil); end
294
+ def non_redundant_merge?(node, receiver, pairs); end
295
+ def non_redundant_pairs?(receiver, pairs); end
296
+ def non_redundant_value_used?(receiver, node); end
297
+ def on_send(node); end
298
+ def redundant_merge_candidate(param0 = nil); end
299
+ def rewrite_with_modifier(node, parent, new_source); end
300
+ def to_assignments(receiver, pairs); end
301
+ extend RuboCop::Cop::AutoCorrector
302
+ end
303
+ class RuboCop::Cop::Performance::RedundantMerge::EachWithObjectInspector
304
+ def each_with_object_node(param0 = nil); end
305
+ def eligible_receiver?; end
306
+ def initialize(node, receiver); end
307
+ def node; end
308
+ def receiver; end
309
+ def second_argument; end
310
+ def unwind(receiver); end
311
+ def value_used?; end
312
+ extend RuboCop::AST::NodePattern::Macros
313
+ end
314
+ class RuboCop::Cop::Performance::RedundantSortBlock < RuboCop::Cop::Base
315
+ def message(var_a, var_b); end
316
+ def on_block(node); end
317
+ extend RuboCop::Cop::AutoCorrector
318
+ include RuboCop::Cop::SortBlock
319
+ end
320
+ class RuboCop::Cop::Performance::RedundantSplitRegexpArgument < RuboCop::Cop::Base
321
+ def determinist_regexp?(regexp_node); end
322
+ def on_send(node); end
323
+ def replacement(regexp_node); end
324
+ def split_call_with_regexp?(param0 = nil); end
325
+ extend RuboCop::Cop::AutoCorrector
326
+ end
327
+ class RuboCop::Cop::Performance::RedundantStringChars < RuboCop::Cop::Base
328
+ def build_bad_method(method, args); end
329
+ def build_call_args(call_args_node); end
330
+ def build_good_method(method, args); end
331
+ def build_message(method, args); end
332
+ def correction_range(receiver, node); end
333
+ def offense_range(receiver, node); end
334
+ def on_send(node); end
335
+ def redundant_chars_call?(param0 = nil); end
336
+ extend RuboCop::Cop::AutoCorrector
337
+ include RuboCop::Cop::RangeHelp
338
+ end
339
+ class RuboCop::Cop::Performance::RegexpMatch < RuboCop::Cop::Base
340
+ def autocorrect(corrector, node); end
341
+ def check_condition(cond); end
342
+ def correct_operator(corrector, recv, arg, oper = nil); end
343
+ def correction_range(recv, arg); end
344
+ def find_last_match(body, range, scope_root); end
345
+ def last_match_used?(match_node); end
346
+ def last_matches(param0); end
347
+ def match_gvar?(sym); end
348
+ def match_method?(param0 = nil); end
349
+ def match_node?(param0 = nil); end
350
+ def match_operator?(param0 = nil); end
351
+ def match_threequals?(param0 = nil); end
352
+ def match_with_int_arg_method?(param0 = nil); end
353
+ def match_with_lvasgn?(node); end
354
+ def message(node); end
355
+ def modifier_form?(match_node); end
356
+ def next_match_pos(body, match_node_pos, scope_root); end
357
+ def on_case(node); end
358
+ def on_if(node); end
359
+ def range_to_search_for_last_matches(match_node, body, scope_root); end
360
+ def replace_with_match_predicate_method(corrector, recv, arg, op_range); end
361
+ def scope_body(node); end
362
+ def scope_root(node); end
363
+ def search_match_nodes(param0); end
364
+ def swap_receiver_and_arg(corrector, recv, arg); end
365
+ extend RuboCop::Cop::AutoCorrector
366
+ end
367
+ class RuboCop::Cop::Performance::ReverseEach < RuboCop::Cop::Base
368
+ def offense_range(node); end
369
+ def on_send(node); end
370
+ def reverse_each?(param0 = nil); end
371
+ extend RuboCop::Cop::AutoCorrector
372
+ include RuboCop::Cop::RangeHelp
373
+ end
374
+ class RuboCop::Cop::Performance::ReverseFirst < RuboCop::Cop::Base
375
+ def build_bad_method(node); end
376
+ def build_good_method(node); end
377
+ def build_message(node); end
378
+ def correction_range(receiver, node); end
379
+ def on_send(node); end
380
+ def reverse_first_candidate?(param0 = nil); end
381
+ extend RuboCop::Cop::AutoCorrector
382
+ include RuboCop::Cop::RangeHelp
383
+ end
384
+ class RuboCop::Cop::Performance::Size < RuboCop::Cop::Base
385
+ def array?(param0 = nil); end
386
+ def count?(param0 = nil); end
387
+ def hash?(param0 = nil); end
388
+ def on_send(node); end
389
+ extend RuboCop::Cop::AutoCorrector
390
+ end
391
+ class RuboCop::Cop::Performance::SortReverse < RuboCop::Cop::Base
392
+ def message(var_a, var_b); end
393
+ def on_block(node); end
394
+ extend RuboCop::Cop::AutoCorrector
395
+ include RuboCop::Cop::SortBlock
396
+ end
397
+ class RuboCop::Cop::Performance::Squeeze < RuboCop::Cop::Base
398
+ def on_send(node); end
399
+ def repeating_literal?(regex_str); end
400
+ def squeeze_candidate?(param0 = nil); end
401
+ extend RuboCop::Cop::AutoCorrector
402
+ end
403
+ class RuboCop::Cop::Performance::StartWith < RuboCop::Cop::Base
404
+ def on_match_with_lvasgn(node); end
405
+ def on_send(node); end
406
+ def redundant_regex?(param0 = nil); end
407
+ extend RuboCop::Cop::AutoCorrector
408
+ include RuboCop::Cop::RegexpMetacharacter
409
+ end
410
+ class RuboCop::Cop::Performance::StringInclude < RuboCop::Cop::Base
411
+ def literal?(regex_str); end
412
+ def on_match_with_lvasgn(node); end
413
+ def on_send(node); end
414
+ def redundant_regex?(param0 = nil); end
415
+ extend RuboCop::Cop::AutoCorrector
416
+ end
417
+ class RuboCop::Cop::Performance::StringReplacement < RuboCop::Cop::Base
418
+ def accept_first_param?(first_param); end
419
+ def accept_second_param?(second_param); end
420
+ def autocorrect(corrector, node); end
421
+ def first_source(first_param); end
422
+ def message(node, first_source, second_source); end
423
+ def method_suffix(node); end
424
+ def offense(node, first_param, second_param); end
425
+ def on_send(node); end
426
+ def range(node); end
427
+ def remove_second_param(corrector, node, first_param); end
428
+ def replace_method(corrector, node, first_source, second_source, first_param); end
429
+ def replacement_method(node, first_source, second_source); end
430
+ def source_from_regex_constructor(node); end
431
+ def source_from_regex_literal(node); end
432
+ def string_replacement?(param0 = nil); end
433
+ extend RuboCop::Cop::AutoCorrector
434
+ include RuboCop::Cop::RangeHelp
435
+ end
436
+ class RuboCop::Cop::Performance::Sum < RuboCop::Cop::Base
437
+ def acc_plus_elem?(param0 = nil, param1, param2); end
438
+ def array_literal?(node); end
439
+ def autocorrect(corrector, init, range); end
440
+ def autocorrect_sum_map(corrector, sum, map, init); end
441
+ def build_block_bad_method(method, init, var_acc, var_elem, body); end
442
+ def build_block_message(send, init, var_acc, var_elem, body); end
443
+ def build_good_method(init, block_pass = nil); end
444
+ def build_method_bad_method(init, method, operation); end
445
+ def build_method_message(node, method, init, operation); end
446
+ def build_sum_map_message(method, init); end
447
+ def elem_plus_acc?(param0 = nil, param1, param2); end
448
+ def empty_array_literal?(node); end
449
+ def handle_sum_candidate(node); end
450
+ def handle_sum_map_candidate(node); end
451
+ def method_call_with_args_range(node); end
452
+ def on_block(node); end
453
+ def on_send(node); end
454
+ def sum_block_range(send, node); end
455
+ def sum_candidate?(param0 = nil); end
456
+ def sum_map_candidate?(param0 = nil); end
457
+ def sum_map_range(map, sum); end
458
+ def sum_method_range(node); end
459
+ def sum_with_block_candidate?(param0 = nil); end
460
+ extend RuboCop::Cop::AutoCorrector
461
+ include RuboCop::Cop::RangeHelp
462
+ end
463
+ class RuboCop::Cop::Performance::TimesMap < RuboCop::Cop::Base
464
+ def check(node); end
465
+ def message(map_or_collect, count); end
466
+ def on_block(node); end
467
+ def on_send(node); end
468
+ def times_map_call(param0 = nil); end
469
+ extend RuboCop::Cop::AutoCorrector
470
+ end
471
+ class RuboCop::Cop::Performance::UnfreezeString < RuboCop::Cop::Base
472
+ def dup_string?(param0 = nil); end
473
+ def on_send(node); end
474
+ def string_new?(param0 = nil); end
475
+ def string_value(node); end
476
+ extend RuboCop::Cop::AutoCorrector
477
+ end
478
+ class RuboCop::Cop::Performance::UriDefaultParser < RuboCop::Cop::Base
479
+ def on_send(node); end
480
+ def uri_parser_new?(param0 = nil); end
481
+ extend RuboCop::Cop::AutoCorrector
482
+ end
483
+ class RuboCop::Cop::Performance::ChainArrayAllocation < RuboCop::Cop::Base
484
+ def chain_array_allocation?(param0 = nil); end
485
+ def on_send(node); end
486
+ include RuboCop::Cop::RangeHelp
487
+ end