checkoff 0.223.0 → 0.226.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/checkoff.gemspec +10 -5
- data/lib/checkoff/attachments.rb +1 -1
- data/lib/checkoff/cli.rb +1 -1
- data/lib/checkoff/clients.rb +1 -1
- data/lib/checkoff/custom_fields.rb +1 -1
- data/lib/checkoff/events.rb +1 -1
- data/lib/checkoff/internal/config_loader.rb +2 -3
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -2
- data/lib/checkoff/my_tasks.rb +1 -1
- data/lib/checkoff/portfolios.rb +11 -9
- data/lib/checkoff/projects.rb +1 -1
- data/lib/checkoff/sections.rb +4 -5
- data/lib/checkoff/tags.rb +66 -17
- data/lib/checkoff/tasks.rb +1 -1
- data/lib/checkoff/version.rb +1 -1
- data/lib/checkoff/workspaces.rb +1 -1
- data/rbi/checkoff.rbi +4529 -0
- data/sig/checkoff.rbs +3749 -0
- metadata +5 -211
- data/.circleci/config.yml +0 -291
- data/.envrc +0 -9
- data/.git-hooks/pre_commit/circle_ci.rb +0 -26
- data/.git-hooks/pre_commit/punchlist.rb +0 -52
- data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -77
- data/.gitattributes +0 -6
- data/.gitignore +0 -65
- data/.markdownlint_style.rb +0 -4
- data/.mdlrc +0 -1
- data/.overcommit.yml +0 -115
- data/.rubocop.yml +0 -143
- data/.rubocop_todo.yml +0 -90
- data/.solargraph.yml +0 -35
- data/.yamllint.yml +0 -8
- data/.yardopts +0 -2
- data/CODE_OF_CONDUCT.md +0 -133
- data/CONTRIBUTING.rst +0 -75
- data/DEVELOPMENT.md +0 -69
- data/GLOSSARY.md +0 -16
- data/Gemfile +0 -67
- data/Gemfile.lock +0 -351
- data/LICENSE +0 -21
- data/Makefile +0 -139
- data/bin/brakeman +0 -27
- data/bin/bump +0 -29
- data/bin/checkoff +0 -29
- data/bin/console +0 -15
- data/bin/overcommit +0 -29
- data/bin/overcommit_branch +0 -114
- data/bin/rake +0 -29
- data/bin/rubocop +0 -27
- data/bin/setup +0 -8
- data/bin/solargraph +0 -27
- data/bin/sord +0 -27
- data/bin/spoom +0 -27
- data/bin/srb +0 -27
- data/bin/srb-rbi +0 -27
- data/bin/tapioca +0 -27
- data/bin/yard +0 -27
- data/config/annotations_asana.rb +0 -253
- data/config/annotations_misc.rb +0 -68
- data/config/env.1p +0 -2
- data/docs/.gitignore +0 -3
- data/docs/cookiecutter_input.json +0 -17
- data/docs/example_project.png +0 -0
- data/fix.sh +0 -534
- data/metrics/bigfiles_high_water_mark +0 -1
- data/metrics/brakeman_high_water_mark +0 -1
- data/metrics/bundle-audit_high_water_mark +0 -1
- data/metrics/cane_high_water_mark +0 -1
- data/metrics/eslint_high_water_mark +0 -1
- data/metrics/flake8_high_water_mark +0 -1
- data/metrics/flay_high_water_mark +0 -1
- data/metrics/flog_high_water_mark +0 -1
- data/metrics/jscs_high_water_mark +0 -1
- data/metrics/mdl_high_water_mark +0 -1
- data/metrics/pep8_high_water_mark +0 -1
- data/metrics/punchlist_high_water_mark +0 -1
- data/metrics/pycodestyle_high_water_mark +0 -1
- data/metrics/rails_best_practices_high_water_mark +0 -1
- data/metrics/rubocop_high_water_mark +0 -1
- data/metrics/scalastyle_high_water_mark +0 -1
- data/metrics/shellcheck_high_water_mark +0 -1
- data/package.json +0 -9
- data/rakelib/citest.rake +0 -4
- data/rakelib/clear_metrics.rake +0 -9
- data/rakelib/console.rake +0 -15
- data/rakelib/default.rake +0 -4
- data/rakelib/doc.rake +0 -6
- data/rakelib/gem_tasks.rake +0 -3
- data/rakelib/localtest.rake +0 -4
- data/rakelib/overcommit.rake +0 -6
- data/rakelib/quality.rake +0 -4
- data/rakelib/repl.rake +0 -4
- data/rakelib/test.rake +0 -10
- data/rakelib/trigger_next_builds.rake +0 -7
- data/rakelib/undercover.rake +0 -8
- data/requirements_dev.txt +0 -2
- data/sorbet/config +0 -4
- data/sorbet/rbi/annotations/.gitattributes +0 -1
- data/sorbet/rbi/annotations/activesupport.rbi +0 -453
- data/sorbet/rbi/annotations/faraday.rbi +0 -17
- data/sorbet/rbi/annotations/minitest.rbi +0 -119
- data/sorbet/rbi/annotations/mocha.rbi +0 -34
- data/sorbet/rbi/annotations/rainbow.rbi +0 -269
- data/sorbet/rbi/annotations/webmock.rbi +0 -9
- data/sorbet/rbi/dsl/.gitattributes +0 -1
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
- data/sorbet/rbi/gems/.gitattributes +0 -1
- data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
- data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
- data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
- data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
- data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
- data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
- data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
- data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
- data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
- data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
- data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
- data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
- data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
- data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
- data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
- data/sorbet/rbi/gems/commander@4.6.0.rbi +0 -9
- data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
- data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
- data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
- data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
- data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
- data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
- data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
- data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
- data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
- data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
- data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
- data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
- data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
- data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
- data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
- data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
- data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
- data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
- data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
- data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
- data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
- data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
- data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
- data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -9
- data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
- data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
- data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
- data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
- data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
- data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
- data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
- data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
- data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
- data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
- data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
- data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
- data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
- data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
- data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
- data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
- data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
- data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
- data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
- data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
- data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
- data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
- data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
- data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
- data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
- data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
- data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
- data/sorbet/rbi/gems/parlour@5.0.0.rbi +0 -3007
- data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
- data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
- data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
- data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
- data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
- data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
- data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
- data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
- data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
- data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
- data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
- data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
- data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
- data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7127
- data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
- data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
- data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
- data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
- data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
- data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
- data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
- data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
- data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
- data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
- data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
- data/sorbet/rbi/gems/sord@5.1.0.rbi +0 -820
- data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
- data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
- data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
- data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
- data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
- data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
- data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
- data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
- data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
- data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
- data/sorbet/rbi/todo.rbi +0 -11
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -4
@@ -1,3262 +0,0 @@
|
|
1
|
-
# typed: true
|
2
|
-
|
3
|
-
# DO NOT EDIT MANUALLY
|
4
|
-
# This is an autogenerated file for types exported from the `rubocop-performance` gem.
|
5
|
-
# Please instead update this file by running `bin/tapioca gem rubocop-performance`.
|
6
|
-
|
7
|
-
|
8
|
-
# source://rubocop-performance//lib/rubocop/performance.rb#3
|
9
|
-
module RuboCop; end
|
10
|
-
|
11
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#4
|
12
|
-
module RuboCop::Cop; end
|
13
|
-
|
14
|
-
module RuboCop::Cop::Lint; end
|
15
|
-
|
16
|
-
class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base
|
17
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#66
|
18
|
-
def not_implemented?(param0 = T.unsafe(nil)); end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#81
|
23
|
-
def autocorrect(corrector, node); end
|
24
|
-
|
25
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#85
|
26
|
-
def check_argument(variable); end
|
27
|
-
|
28
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#93
|
29
|
-
def ignored_method?(body); end
|
30
|
-
|
31
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#98
|
32
|
-
def message(variable); end
|
33
|
-
|
34
|
-
class << self
|
35
|
-
# source://rubocop-performance//lib/rubocop-performance.rb#15
|
36
|
-
def autocorrect_incompatible_with; end
|
37
|
-
|
38
|
-
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#75
|
39
|
-
def joining_forces; end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#5
|
44
|
-
module RuboCop::Cop::Performance; end
|
45
|
-
|
46
|
-
# Identifies usages of `ancestors.include?` and change them to use `<=` instead.
|
47
|
-
#
|
48
|
-
# @example
|
49
|
-
# # bad
|
50
|
-
# A.ancestors.include?(B)
|
51
|
-
#
|
52
|
-
# # good
|
53
|
-
# A <= B
|
54
|
-
#
|
55
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#19
|
56
|
-
class RuboCop::Cop::Performance::AncestorsInclude < ::RuboCop::Cop::Base
|
57
|
-
include ::RuboCop::Cop::RangeHelp
|
58
|
-
extend ::RuboCop::Cop::AutoCorrector
|
59
|
-
|
60
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#26
|
61
|
-
def ancestors_include_candidate?(param0 = T.unsafe(nil)); end
|
62
|
-
|
63
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#30
|
64
|
-
def on_send(node); end
|
65
|
-
|
66
|
-
private
|
67
|
-
|
68
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#43
|
69
|
-
def range(node); end
|
70
|
-
end
|
71
|
-
|
72
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#23
|
73
|
-
RuboCop::Cop::Performance::AncestorsInclude::MSG = T.let(T.unsafe(nil), String)
|
74
|
-
|
75
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/ancestors_include.rb#24
|
76
|
-
RuboCop::Cop::Performance::AncestorsInclude::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
77
|
-
|
78
|
-
# Identifies places where slicing arrays with semi-infinite ranges
|
79
|
-
# can be replaced by `Array#take` and `Array#drop`.
|
80
|
-
# This cop was created due to a mistake in microbenchmark and hence is disabled by default.
|
81
|
-
# Refer https://github.com/rubocop/rubocop-performance/pull/175#issuecomment-731892717
|
82
|
-
#
|
83
|
-
# @example
|
84
|
-
# # bad
|
85
|
-
# array[..2]
|
86
|
-
# array[...2]
|
87
|
-
# array[2..]
|
88
|
-
# array[2...]
|
89
|
-
# array.slice(..2)
|
90
|
-
#
|
91
|
-
# # good
|
92
|
-
# array.take(3)
|
93
|
-
# array.take(2)
|
94
|
-
# array.drop(2)
|
95
|
-
# array.drop(2)
|
96
|
-
# array.take(3)
|
97
|
-
#
|
98
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#29
|
99
|
-
class RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice < ::RuboCop::Cop::Base
|
100
|
-
include ::RuboCop::Cop::RangeHelp
|
101
|
-
extend ::RuboCop::Cop::AutoCorrector
|
102
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
103
|
-
|
104
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#45
|
105
|
-
def endless_range?(param0 = T.unsafe(nil)); end
|
106
|
-
|
107
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#41
|
108
|
-
def endless_range_slice?(param0 = T.unsafe(nil)); end
|
109
|
-
|
110
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#52
|
111
|
-
def on_csend(node); end
|
112
|
-
|
113
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#52
|
114
|
-
def on_send(node); end
|
115
|
-
|
116
|
-
private
|
117
|
-
|
118
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#66
|
119
|
-
def correction(receiver, range_node); end
|
120
|
-
end
|
121
|
-
|
122
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#36
|
123
|
-
RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice::MSG = T.let(T.unsafe(nil), String)
|
124
|
-
|
125
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#39
|
126
|
-
RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Set)
|
127
|
-
|
128
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/array_semi_infinite_range_slice.rb#38
|
129
|
-
RuboCop::Cop::Performance::ArraySemiInfiniteRangeSlice::SLICE_METHODS = T.let(T.unsafe(nil), Set)
|
130
|
-
|
131
|
-
# Identifies places where numeric argument to BigDecimal should be
|
132
|
-
# converted to string. Initializing from String is faster
|
133
|
-
# than from Numeric for BigDecimal.
|
134
|
-
#
|
135
|
-
# @example
|
136
|
-
# # bad
|
137
|
-
# BigDecimal(1, 2)
|
138
|
-
# 4.to_d(6)
|
139
|
-
# BigDecimal(1.2, 3, exception: true)
|
140
|
-
# 4.5.to_d(6, exception: true)
|
141
|
-
#
|
142
|
-
# # good
|
143
|
-
# BigDecimal('1', 2)
|
144
|
-
# BigDecimal('4', 6)
|
145
|
-
# BigDecimal('1.2', 3, exception: true)
|
146
|
-
# BigDecimal('4.5', 6, exception: true)
|
147
|
-
#
|
148
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#23
|
149
|
-
class RuboCop::Cop::Performance::BigDecimalWithNumericArgument < ::RuboCop::Cop::Base
|
150
|
-
extend ::RuboCop::Cop::AutoCorrector
|
151
|
-
|
152
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#29
|
153
|
-
def big_decimal_with_numeric_argument?(param0 = T.unsafe(nil)); end
|
154
|
-
|
155
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#37
|
156
|
-
def on_send(node); end
|
157
|
-
|
158
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#33
|
159
|
-
def to_d?(param0 = T.unsafe(nil)); end
|
160
|
-
end
|
161
|
-
|
162
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#26
|
163
|
-
RuboCop::Cop::Performance::BigDecimalWithNumericArgument::MSG = T.let(T.unsafe(nil), String)
|
164
|
-
|
165
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/big_decimal_with_numeric_argument.rb#27
|
166
|
-
RuboCop::Cop::Performance::BigDecimalWithNumericArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
167
|
-
|
168
|
-
# In Ruby 2.7, `UnboundMethod#bind_call` has been added.
|
169
|
-
#
|
170
|
-
# This cop identifies places where `bind(obj).call(args, ...)`
|
171
|
-
# can be replaced by `bind_call(obj, args, ...)`.
|
172
|
-
#
|
173
|
-
# The `bind_call(obj, args, ...)` method is faster than
|
174
|
-
# `bind(obj).call(args, ...)`.
|
175
|
-
#
|
176
|
-
# @example
|
177
|
-
# # bad
|
178
|
-
# umethod.bind(obj).call(foo, bar)
|
179
|
-
# umethod.bind(obj).(foo, bar)
|
180
|
-
#
|
181
|
-
# # good
|
182
|
-
# umethod.bind_call(obj, foo, bar)
|
183
|
-
#
|
184
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#22
|
185
|
-
class RuboCop::Cop::Performance::BindCall < ::RuboCop::Cop::Base
|
186
|
-
include ::RuboCop::Cop::RangeHelp
|
187
|
-
extend ::RuboCop::Cop::AutoCorrector
|
188
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
189
|
-
|
190
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#32
|
191
|
-
def bind_with_call_method?(param0 = T.unsafe(nil)); end
|
192
|
-
|
193
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#40
|
194
|
-
def on_send(node); end
|
195
|
-
|
196
|
-
private
|
197
|
-
|
198
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#71
|
199
|
-
def build_call_args(call_args_node); end
|
200
|
-
|
201
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#64
|
202
|
-
def correction_range(receiver, node); end
|
203
|
-
|
204
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#58
|
205
|
-
def message(bind_arg, call_args); end
|
206
|
-
end
|
207
|
-
|
208
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#29
|
209
|
-
RuboCop::Cop::Performance::BindCall::MSG = T.let(T.unsafe(nil), String)
|
210
|
-
|
211
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/bind_call.rb#30
|
212
|
-
RuboCop::Cop::Performance::BindCall::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
213
|
-
|
214
|
-
# Identifies unnecessary use of a `block_given?` where explicit check
|
215
|
-
# of block argument would suffice.
|
216
|
-
#
|
217
|
-
# @example
|
218
|
-
# # bad
|
219
|
-
# def method(&block)
|
220
|
-
# do_something if block_given?
|
221
|
-
# end
|
222
|
-
#
|
223
|
-
# # good
|
224
|
-
# def method(&block)
|
225
|
-
# do_something if block
|
226
|
-
# end
|
227
|
-
#
|
228
|
-
# # good - block is reassigned
|
229
|
-
# def method(&block)
|
230
|
-
# block ||= -> { do_something }
|
231
|
-
# warn "Using default ..." unless block_given?
|
232
|
-
# # ...
|
233
|
-
# end
|
234
|
-
#
|
235
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#27
|
236
|
-
class RuboCop::Cop::Performance::BlockGivenWithExplicitBlock < ::RuboCop::Cop::Base
|
237
|
-
extend ::RuboCop::Cop::AutoCorrector
|
238
|
-
|
239
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#35
|
240
|
-
def on_send(node); end
|
241
|
-
|
242
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#33
|
243
|
-
def reassigns_block_arg?(param0 = T.unsafe(nil), param1); end
|
244
|
-
|
245
|
-
class << self
|
246
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#51
|
247
|
-
def autocorrect_incompatible_with; end
|
248
|
-
end
|
249
|
-
end
|
250
|
-
|
251
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#31
|
252
|
-
RuboCop::Cop::Performance::BlockGivenWithExplicitBlock::MSG = T.let(T.unsafe(nil), String)
|
253
|
-
|
254
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/block_given_with_explicit_block.rb#30
|
255
|
-
RuboCop::Cop::Performance::BlockGivenWithExplicitBlock::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
256
|
-
|
257
|
-
# Identifies places where `caller[n]` can be replaced by `caller(n..n).first`.
|
258
|
-
#
|
259
|
-
# @example
|
260
|
-
# # bad
|
261
|
-
# caller[1]
|
262
|
-
# caller.first
|
263
|
-
# caller_locations[1]
|
264
|
-
# caller_locations.first
|
265
|
-
#
|
266
|
-
# # good
|
267
|
-
# caller(2..2).first
|
268
|
-
# caller(1..1).first
|
269
|
-
# caller_locations(2..2).first
|
270
|
-
# caller_locations(1..1).first
|
271
|
-
#
|
272
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#20
|
273
|
-
class RuboCop::Cop::Performance::Caller < ::RuboCop::Cop::Base
|
274
|
-
extend ::RuboCop::Cop::AutoCorrector
|
275
|
-
|
276
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#33
|
277
|
-
def caller_with_scope_method?(param0 = T.unsafe(nil)); end
|
278
|
-
|
279
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#40
|
280
|
-
def on_send(node); end
|
281
|
-
|
282
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#26
|
283
|
-
def slow_caller?(param0 = T.unsafe(nil)); end
|
284
|
-
|
285
|
-
private
|
286
|
-
|
287
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#61
|
288
|
-
def int_value(node); end
|
289
|
-
end
|
290
|
-
|
291
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#23
|
292
|
-
RuboCop::Cop::Performance::Caller::MSG = T.let(T.unsafe(nil), String)
|
293
|
-
|
294
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/caller.rb#24
|
295
|
-
RuboCop::Cop::Performance::Caller::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
296
|
-
|
297
|
-
# Reordering `when` conditions with a splat to the end
|
298
|
-
# of the `when` branches can improve performance.
|
299
|
-
#
|
300
|
-
# Ruby has to allocate memory for the splat expansion every time
|
301
|
-
# that the `case` `when` statement is run. Since Ruby does not support
|
302
|
-
# fall through inside of `case` `when`, like some other languages do,
|
303
|
-
# the order of the `when` branches should not matter. By placing any
|
304
|
-
# splat expansions at the end of the list of `when` branches we will
|
305
|
-
# reduce the number of times that memory has to be allocated for
|
306
|
-
# the expansion. The exception to this is if multiple of your `when`
|
307
|
-
# conditions can be true for any given condition. A likely scenario for
|
308
|
-
# this defining a higher level when condition to override a condition
|
309
|
-
# that is inside of the splat expansion.
|
310
|
-
#
|
311
|
-
# @example
|
312
|
-
# # bad
|
313
|
-
# case foo
|
314
|
-
# when *condition
|
315
|
-
# bar
|
316
|
-
# when baz
|
317
|
-
# foobar
|
318
|
-
# end
|
319
|
-
#
|
320
|
-
# case foo
|
321
|
-
# when *[1, 2, 3, 4]
|
322
|
-
# bar
|
323
|
-
# when 5
|
324
|
-
# baz
|
325
|
-
# end
|
326
|
-
#
|
327
|
-
# # good
|
328
|
-
# case foo
|
329
|
-
# when baz
|
330
|
-
# foobar
|
331
|
-
# when *condition
|
332
|
-
# bar
|
333
|
-
# end
|
334
|
-
#
|
335
|
-
# case foo
|
336
|
-
# when 1, 2, 3, 4
|
337
|
-
# bar
|
338
|
-
# when 5
|
339
|
-
# baz
|
340
|
-
# end
|
341
|
-
#
|
342
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#58
|
343
|
-
class RuboCop::Cop::Performance::CaseWhenSplat < ::RuboCop::Cop::Base
|
344
|
-
include ::RuboCop::Cop::Alignment
|
345
|
-
include ::RuboCop::Cop::RangeHelp
|
346
|
-
extend ::RuboCop::Cop::AutoCorrector
|
347
|
-
|
348
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#66
|
349
|
-
def on_case(case_node); end
|
350
|
-
|
351
|
-
private
|
352
|
-
|
353
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#83
|
354
|
-
def autocorrect(corrector, when_node); end
|
355
|
-
|
356
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#140
|
357
|
-
def indent_for(node); end
|
358
|
-
|
359
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#100
|
360
|
-
def inline_fix_branch(corrector, when_node); end
|
361
|
-
|
362
|
-
# @return [Boolean]
|
363
|
-
#
|
364
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#164
|
365
|
-
def needs_reorder?(when_node); end
|
366
|
-
|
367
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#136
|
368
|
-
def new_branch_without_then(node, new_condition); end
|
369
|
-
|
370
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#132
|
371
|
-
def new_condition_with_then(node, new_condition); end
|
372
|
-
|
373
|
-
# @return [Boolean]
|
374
|
-
#
|
375
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#158
|
376
|
-
def non_splat?(condition); end
|
377
|
-
|
378
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#91
|
379
|
-
def range(node); end
|
380
|
-
|
381
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#107
|
382
|
-
def reorder_condition(corrector, when_node); end
|
383
|
-
|
384
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#116
|
385
|
-
def reordering_correction(when_node); end
|
386
|
-
|
387
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#95
|
388
|
-
def replacement(conditions); end
|
389
|
-
|
390
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#144
|
391
|
-
def splat_offenses(when_conditions); end
|
392
|
-
|
393
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#126
|
394
|
-
def when_branch_range(when_node); end
|
395
|
-
end
|
396
|
-
|
397
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#64
|
398
|
-
RuboCop::Cop::Performance::CaseWhenSplat::ARRAY_MSG = T.let(T.unsafe(nil), String)
|
399
|
-
|
400
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/case_when_splat.rb#63
|
401
|
-
RuboCop::Cop::Performance::CaseWhenSplat::MSG = T.let(T.unsafe(nil), String)
|
402
|
-
|
403
|
-
# Identifies places where a case-insensitive string comparison
|
404
|
-
# can better be implemented using `casecmp`.
|
405
|
-
#
|
406
|
-
# @example
|
407
|
-
# # bad
|
408
|
-
# str.downcase == 'abc'
|
409
|
-
# str.upcase.eql? 'ABC'
|
410
|
-
# 'abc' == str.downcase
|
411
|
-
# 'ABC'.eql? str.upcase
|
412
|
-
# str.downcase == str.downcase
|
413
|
-
#
|
414
|
-
# # good
|
415
|
-
# str.casecmp('ABC').zero?
|
416
|
-
# 'abc'.casecmp(str).zero?
|
417
|
-
#
|
418
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#24
|
419
|
-
class RuboCop::Cop::Performance::Casecmp < ::RuboCop::Cop::Base
|
420
|
-
extend ::RuboCop::Cop::AutoCorrector
|
421
|
-
|
422
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#45
|
423
|
-
def downcase_downcase(param0 = T.unsafe(nil)); end
|
424
|
-
|
425
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#31
|
426
|
-
def downcase_eq(param0 = T.unsafe(nil)); end
|
427
|
-
|
428
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#38
|
429
|
-
def eq_downcase(param0 = T.unsafe(nil)); end
|
430
|
-
|
431
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#52
|
432
|
-
def on_send(node); end
|
433
|
-
|
434
|
-
private
|
435
|
-
|
436
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#84
|
437
|
-
def autocorrect(corrector, node, replacement); end
|
438
|
-
|
439
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#88
|
440
|
-
def build_good_method(method, arg, variable); end
|
441
|
-
|
442
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#67
|
443
|
-
def take_method_apart(node); end
|
444
|
-
end
|
445
|
-
|
446
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#29
|
447
|
-
RuboCop::Cop::Performance::Casecmp::CASE_METHODS = T.let(T.unsafe(nil), Array)
|
448
|
-
|
449
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#27
|
450
|
-
RuboCop::Cop::Performance::Casecmp::MSG = T.let(T.unsafe(nil), String)
|
451
|
-
|
452
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/casecmp.rb#28
|
453
|
-
RuboCop::Cop::Performance::Casecmp::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
454
|
-
|
455
|
-
# Identifies usages of `array.compact.flatten.map { |x| x.downcase }`.
|
456
|
-
# Each of these methods (`compact`, `flatten`, `map`) will generate a new intermediate array
|
457
|
-
# that is promptly thrown away. Instead it is faster to mutate when we know it's safe.
|
458
|
-
#
|
459
|
-
# @example
|
460
|
-
# # bad
|
461
|
-
# array = ["a", "b", "c"]
|
462
|
-
# array.compact.flatten.map { |x| x.downcase }
|
463
|
-
#
|
464
|
-
# # good
|
465
|
-
# array = ["a", "b", "c"]
|
466
|
-
# array.compact!
|
467
|
-
# array.flatten!
|
468
|
-
# array.map! { |x| x.downcase }
|
469
|
-
# array
|
470
|
-
#
|
471
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#21
|
472
|
-
class RuboCop::Cop::Performance::ChainArrayAllocation < ::RuboCop::Cop::Base
|
473
|
-
include ::RuboCop::Cop::RangeHelp
|
474
|
-
|
475
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#54
|
476
|
-
def chain_array_allocation?(param0 = T.unsafe(nil)); end
|
477
|
-
|
478
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#62
|
479
|
-
def on_send(node); end
|
480
|
-
end
|
481
|
-
|
482
|
-
# These methods ALWAYS return a new array
|
483
|
-
# after they're called it's safe to mutate the resulting array
|
484
|
-
#
|
485
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#37
|
486
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::ALWAYS_RETURNS_NEW_ARRAY = T.let(T.unsafe(nil), Set)
|
487
|
-
|
488
|
-
# These methods have a mutation alternative. For example :collect
|
489
|
-
# can be called as :collect!
|
490
|
-
#
|
491
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#45
|
492
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::HAS_MUTATION_ALTERNATIVE = T.let(T.unsafe(nil), Set)
|
493
|
-
|
494
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#50
|
495
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::MSG = T.let(T.unsafe(nil), String)
|
496
|
-
|
497
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#48
|
498
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::RETURNS_NEW_ARRAY = T.let(T.unsafe(nil), Set)
|
499
|
-
|
500
|
-
# These methods return a new array only when called without a block.
|
501
|
-
#
|
502
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#33
|
503
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::RETURNS_NEW_ARRAY_WHEN_NO_BLOCK = T.let(T.unsafe(nil), Set)
|
504
|
-
|
505
|
-
# These methods return a new array but only sometimes. They must be
|
506
|
-
# called with an argument. For example:
|
507
|
-
#
|
508
|
-
# [1,2].first # => 1
|
509
|
-
# [1,2].first(1) # => [1]
|
510
|
-
#
|
511
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/chain_array_allocation.rb#30
|
512
|
-
RuboCop::Cop::Performance::ChainArrayAllocation::RETURN_NEW_ARRAY_WHEN_ARGS = T.let(T.unsafe(nil), Set)
|
513
|
-
|
514
|
-
# Identifies places where Array and Hash literals are used within loops.
|
515
|
-
# It is better to extract them into a local variable or constant
|
516
|
-
# to avoid unnecessary allocations on each iteration.
|
517
|
-
#
|
518
|
-
# You can set the minimum number of elements to consider
|
519
|
-
# an offense with `MinSize`.
|
520
|
-
#
|
521
|
-
# @example
|
522
|
-
# # bad
|
523
|
-
# users.select do |user|
|
524
|
-
# %i[superadmin admin].include?(user.role)
|
525
|
-
# end
|
526
|
-
#
|
527
|
-
# # good
|
528
|
-
# admin_roles = %i[superadmin admin]
|
529
|
-
# users.select do |user|
|
530
|
-
# admin_roles.include?(user.role)
|
531
|
-
# end
|
532
|
-
#
|
533
|
-
# # good
|
534
|
-
# ADMIN_ROLES = %i[superadmin admin]
|
535
|
-
# ...
|
536
|
-
# users.select do |user|
|
537
|
-
# ADMIN_ROLES.include?(user.role)
|
538
|
-
# end
|
539
|
-
#
|
540
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#34
|
541
|
-
class RuboCop::Cop::Performance::CollectionLiteralInLoop < ::RuboCop::Cop::Base
|
542
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#74
|
543
|
-
def enumerable_loop?(param0 = T.unsafe(nil)); end
|
544
|
-
|
545
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#68
|
546
|
-
def kernel_loop?(param0 = T.unsafe(nil)); end
|
547
|
-
|
548
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#80
|
549
|
-
def on_send(node); end
|
550
|
-
|
551
|
-
private
|
552
|
-
|
553
|
-
# @return [Boolean]
|
554
|
-
#
|
555
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#90
|
556
|
-
def check_literal?(node, method); end
|
557
|
-
|
558
|
-
# @return [Boolean]
|
559
|
-
#
|
560
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#128
|
561
|
-
def enumerable_method?(method_name); end
|
562
|
-
|
563
|
-
# @return [Boolean]
|
564
|
-
#
|
565
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#110
|
566
|
-
def keyword_loop?(type); end
|
567
|
-
|
568
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#120
|
569
|
-
def literal_class(node); end
|
570
|
-
|
571
|
-
# @return [Boolean]
|
572
|
-
#
|
573
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#106
|
574
|
-
def loop?(ancestor, node); end
|
575
|
-
|
576
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#132
|
577
|
-
def min_size; end
|
578
|
-
|
579
|
-
# @return [Boolean]
|
580
|
-
#
|
581
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#114
|
582
|
-
def node_within_enumerable_loop?(node, ancestor); end
|
583
|
-
|
584
|
-
# @return [Boolean]
|
585
|
-
#
|
586
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#97
|
587
|
-
def nonmutable_method_of_array_or_hash?(node, method); end
|
588
|
-
|
589
|
-
# @return [Boolean]
|
590
|
-
#
|
591
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#102
|
592
|
-
def parent_is_loop?(node); end
|
593
|
-
end
|
594
|
-
|
595
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#56
|
596
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::ARRAY_METHODS = T.let(T.unsafe(nil), Set)
|
597
|
-
|
598
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#41
|
599
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::ENUMERABLE_METHOD_NAMES = T.let(T.unsafe(nil), Set)
|
600
|
-
|
601
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#66
|
602
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::HASH_METHODS = T.let(T.unsafe(nil), Set)
|
603
|
-
|
604
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#39
|
605
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::LOOP_TYPES = T.let(T.unsafe(nil), Array)
|
606
|
-
|
607
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#35
|
608
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::MSG = T.let(T.unsafe(nil), String)
|
609
|
-
|
610
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#42
|
611
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::NONMUTATING_ARRAY_METHODS = T.let(T.unsafe(nil), Array)
|
612
|
-
|
613
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#58
|
614
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::NONMUTATING_HASH_METHODS = T.let(T.unsafe(nil), Array)
|
615
|
-
|
616
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/collection_literal_in_loop.rb#38
|
617
|
-
RuboCop::Cop::Performance::CollectionLiteralInLoop::POST_CONDITION_LOOP_TYPES = T.let(T.unsafe(nil), Array)
|
618
|
-
|
619
|
-
# Identifies places where `sort { |a, b| a.foo <=> b.foo }`
|
620
|
-
# can be replaced by `sort_by(&:foo)`.
|
621
|
-
# This cop also checks `sort!`, `min`, `max` and `minmax` methods.
|
622
|
-
#
|
623
|
-
# @example
|
624
|
-
# # bad
|
625
|
-
# array.sort { |a, b| a.foo <=> b.foo }
|
626
|
-
# array.sort! { |a, b| a.foo <=> b.foo }
|
627
|
-
# array.max { |a, b| a.foo <=> b.foo }
|
628
|
-
# array.min { |a, b| a.foo <=> b.foo }
|
629
|
-
# array.minmax { |a, b| a.foo <=> b.foo }
|
630
|
-
# array.sort { |a, b| a[:foo] <=> b[:foo] }
|
631
|
-
#
|
632
|
-
# # good
|
633
|
-
# array.sort_by(&:foo)
|
634
|
-
# array.sort_by!(&:foo)
|
635
|
-
# array.sort_by { |v| v.foo }
|
636
|
-
# array.sort_by do |var|
|
637
|
-
# var.foo
|
638
|
-
# end
|
639
|
-
# array.max_by(&:foo)
|
640
|
-
# array.min_by(&:foo)
|
641
|
-
# array.minmax_by(&:foo)
|
642
|
-
# array.sort_by { |a| a[:foo] }
|
643
|
-
#
|
644
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#30
|
645
|
-
class RuboCop::Cop::Performance::CompareWithBlock < ::RuboCop::Cop::Base
|
646
|
-
include ::RuboCop::Cop::RangeHelp
|
647
|
-
extend ::RuboCop::Cop::AutoCorrector
|
648
|
-
|
649
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#41
|
650
|
-
def compare?(param0 = T.unsafe(nil)); end
|
651
|
-
|
652
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#55
|
653
|
-
def on_block(node); end
|
654
|
-
|
655
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#48
|
656
|
-
def replaceable_body?(param0 = T.unsafe(nil), param1, param2); end
|
657
|
-
|
658
|
-
private
|
659
|
-
|
660
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#114
|
661
|
-
def compare_range(send, node); end
|
662
|
-
|
663
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#91
|
664
|
-
def message(send, method, var_a, var_b, args); end
|
665
|
-
|
666
|
-
# @return [Boolean]
|
667
|
-
#
|
668
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#76
|
669
|
-
def slow_compare?(method, args_a, args_b); end
|
670
|
-
end
|
671
|
-
|
672
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#34
|
673
|
-
RuboCop::Cop::Performance::CompareWithBlock::MSG = T.let(T.unsafe(nil), String)
|
674
|
-
|
675
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/compare_with_block.rb#38
|
676
|
-
RuboCop::Cop::Performance::CompareWithBlock::REPLACEMENT = T.let(T.unsafe(nil), Hash)
|
677
|
-
|
678
|
-
# Identifies places where `Concurrent.monotonic_time`
|
679
|
-
# can be replaced by `Process.clock_gettime(Process::CLOCK_MONOTONIC)`.
|
680
|
-
#
|
681
|
-
# @example
|
682
|
-
#
|
683
|
-
# # bad
|
684
|
-
# Concurrent.monotonic_time
|
685
|
-
#
|
686
|
-
# # good
|
687
|
-
# Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
688
|
-
#
|
689
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/concurrent_monotonic_time.rb#17
|
690
|
-
class RuboCop::Cop::Performance::ConcurrentMonotonicTime < ::RuboCop::Cop::Base
|
691
|
-
extend ::RuboCop::Cop::AutoCorrector
|
692
|
-
|
693
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/concurrent_monotonic_time.rb#23
|
694
|
-
def concurrent_monotonic_time?(param0 = T.unsafe(nil)); end
|
695
|
-
|
696
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/concurrent_monotonic_time.rb#28
|
697
|
-
def on_send(node); end
|
698
|
-
end
|
699
|
-
|
700
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/concurrent_monotonic_time.rb#20
|
701
|
-
RuboCop::Cop::Performance::ConcurrentMonotonicTime::MSG = T.let(T.unsafe(nil), String)
|
702
|
-
|
703
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/concurrent_monotonic_time.rb#21
|
704
|
-
RuboCop::Cop::Performance::ConcurrentMonotonicTime::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
705
|
-
|
706
|
-
# Finds regular expressions with dynamic components that are all constants.
|
707
|
-
#
|
708
|
-
# Ruby allocates a new Regexp object every time it executes a code containing such
|
709
|
-
# a regular expression. It is more efficient to extract it into a constant,
|
710
|
-
# memoize it, or add an `/o` option to perform `#{}` interpolation only once and
|
711
|
-
# reuse that Regexp object.
|
712
|
-
#
|
713
|
-
# @example
|
714
|
-
#
|
715
|
-
# # bad
|
716
|
-
# def tokens(pattern)
|
717
|
-
# pattern.scan(TOKEN).reject { |token| token.match?(/\A#{SEPARATORS}\Z/) }
|
718
|
-
# end
|
719
|
-
#
|
720
|
-
# # good
|
721
|
-
# ALL_SEPARATORS = /\A#{SEPARATORS}\Z/
|
722
|
-
# def tokens(pattern)
|
723
|
-
# pattern.scan(TOKEN).reject { |token| token.match?(ALL_SEPARATORS) }
|
724
|
-
# end
|
725
|
-
#
|
726
|
-
# # good
|
727
|
-
# def tokens(pattern)
|
728
|
-
# pattern.scan(TOKEN).reject { |token| token.match?(/\A#{SEPARATORS}\Z/o) }
|
729
|
-
# end
|
730
|
-
#
|
731
|
-
# # good
|
732
|
-
# def separators
|
733
|
-
# @separators ||= /\A#{SEPARATORS}\Z/
|
734
|
-
# end
|
735
|
-
#
|
736
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#36
|
737
|
-
class RuboCop::Cop::Performance::ConstantRegexp < ::RuboCop::Cop::Base
|
738
|
-
extend ::RuboCop::Cop::AutoCorrector
|
739
|
-
|
740
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#45
|
741
|
-
def on_regexp(node); end
|
742
|
-
|
743
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#59
|
744
|
-
def regexp_escape?(param0 = T.unsafe(nil)); end
|
745
|
-
|
746
|
-
private
|
747
|
-
|
748
|
-
# @return [Boolean]
|
749
|
-
#
|
750
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#64
|
751
|
-
def include_interpolated_const?(node); end
|
752
|
-
|
753
|
-
# @return [Boolean]
|
754
|
-
#
|
755
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#55
|
756
|
-
def within_allowed_assignment?(node); end
|
757
|
-
|
758
|
-
class << self
|
759
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#41
|
760
|
-
def autocorrect_incompatible_with; end
|
761
|
-
end
|
762
|
-
end
|
763
|
-
|
764
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/constant_regexp.rb#39
|
765
|
-
RuboCop::Cop::Performance::ConstantRegexp::MSG = T.let(T.unsafe(nil), String)
|
766
|
-
|
767
|
-
# Identifies usages of `count` on an `Enumerable` that
|
768
|
-
# follow calls to `select`, `find_all`, `filter` or `reject`. Querying logic can instead be
|
769
|
-
# passed to the `count` call.
|
770
|
-
#
|
771
|
-
# @example
|
772
|
-
# # bad
|
773
|
-
# [1, 2, 3].select { |e| e > 2 }.size
|
774
|
-
# [1, 2, 3].reject { |e| e > 2 }.size
|
775
|
-
# [1, 2, 3].select { |e| e > 2 }.length
|
776
|
-
# [1, 2, 3].reject { |e| e > 2 }.length
|
777
|
-
# [1, 2, 3].select { |e| e > 2 }.count { |e| e.odd? }
|
778
|
-
# [1, 2, 3].reject { |e| e > 2 }.count { |e| e.even? }
|
779
|
-
# array.select(&:value).count
|
780
|
-
#
|
781
|
-
# # good
|
782
|
-
# [1, 2, 3].count { |e| e > 2 }
|
783
|
-
# [1, 2, 3].count { |e| e < 2 }
|
784
|
-
# [1, 2, 3].count { |e| e > 2 && e.odd? }
|
785
|
-
# [1, 2, 3].count { |e| e < 2 && e.even? }
|
786
|
-
# Model.select('field AS field_one').count
|
787
|
-
# Model.select(:value).count
|
788
|
-
#
|
789
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#48
|
790
|
-
class RuboCop::Cop::Performance::Count < ::RuboCop::Cop::Base
|
791
|
-
include ::RuboCop::Cop::RangeHelp
|
792
|
-
extend ::RuboCop::Cop::AutoCorrector
|
793
|
-
|
794
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#55
|
795
|
-
def count_candidate?(param0 = T.unsafe(nil)); end
|
796
|
-
|
797
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#62
|
798
|
-
def on_csend(node); end
|
799
|
-
|
800
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#62
|
801
|
-
def on_send(node); end
|
802
|
-
|
803
|
-
private
|
804
|
-
|
805
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#79
|
806
|
-
def autocorrect(corrector, node, selector_node, selector); end
|
807
|
-
|
808
|
-
# @return [Boolean]
|
809
|
-
#
|
810
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#89
|
811
|
-
def eligible_node?(node); end
|
812
|
-
|
813
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#132
|
814
|
-
def negate_block_pass_as_inline_block(node); end
|
815
|
-
|
816
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#111
|
817
|
-
def negate_block_pass_reject(corrector, node); end
|
818
|
-
|
819
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#118
|
820
|
-
def negate_block_reject(corrector, node); end
|
821
|
-
|
822
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#128
|
823
|
-
def negate_expression(node); end
|
824
|
-
|
825
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#103
|
826
|
-
def negate_reject(corrector, node); end
|
827
|
-
|
828
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#93
|
829
|
-
def source_starting_at(node); end
|
830
|
-
end
|
831
|
-
|
832
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#52
|
833
|
-
RuboCop::Cop::Performance::Count::MSG = T.let(T.unsafe(nil), String)
|
834
|
-
|
835
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/count.rb#53
|
836
|
-
RuboCop::Cop::Performance::Count::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
837
|
-
|
838
|
-
# In Ruby 2.5, `String#delete_prefix` has been added.
|
839
|
-
#
|
840
|
-
# This cop identifies places where `gsub(/\Aprefix/, '')` and `sub(/\Aprefix/, '')`
|
841
|
-
# can be replaced by `delete_prefix('prefix')`.
|
842
|
-
#
|
843
|
-
# This cop has `SafeMultiline` configuration option that `true` by default because
|
844
|
-
# `^prefix` is unsafe as it will behave incompatible with `delete_prefix`
|
845
|
-
# for receiver is multiline string.
|
846
|
-
#
|
847
|
-
# The `delete_prefix('prefix')` method is faster than `gsub(/\Aprefix/, '')`.
|
848
|
-
#
|
849
|
-
# @example
|
850
|
-
#
|
851
|
-
# # bad
|
852
|
-
# str.gsub(/\Aprefix/, '')
|
853
|
-
# str.gsub!(/\Aprefix/, '')
|
854
|
-
#
|
855
|
-
# str.sub(/\Aprefix/, '')
|
856
|
-
# str.sub!(/\Aprefix/, '')
|
857
|
-
#
|
858
|
-
# # good
|
859
|
-
# str.delete_prefix('prefix')
|
860
|
-
# str.delete_prefix!('prefix')
|
861
|
-
# @example SafeMultiline: true (default)
|
862
|
-
#
|
863
|
-
# # good
|
864
|
-
# str.gsub(/^prefix/, '')
|
865
|
-
# str.gsub!(/^prefix/, '')
|
866
|
-
# str.sub(/^prefix/, '')
|
867
|
-
# str.sub!(/^prefix/, '')
|
868
|
-
# @example SafeMultiline: false
|
869
|
-
#
|
870
|
-
# # bad
|
871
|
-
# str.gsub(/^prefix/, '')
|
872
|
-
# str.gsub!(/^prefix/, '')
|
873
|
-
# str.sub(/^prefix/, '')
|
874
|
-
# str.sub!(/^prefix/, '')
|
875
|
-
#
|
876
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#49
|
877
|
-
class RuboCop::Cop::Performance::DeletePrefix < ::RuboCop::Cop::Base
|
878
|
-
include ::RuboCop::Cop::RegexpMetacharacter
|
879
|
-
extend ::RuboCop::Cop::AutoCorrector
|
880
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
881
|
-
|
882
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#66
|
883
|
-
def delete_prefix_candidate?(param0 = T.unsafe(nil)); end
|
884
|
-
|
885
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#71
|
886
|
-
def on_csend(node); end
|
887
|
-
|
888
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#71
|
889
|
-
def on_send(node); end
|
890
|
-
end
|
891
|
-
|
892
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#56
|
893
|
-
RuboCop::Cop::Performance::DeletePrefix::MSG = T.let(T.unsafe(nil), String)
|
894
|
-
|
895
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#59
|
896
|
-
RuboCop::Cop::Performance::DeletePrefix::PREFERRED_METHODS = T.let(T.unsafe(nil), Hash)
|
897
|
-
|
898
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_prefix.rb#57
|
899
|
-
RuboCop::Cop::Performance::DeletePrefix::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
900
|
-
|
901
|
-
# In Ruby 2.5, `String#delete_suffix` has been added.
|
902
|
-
#
|
903
|
-
# This cop identifies places where `gsub(/suffix\z/, '')` and `sub(/suffix\z/, '')`
|
904
|
-
# can be replaced by `delete_suffix('suffix')`.
|
905
|
-
#
|
906
|
-
# This cop has `SafeMultiline` configuration option that `true` by default because
|
907
|
-
# `suffix$` is unsafe as it will behave incompatible with `delete_suffix?`
|
908
|
-
# for receiver is multiline string.
|
909
|
-
#
|
910
|
-
# The `delete_suffix('suffix')` method is faster than `gsub(/suffix\z/, '')`.
|
911
|
-
#
|
912
|
-
# @example
|
913
|
-
#
|
914
|
-
# # bad
|
915
|
-
# str.gsub(/suffix\z/, '')
|
916
|
-
# str.gsub!(/suffix\z/, '')
|
917
|
-
#
|
918
|
-
# str.sub(/suffix\z/, '')
|
919
|
-
# str.sub!(/suffix\z/, '')
|
920
|
-
#
|
921
|
-
# # good
|
922
|
-
# str.delete_suffix('suffix')
|
923
|
-
# str.delete_suffix!('suffix')
|
924
|
-
# @example SafeMultiline: true (default)
|
925
|
-
#
|
926
|
-
# # good
|
927
|
-
# str.gsub(/suffix$/, '')
|
928
|
-
# str.gsub!(/suffix$/, '')
|
929
|
-
# str.sub(/suffix$/, '')
|
930
|
-
# str.sub!(/suffix$/, '')
|
931
|
-
# @example SafeMultiline: false
|
932
|
-
#
|
933
|
-
# # bad
|
934
|
-
# str.gsub(/suffix$/, '')
|
935
|
-
# str.gsub!(/suffix$/, '')
|
936
|
-
# str.sub(/suffix$/, '')
|
937
|
-
# str.sub!(/suffix$/, '')
|
938
|
-
#
|
939
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#49
|
940
|
-
class RuboCop::Cop::Performance::DeleteSuffix < ::RuboCop::Cop::Base
|
941
|
-
include ::RuboCop::Cop::RegexpMetacharacter
|
942
|
-
extend ::RuboCop::Cop::AutoCorrector
|
943
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
944
|
-
|
945
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#66
|
946
|
-
def delete_suffix_candidate?(param0 = T.unsafe(nil)); end
|
947
|
-
|
948
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#71
|
949
|
-
def on_csend(node); end
|
950
|
-
|
951
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#71
|
952
|
-
def on_send(node); end
|
953
|
-
end
|
954
|
-
|
955
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#56
|
956
|
-
RuboCop::Cop::Performance::DeleteSuffix::MSG = T.let(T.unsafe(nil), String)
|
957
|
-
|
958
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#59
|
959
|
-
RuboCop::Cop::Performance::DeleteSuffix::PREFERRED_METHODS = T.let(T.unsafe(nil), Hash)
|
960
|
-
|
961
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/delete_suffix.rb#57
|
962
|
-
RuboCop::Cop::Performance::DeleteSuffix::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
963
|
-
|
964
|
-
# Identifies usages of `first`, `last`, `[0]` or `[-1]`
|
965
|
-
# chained to `select`, `find_all` or `filter` and change them to use
|
966
|
-
# `detect` instead.
|
967
|
-
#
|
968
|
-
# @example
|
969
|
-
# # bad
|
970
|
-
# [].select { |item| true }.first
|
971
|
-
# [].select { |item| true }.last
|
972
|
-
# [].find_all { |item| true }.first
|
973
|
-
# [].find_all { |item| true }.last
|
974
|
-
# [].filter { |item| true }.first
|
975
|
-
# [].filter { |item| true }.last
|
976
|
-
# [].filter { |item| true }[0]
|
977
|
-
# [].filter { |item| true }[-1]
|
978
|
-
#
|
979
|
-
# # good
|
980
|
-
# [].detect { |item| true }
|
981
|
-
# [].reverse.detect { |item| true }
|
982
|
-
#
|
983
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#30
|
984
|
-
class RuboCop::Cop::Performance::Detect < ::RuboCop::Cop::Base
|
985
|
-
extend ::RuboCop::Cop::AutoCorrector
|
986
|
-
|
987
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#41
|
988
|
-
def detect_candidate?(param0 = T.unsafe(nil)); end
|
989
|
-
|
990
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#50
|
991
|
-
def on_csend(node); end
|
992
|
-
|
993
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#50
|
994
|
-
def on_send(node); end
|
995
|
-
|
996
|
-
private
|
997
|
-
|
998
|
-
# @return [Boolean]
|
999
|
-
#
|
1000
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#70
|
1001
|
-
def accept_first_call?(receiver, body); end
|
1002
|
-
|
1003
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#102
|
1004
|
-
def autocorrect(corrector, node, replacement); end
|
1005
|
-
|
1006
|
-
# @return [Boolean]
|
1007
|
-
#
|
1008
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#128
|
1009
|
-
def lazy?(node); end
|
1010
|
-
|
1011
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#113
|
1012
|
-
def message_for_method(method, index); end
|
1013
|
-
|
1014
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#124
|
1015
|
-
def preferred_method; end
|
1016
|
-
|
1017
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#79
|
1018
|
-
def register_offense(node, receiver, second_method, index); end
|
1019
|
-
|
1020
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#94
|
1021
|
-
def replacement(method, index); end
|
1022
|
-
end
|
1023
|
-
|
1024
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#33
|
1025
|
-
RuboCop::Cop::Performance::Detect::CANDIDATE_METHODS = T.let(T.unsafe(nil), Set)
|
1026
|
-
|
1027
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#37
|
1028
|
-
RuboCop::Cop::Performance::Detect::INDEX_MSG = T.let(T.unsafe(nil), String)
|
1029
|
-
|
1030
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#38
|
1031
|
-
RuboCop::Cop::Performance::Detect::INDEX_REVERSE_MSG = T.let(T.unsafe(nil), String)
|
1032
|
-
|
1033
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#35
|
1034
|
-
RuboCop::Cop::Performance::Detect::MSG = T.let(T.unsafe(nil), String)
|
1035
|
-
|
1036
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#39
|
1037
|
-
RuboCop::Cop::Performance::Detect::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1038
|
-
|
1039
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/detect.rb#36
|
1040
|
-
RuboCop::Cop::Performance::Detect::REVERSE_MSG = T.let(T.unsafe(nil), String)
|
1041
|
-
|
1042
|
-
# Checks for double `#start_with?` or `#end_with?` calls
|
1043
|
-
# separated by `||`. In some cases such calls can be replaced
|
1044
|
-
# with an single `#start_with?`/`#end_with?` call.
|
1045
|
-
#
|
1046
|
-
# `IncludeActiveSupportAliases` configuration option is used to check for
|
1047
|
-
# `starts_with?` and `ends_with?`. These methods are defined by Active Support.
|
1048
|
-
#
|
1049
|
-
# @example
|
1050
|
-
# # bad
|
1051
|
-
# str.start_with?("a") || str.start_with?(Some::CONST)
|
1052
|
-
# str.start_with?("a", "b") || str.start_with?("c")
|
1053
|
-
# str.end_with?(var1) || str.end_with?(var2)
|
1054
|
-
#
|
1055
|
-
# # good
|
1056
|
-
# str.start_with?("a", Some::CONST)
|
1057
|
-
# str.start_with?("a", "b", "c")
|
1058
|
-
# str.end_with?(var1, var2)
|
1059
|
-
# @example IncludeActiveSupportAliases: false (default)
|
1060
|
-
# # good
|
1061
|
-
# str.starts_with?("a", "b") || str.starts_with?("c")
|
1062
|
-
# str.ends_with?(var1) || str.ends_with?(var2)
|
1063
|
-
#
|
1064
|
-
# str.starts_with?("a", "b", "c")
|
1065
|
-
# str.ends_with?(var1, var2)
|
1066
|
-
# @example IncludeActiveSupportAliases: true
|
1067
|
-
# # bad
|
1068
|
-
# str.starts_with?("a", "b") || str.starts_with?("c")
|
1069
|
-
# str.ends_with?(var1) || str.ends_with?(var2)
|
1070
|
-
#
|
1071
|
-
# # good
|
1072
|
-
# str.starts_with?("a", "b", "c")
|
1073
|
-
# str.ends_with?(var1, var2)
|
1074
|
-
#
|
1075
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#41
|
1076
|
-
class RuboCop::Cop::Performance::DoubleStartEndWith < ::RuboCop::Cop::Base
|
1077
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1078
|
-
|
1079
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#96
|
1080
|
-
def check_with_active_support_aliases(param0 = T.unsafe(nil)); end
|
1081
|
-
|
1082
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#46
|
1083
|
-
def on_or(node); end
|
1084
|
-
|
1085
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#90
|
1086
|
-
def two_start_end_with_calls(param0 = T.unsafe(nil)); end
|
1087
|
-
|
1088
|
-
private
|
1089
|
-
|
1090
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#60
|
1091
|
-
def autocorrect(corrector, first_call_args, second_call_args, combined_args); end
|
1092
|
-
|
1093
|
-
# @return [Boolean]
|
1094
|
-
#
|
1095
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#86
|
1096
|
-
def check_for_active_support_aliases?; end
|
1097
|
-
|
1098
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#82
|
1099
|
-
def combine_args(first_call_args, second_call_args); end
|
1100
|
-
|
1101
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#76
|
1102
|
-
def message(node, receiver, method, combined_args); end
|
1103
|
-
|
1104
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#68
|
1105
|
-
def process_source(node); end
|
1106
|
-
end
|
1107
|
-
|
1108
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/double_start_end_with.rb#44
|
1109
|
-
RuboCop::Cop::Performance::DoubleStartEndWith::MSG = T.let(T.unsafe(nil), String)
|
1110
|
-
|
1111
|
-
# Identifies unnecessary use of a regex where `String#end_with?` would suffice.
|
1112
|
-
#
|
1113
|
-
# This cop has `SafeMultiline` configuration option that `true` by default because
|
1114
|
-
# `end$` is unsafe as it will behave incompatible with `end_with?`
|
1115
|
-
# for receiver is multiline string.
|
1116
|
-
#
|
1117
|
-
# @example
|
1118
|
-
# # bad
|
1119
|
-
# 'abc'.match?(/bc\Z/)
|
1120
|
-
# /bc\Z/.match?('abc')
|
1121
|
-
# 'abc' =~ /bc\Z/
|
1122
|
-
# /bc\Z/ =~ 'abc'
|
1123
|
-
# 'abc'.match(/bc\Z/)
|
1124
|
-
# /bc\Z/.match('abc')
|
1125
|
-
#
|
1126
|
-
# # good
|
1127
|
-
# 'abc'.end_with?('bc')
|
1128
|
-
# @example SafeMultiline: true (default)
|
1129
|
-
#
|
1130
|
-
# # good
|
1131
|
-
# 'abc'.match?(/bc$/)
|
1132
|
-
# /bc$/.match?('abc')
|
1133
|
-
# 'abc' =~ /bc$/
|
1134
|
-
# /bc$/ =~ 'abc'
|
1135
|
-
# 'abc'.match(/bc$/)
|
1136
|
-
# /bc$/.match('abc')
|
1137
|
-
# @example SafeMultiline: false
|
1138
|
-
#
|
1139
|
-
# # bad
|
1140
|
-
# 'abc'.match?(/bc$/)
|
1141
|
-
# /bc$/.match?('abc')
|
1142
|
-
# 'abc' =~ /bc$/
|
1143
|
-
# /bc$/ =~ 'abc'
|
1144
|
-
# 'abc'.match(/bc$/)
|
1145
|
-
# /bc$/.match('abc')
|
1146
|
-
#
|
1147
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#49
|
1148
|
-
class RuboCop::Cop::Performance::EndWith < ::RuboCop::Cop::Base
|
1149
|
-
include ::RuboCop::Cop::RegexpMetacharacter
|
1150
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1151
|
-
|
1152
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#62
|
1153
|
-
def on_csend(node); end
|
1154
|
-
|
1155
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#62
|
1156
|
-
def on_match_with_lvasgn(node); end
|
1157
|
-
|
1158
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#62
|
1159
|
-
def on_send(node); end
|
1160
|
-
|
1161
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#56
|
1162
|
-
def redundant_regex?(param0 = T.unsafe(nil)); end
|
1163
|
-
end
|
1164
|
-
|
1165
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#53
|
1166
|
-
RuboCop::Cop::Performance::EndWith::MSG = T.let(T.unsafe(nil), String)
|
1167
|
-
|
1168
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/end_with.rb#54
|
1169
|
-
RuboCop::Cop::Performance::EndWith::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1170
|
-
|
1171
|
-
# Do not compute the size of statically sized objects.
|
1172
|
-
#
|
1173
|
-
# @example
|
1174
|
-
# # String methods
|
1175
|
-
# # bad
|
1176
|
-
# 'foo'.size
|
1177
|
-
# %q[bar].count
|
1178
|
-
# %(qux).length
|
1179
|
-
#
|
1180
|
-
# # Symbol methods
|
1181
|
-
# # bad
|
1182
|
-
# :fred.size
|
1183
|
-
# :'baz'.length
|
1184
|
-
#
|
1185
|
-
# # Array methods
|
1186
|
-
# # bad
|
1187
|
-
# [1, 2, thud].count
|
1188
|
-
# %W(1, 2, bar).size
|
1189
|
-
#
|
1190
|
-
# # Hash methods
|
1191
|
-
# # bad
|
1192
|
-
# { a: corge, b: grault }.length
|
1193
|
-
#
|
1194
|
-
# # good
|
1195
|
-
# foo.size
|
1196
|
-
# bar.count
|
1197
|
-
# qux.length
|
1198
|
-
#
|
1199
|
-
# # good
|
1200
|
-
# :"#{fred}".size
|
1201
|
-
# CONST = :baz.length
|
1202
|
-
#
|
1203
|
-
# # good
|
1204
|
-
# [1, 2, *thud].count
|
1205
|
-
# garply = [1, 2, 3]
|
1206
|
-
# garply.size
|
1207
|
-
#
|
1208
|
-
# # good
|
1209
|
-
# { a: corge, **grault }.length
|
1210
|
-
# waldo = { a: corge, b: grault }
|
1211
|
-
# waldo.size
|
1212
|
-
#
|
1213
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#48
|
1214
|
-
class RuboCop::Cop::Performance::FixedSize < ::RuboCop::Cop::Base
|
1215
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#52
|
1216
|
-
def counter(param0 = T.unsafe(nil)); end
|
1217
|
-
|
1218
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#56
|
1219
|
-
def on_csend(node); end
|
1220
|
-
|
1221
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#56
|
1222
|
-
def on_send(node); end
|
1223
|
-
|
1224
|
-
private
|
1225
|
-
|
1226
|
-
# @return [Boolean]
|
1227
|
-
#
|
1228
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#73
|
1229
|
-
def allowed_argument?(arg); end
|
1230
|
-
|
1231
|
-
# @return [Boolean]
|
1232
|
-
#
|
1233
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#77
|
1234
|
-
def allowed_parent?(node); end
|
1235
|
-
|
1236
|
-
# @return [Boolean]
|
1237
|
-
#
|
1238
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#69
|
1239
|
-
def allowed_variable?(var); end
|
1240
|
-
|
1241
|
-
# @return [Boolean]
|
1242
|
-
#
|
1243
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#87
|
1244
|
-
def contains_double_splat?(node); end
|
1245
|
-
|
1246
|
-
# @return [Boolean]
|
1247
|
-
#
|
1248
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#81
|
1249
|
-
def contains_splat?(node); end
|
1250
|
-
|
1251
|
-
# @return [Boolean]
|
1252
|
-
#
|
1253
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#93
|
1254
|
-
def non_string_argument?(node); end
|
1255
|
-
end
|
1256
|
-
|
1257
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#49
|
1258
|
-
RuboCop::Cop::Performance::FixedSize::MSG = T.let(T.unsafe(nil), String)
|
1259
|
-
|
1260
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/fixed_size.rb#50
|
1261
|
-
RuboCop::Cop::Performance::FixedSize::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1262
|
-
|
1263
|
-
# Identifies usages of `map { ... }.flatten` and
|
1264
|
-
# change them to use `flat_map { ... }` instead.
|
1265
|
-
#
|
1266
|
-
# @example
|
1267
|
-
# # bad
|
1268
|
-
# [1, 2, 3, 4].map { |e| [e, e] }.flatten(1)
|
1269
|
-
# [1, 2, 3, 4].collect { |e| [e, e] }.flatten(1)
|
1270
|
-
#
|
1271
|
-
# # good
|
1272
|
-
# [1, 2, 3, 4].flat_map { |e| [e, e] }
|
1273
|
-
# [1, 2, 3, 4].map { |e| [e, e] }.flatten
|
1274
|
-
# [1, 2, 3, 4].collect { |e| [e, e] }.flatten
|
1275
|
-
#
|
1276
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#18
|
1277
|
-
class RuboCop::Cop::Performance::FlatMap < ::RuboCop::Cop::Base
|
1278
|
-
include ::RuboCop::Cop::RangeHelp
|
1279
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1280
|
-
|
1281
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#28
|
1282
|
-
def flat_map_candidate?(param0 = T.unsafe(nil)); end
|
1283
|
-
|
1284
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#39
|
1285
|
-
def on_csend(node); end
|
1286
|
-
|
1287
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#39
|
1288
|
-
def on_send(node); end
|
1289
|
-
|
1290
|
-
private
|
1291
|
-
|
1292
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#73
|
1293
|
-
def autocorrect(corrector, node); end
|
1294
|
-
|
1295
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#53
|
1296
|
-
def offense_for_levels(node, map_node, first_method, flatten); end
|
1297
|
-
|
1298
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#59
|
1299
|
-
def offense_for_method(node, map_node, first_method, flatten); end
|
1300
|
-
|
1301
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#63
|
1302
|
-
def register_offense(node, map_node, first_method, flatten, message); end
|
1303
|
-
end
|
1304
|
-
|
1305
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#24
|
1306
|
-
RuboCop::Cop::Performance::FlatMap::FLATTEN_MULTIPLE_LEVELS = T.let(T.unsafe(nil), String)
|
1307
|
-
|
1308
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#22
|
1309
|
-
RuboCop::Cop::Performance::FlatMap::MSG = T.let(T.unsafe(nil), String)
|
1310
|
-
|
1311
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/flat_map.rb#23
|
1312
|
-
RuboCop::Cop::Performance::FlatMap::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1313
|
-
|
1314
|
-
# Checks for inefficient searching of keys and values within
|
1315
|
-
# hashes.
|
1316
|
-
#
|
1317
|
-
# `Hash#keys.include?` is less efficient than `Hash#key?` because
|
1318
|
-
# the former allocates a new array and then performs an O(n) search
|
1319
|
-
# through that array, while `Hash#key?` does not allocate any array and
|
1320
|
-
# performs a faster O(1) search for the key.
|
1321
|
-
#
|
1322
|
-
# `Hash#values.include?` is less efficient than `Hash#value?`. While they
|
1323
|
-
# both perform an O(n) search through all of the values, calling `values`
|
1324
|
-
# allocates a new array while using `value?` does not.
|
1325
|
-
#
|
1326
|
-
# @example
|
1327
|
-
# # bad
|
1328
|
-
# { a: 1, b: 2 }.keys.include?(:a)
|
1329
|
-
# { a: 1, b: 2 }.keys.include?(:z)
|
1330
|
-
# h = { a: 1, b: 2 }; h.keys.include?(100)
|
1331
|
-
#
|
1332
|
-
# # good
|
1333
|
-
# { a: 1, b: 2 }.key?(:a)
|
1334
|
-
# { a: 1, b: 2 }.has_key?(:z)
|
1335
|
-
# h = { a: 1, b: 2 }; h.key?(100)
|
1336
|
-
#
|
1337
|
-
# # bad
|
1338
|
-
# { a: 1, b: 2 }.values.include?(2)
|
1339
|
-
# { a: 1, b: 2 }.values.include?('garbage')
|
1340
|
-
# h = { a: 1, b: 2 }; h.values.include?(nil)
|
1341
|
-
#
|
1342
|
-
# # good
|
1343
|
-
# { a: 1, b: 2 }.value?(2)
|
1344
|
-
# { a: 1, b: 2 }.has_value?('garbage')
|
1345
|
-
# h = { a: 1, b: 2 }; h.value?(nil)
|
1346
|
-
#
|
1347
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#42
|
1348
|
-
class RuboCop::Cop::Performance::InefficientHashSearch < ::RuboCop::Cop::Base
|
1349
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1350
|
-
|
1351
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#47
|
1352
|
-
def inefficient_include?(param0 = T.unsafe(nil)); end
|
1353
|
-
|
1354
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#51
|
1355
|
-
def on_csend(node); end
|
1356
|
-
|
1357
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#51
|
1358
|
-
def on_send(node); end
|
1359
|
-
|
1360
|
-
private
|
1361
|
-
|
1362
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#91
|
1363
|
-
def correct_argument(node); end
|
1364
|
-
|
1365
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#99
|
1366
|
-
def correct_dot(node); end
|
1367
|
-
|
1368
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#95
|
1369
|
-
def correct_hash_expression(node); end
|
1370
|
-
|
1371
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#75
|
1372
|
-
def correct_method(node); end
|
1373
|
-
|
1374
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#82
|
1375
|
-
def current_method(node); end
|
1376
|
-
|
1377
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#67
|
1378
|
-
def message(node); end
|
1379
|
-
|
1380
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#71
|
1381
|
-
def replacement(node); end
|
1382
|
-
|
1383
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#86
|
1384
|
-
def use_long_method; end
|
1385
|
-
end
|
1386
|
-
|
1387
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/inefficient_hash_search.rb#45
|
1388
|
-
RuboCop::Cop::Performance::InefficientHashSearch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1389
|
-
|
1390
|
-
# Identifies places where inefficient `readlines` method
|
1391
|
-
# can be replaced by `each_line` to avoid fully loading file content into memory.
|
1392
|
-
#
|
1393
|
-
# @example
|
1394
|
-
#
|
1395
|
-
# # bad
|
1396
|
-
# File.readlines('testfile').each { |l| puts l }
|
1397
|
-
# IO.readlines('testfile', chomp: true).each { |l| puts l }
|
1398
|
-
#
|
1399
|
-
# conn.readlines(10).map { |l| l.size }
|
1400
|
-
# file.readlines.find { |l| l.start_with?('#') }
|
1401
|
-
# file.readlines.each { |l| puts l }
|
1402
|
-
#
|
1403
|
-
# # good
|
1404
|
-
# File.open('testfile', 'r').each_line { |l| puts l }
|
1405
|
-
# IO.open('testfile').each_line(chomp: true) { |l| puts l }
|
1406
|
-
#
|
1407
|
-
# conn.each_line(10).map { |l| l.size }
|
1408
|
-
# file.each_line.find { |l| l.start_with?('#') }
|
1409
|
-
# file.each_line { |l| puts l }
|
1410
|
-
#
|
1411
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#27
|
1412
|
-
class RuboCop::Cop::Performance::IoReadlines < ::RuboCop::Cop::Base
|
1413
|
-
include ::RuboCop::Cop::RangeHelp
|
1414
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1415
|
-
|
1416
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#42
|
1417
|
-
def on_send(node); end
|
1418
|
-
|
1419
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#34
|
1420
|
-
def readlines_on_class?(param0 = T.unsafe(nil)); end
|
1421
|
-
|
1422
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#38
|
1423
|
-
def readlines_on_instance?(param0 = T.unsafe(nil)); end
|
1424
|
-
|
1425
|
-
private
|
1426
|
-
|
1427
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#58
|
1428
|
-
def autocorrect(corrector, enumerable_call, readlines_call, receiver); end
|
1429
|
-
|
1430
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#90
|
1431
|
-
def build_bad_method(enumerable_call); end
|
1432
|
-
|
1433
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#106
|
1434
|
-
def build_call_args(call_args_node); end
|
1435
|
-
|
1436
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#82
|
1437
|
-
def build_good_method(enumerable_call); end
|
1438
|
-
|
1439
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#94
|
1440
|
-
def correction_range(enumerable_call, readlines_call); end
|
1441
|
-
|
1442
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#76
|
1443
|
-
def offense_range(enumerable_call, readlines_call); end
|
1444
|
-
end
|
1445
|
-
|
1446
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#31
|
1447
|
-
RuboCop::Cop::Performance::IoReadlines::MSG = T.let(T.unsafe(nil), String)
|
1448
|
-
|
1449
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/io_readlines.rb#32
|
1450
|
-
RuboCop::Cop::Performance::IoReadlines::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1451
|
-
|
1452
|
-
# In Ruby 2.7, `Enumerable#filter_map` has been added.
|
1453
|
-
#
|
1454
|
-
# This cop identifies places where `map { ... }.compact` can be replaced by `filter_map`.
|
1455
|
-
#
|
1456
|
-
# [source,ruby]
|
1457
|
-
# ----
|
1458
|
-
# [true, false, nil].compact #=> [true, false]
|
1459
|
-
# [true, false, nil].filter_map(&:itself) #=> [true]
|
1460
|
-
# ----
|
1461
|
-
#
|
1462
|
-
# @example
|
1463
|
-
# # bad
|
1464
|
-
# ary.map(&:foo).compact
|
1465
|
-
# ary.collect(&:foo).compact
|
1466
|
-
#
|
1467
|
-
# # good
|
1468
|
-
# ary.filter_map(&:foo)
|
1469
|
-
# ary.map(&:foo).compact!
|
1470
|
-
# ary.compact.map(&:foo)
|
1471
|
-
#
|
1472
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#30
|
1473
|
-
class RuboCop::Cop::Performance::MapCompact < ::RuboCop::Cop::Base
|
1474
|
-
include ::RuboCop::Cop::RangeHelp
|
1475
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1476
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
1477
|
-
|
1478
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#40
|
1479
|
-
def map_compact(param0 = T.unsafe(nil)); end
|
1480
|
-
|
1481
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#53
|
1482
|
-
def on_csend(node); end
|
1483
|
-
|
1484
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#53
|
1485
|
-
def on_send(node); end
|
1486
|
-
|
1487
|
-
private
|
1488
|
-
|
1489
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#94
|
1490
|
-
def compact_method_with_final_newline_range(compact_method_range); end
|
1491
|
-
|
1492
|
-
# @return [Boolean]
|
1493
|
-
#
|
1494
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#90
|
1495
|
-
def invoke_method_after_map_compact_on_same_line?(compact_node, chained_method); end
|
1496
|
-
|
1497
|
-
# @return [Boolean]
|
1498
|
-
#
|
1499
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#86
|
1500
|
-
def map_method_and_compact_method_on_same_line?(map_node, compact_node); end
|
1501
|
-
|
1502
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#68
|
1503
|
-
def remove_compact_method(corrector, map_node, compact_node, chained_method); end
|
1504
|
-
|
1505
|
-
# @return [Boolean]
|
1506
|
-
#
|
1507
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#82
|
1508
|
-
def use_dot?(node); end
|
1509
|
-
end
|
1510
|
-
|
1511
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#35
|
1512
|
-
RuboCop::Cop::Performance::MapCompact::MSG = T.let(T.unsafe(nil), String)
|
1513
|
-
|
1514
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_compact.rb#36
|
1515
|
-
RuboCop::Cop::Performance::MapCompact::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1516
|
-
|
1517
|
-
# Checks if the map method is used in a chain.
|
1518
|
-
#
|
1519
|
-
# Autocorrection is not supported because an appropriate block variable name cannot be determined automatically.
|
1520
|
-
#
|
1521
|
-
# [source,ruby]
|
1522
|
-
# ----
|
1523
|
-
# class X
|
1524
|
-
# def initialize
|
1525
|
-
# @@num = 0
|
1526
|
-
# end
|
1527
|
-
#
|
1528
|
-
# def foo
|
1529
|
-
# @@num += 1
|
1530
|
-
# self
|
1531
|
-
# end
|
1532
|
-
#
|
1533
|
-
# def bar
|
1534
|
-
# @@num * 2
|
1535
|
-
# end
|
1536
|
-
# end
|
1537
|
-
#
|
1538
|
-
# [X.new, X.new].map(&:foo).map(&:bar) # => [4, 4]
|
1539
|
-
# [X.new, X.new].map { |x| x.foo.bar } # => [2, 4]
|
1540
|
-
# ----
|
1541
|
-
#
|
1542
|
-
# @example
|
1543
|
-
#
|
1544
|
-
# # bad
|
1545
|
-
# array.map(&:foo).map(&:bar)
|
1546
|
-
#
|
1547
|
-
# # good
|
1548
|
-
# array.map { |item| item.foo.bar }
|
1549
|
-
#
|
1550
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#43
|
1551
|
-
class RuboCop::Cop::Performance::MapMethodChain < ::RuboCop::Cop::Base
|
1552
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#49
|
1553
|
-
def block_pass_with_symbol_arg?(param0 = T.unsafe(nil)); end
|
1554
|
-
|
1555
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#53
|
1556
|
-
def on_send(node); end
|
1557
|
-
|
1558
|
-
private
|
1559
|
-
|
1560
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#72
|
1561
|
-
def find_begin_of_chained_map_method(node, map_args); end
|
1562
|
-
end
|
1563
|
-
|
1564
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#46
|
1565
|
-
RuboCop::Cop::Performance::MapMethodChain::MSG = T.let(T.unsafe(nil), String)
|
1566
|
-
|
1567
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/map_method_chain.rb#47
|
1568
|
-
RuboCop::Cop::Performance::MapMethodChain::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1569
|
-
|
1570
|
-
# Identifies places where methods are converted to blocks, with the
|
1571
|
-
# use of `&method`, and passed as arguments to method calls.
|
1572
|
-
# It is faster to replace those with explicit blocks, calling those methods inside.
|
1573
|
-
#
|
1574
|
-
# @example
|
1575
|
-
# # bad
|
1576
|
-
# array.map(&method(:do_something))
|
1577
|
-
# [1, 2, 3].each(&out.method(:puts))
|
1578
|
-
#
|
1579
|
-
# # good
|
1580
|
-
# array.map { |x| do_something(x) }
|
1581
|
-
# [1, 2, 3].each { |x| out.puts(x) }
|
1582
|
-
#
|
1583
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/method_object_as_block.rb#19
|
1584
|
-
class RuboCop::Cop::Performance::MethodObjectAsBlock < ::RuboCop::Cop::Base
|
1585
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/method_object_as_block.rb#22
|
1586
|
-
def method_object_as_argument?(param0 = T.unsafe(nil)); end
|
1587
|
-
|
1588
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/method_object_as_block.rb#26
|
1589
|
-
def on_block_pass(node); end
|
1590
|
-
end
|
1591
|
-
|
1592
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/method_object_as_block.rb#20
|
1593
|
-
RuboCop::Cop::Performance::MethodObjectAsBlock::MSG = T.let(T.unsafe(nil), String)
|
1594
|
-
|
1595
|
-
# Checks for `OpenStruct.new` calls.
|
1596
|
-
# Instantiation of an `OpenStruct` invalidates
|
1597
|
-
# Ruby global method cache as it causes dynamic method
|
1598
|
-
# definition during program runtime.
|
1599
|
-
# This could have an effect on performance,
|
1600
|
-
# especially in case of single-threaded
|
1601
|
-
# applications with multiple `OpenStruct` instantiations.
|
1602
|
-
#
|
1603
|
-
# @example
|
1604
|
-
# # bad
|
1605
|
-
# class MyClass
|
1606
|
-
# def my_method
|
1607
|
-
# OpenStruct.new(my_key1: 'my_value1', my_key2: 'my_value2')
|
1608
|
-
# end
|
1609
|
-
# end
|
1610
|
-
#
|
1611
|
-
# # good
|
1612
|
-
# class MyClass
|
1613
|
-
# MyStruct = Struct.new(:my_key1, :my_key2)
|
1614
|
-
# def my_method
|
1615
|
-
# MyStruct.new('my_value1', 'my_value2')
|
1616
|
-
# end
|
1617
|
-
# end
|
1618
|
-
#
|
1619
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/open_struct.rb#34
|
1620
|
-
class RuboCop::Cop::Performance::OpenStruct < ::RuboCop::Cop::Base
|
1621
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/open_struct.rb#42
|
1622
|
-
def on_send(node); end
|
1623
|
-
|
1624
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/open_struct.rb#38
|
1625
|
-
def open_struct(param0 = T.unsafe(nil)); end
|
1626
|
-
end
|
1627
|
-
|
1628
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/open_struct.rb#35
|
1629
|
-
RuboCop::Cop::Performance::OpenStruct::MSG = T.let(T.unsafe(nil), String)
|
1630
|
-
|
1631
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/open_struct.rb#36
|
1632
|
-
RuboCop::Cop::Performance::OpenStruct::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1633
|
-
|
1634
|
-
# Identifies uses of `Range#include?` and `Range#member?`, which iterates over each
|
1635
|
-
# item in a `Range` to see if a specified item is there. In contrast,
|
1636
|
-
# `Range#cover?` simply compares the target item with the beginning and
|
1637
|
-
# end points of the `Range`. In a great majority of cases, this is what
|
1638
|
-
# is wanted.
|
1639
|
-
#
|
1640
|
-
# @example
|
1641
|
-
# # bad
|
1642
|
-
# ('a'..'z').include?('b') # => true
|
1643
|
-
# ('a'..'z').member?('b') # => true
|
1644
|
-
#
|
1645
|
-
# # good
|
1646
|
-
# ('a'..'z').cover?('b') # => true
|
1647
|
-
#
|
1648
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#29
|
1649
|
-
class RuboCop::Cop::Performance::RangeInclude < ::RuboCop::Cop::Base
|
1650
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1651
|
-
|
1652
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#44
|
1653
|
-
def on_csend(node); end
|
1654
|
-
|
1655
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#44
|
1656
|
-
def on_send(node); end
|
1657
|
-
|
1658
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#40
|
1659
|
-
def range_include(param0 = T.unsafe(nil)); end
|
1660
|
-
end
|
1661
|
-
|
1662
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#32
|
1663
|
-
RuboCop::Cop::Performance::RangeInclude::MSG = T.let(T.unsafe(nil), String)
|
1664
|
-
|
1665
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/range_include.rb#33
|
1666
|
-
RuboCop::Cop::Performance::RangeInclude::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1667
|
-
|
1668
|
-
# Identifies the use of a `&block` parameter and `block.call`
|
1669
|
-
# where `yield` would do just as well.
|
1670
|
-
#
|
1671
|
-
# @example
|
1672
|
-
# # bad
|
1673
|
-
# def method(&block)
|
1674
|
-
# block.call
|
1675
|
-
# end
|
1676
|
-
# def another(&func)
|
1677
|
-
# func.call 1, 2, 3
|
1678
|
-
# end
|
1679
|
-
#
|
1680
|
-
# # good
|
1681
|
-
# def method
|
1682
|
-
# yield
|
1683
|
-
# end
|
1684
|
-
# def another
|
1685
|
-
# yield 1, 2, 3
|
1686
|
-
# end
|
1687
|
-
#
|
1688
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#25
|
1689
|
-
class RuboCop::Cop::Performance::RedundantBlockCall < ::RuboCop::Cop::Base
|
1690
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1691
|
-
|
1692
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#43
|
1693
|
-
def blockarg_assigned?(param0, param1); end
|
1694
|
-
|
1695
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#39
|
1696
|
-
def blockarg_calls(param0, param1); end
|
1697
|
-
|
1698
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#34
|
1699
|
-
def blockarg_def(param0 = T.unsafe(nil)); end
|
1700
|
-
|
1701
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#47
|
1702
|
-
def on_def(node); end
|
1703
|
-
|
1704
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#47
|
1705
|
-
def on_defs(node); end
|
1706
|
-
|
1707
|
-
private
|
1708
|
-
|
1709
|
-
# @return [Boolean]
|
1710
|
-
#
|
1711
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#97
|
1712
|
-
def args_include_block_pass?(blockcall); end
|
1713
|
-
|
1714
|
-
# offenses are registered on the `block.call` nodes
|
1715
|
-
#
|
1716
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#63
|
1717
|
-
def autocorrect(corrector, node); end
|
1718
|
-
|
1719
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#81
|
1720
|
-
def calls_to_report(argname, body); end
|
1721
|
-
|
1722
|
-
# @return [Boolean]
|
1723
|
-
#
|
1724
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#91
|
1725
|
-
def shadowed_block_argument?(body, block_argument_of_method_signature); end
|
1726
|
-
end
|
1727
|
-
|
1728
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#31
|
1729
|
-
RuboCop::Cop::Performance::RedundantBlockCall::CLOSE_PAREN = T.let(T.unsafe(nil), String)
|
1730
|
-
|
1731
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#28
|
1732
|
-
RuboCop::Cop::Performance::RedundantBlockCall::MSG = T.let(T.unsafe(nil), String)
|
1733
|
-
|
1734
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#30
|
1735
|
-
RuboCop::Cop::Performance::RedundantBlockCall::OPEN_PAREN = T.let(T.unsafe(nil), String)
|
1736
|
-
|
1737
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#32
|
1738
|
-
RuboCop::Cop::Performance::RedundantBlockCall::SPACE = T.let(T.unsafe(nil), String)
|
1739
|
-
|
1740
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_block_call.rb#29
|
1741
|
-
RuboCop::Cop::Performance::RedundantBlockCall::YIELD = T.let(T.unsafe(nil), String)
|
1742
|
-
|
1743
|
-
# Checks for uses `Enumerable#all?`, `Enumerable#any?`, `Enumerable#one?`,
|
1744
|
-
# and `Enumerable#none?` are compared with `===` or similar methods in block.
|
1745
|
-
#
|
1746
|
-
# By default, `Object#===` behaves the same as `Object#==`, but this
|
1747
|
-
# behavior is appropriately overridden in subclass. For example,
|
1748
|
-
# `Range#===` returns `true` when argument is within the range.
|
1749
|
-
#
|
1750
|
-
# This cop has `AllowRegexpMatch` option and it is true by default because
|
1751
|
-
# `regexp.match?('string')` often used in block changes to the opposite result:
|
1752
|
-
#
|
1753
|
-
# [source,ruby]
|
1754
|
-
# ----
|
1755
|
-
# [/pattern/].all? { |regexp| regexp.match?('pattern') } # => true
|
1756
|
-
# [/pattern/].all? { |regexp| regexp =~ 'pattern' } # => true
|
1757
|
-
# [/pattern/].all?('pattern') # => false
|
1758
|
-
# ----
|
1759
|
-
#
|
1760
|
-
# @example
|
1761
|
-
# # bad
|
1762
|
-
# items.all? { |item| pattern === item }
|
1763
|
-
# items.all? { |item| item == other }
|
1764
|
-
# items.all? { |item| item.is_a?(Klass) }
|
1765
|
-
# items.all? { |item| item.kind_of?(Klass) }
|
1766
|
-
#
|
1767
|
-
# # good
|
1768
|
-
# items.all?(pattern)
|
1769
|
-
# items.all?(Klass)
|
1770
|
-
# @example AllowRegexpMatch: true (default)
|
1771
|
-
#
|
1772
|
-
# # good
|
1773
|
-
# items.all? { |item| item =~ pattern }
|
1774
|
-
# items.all? { |item| item.match?(pattern) }
|
1775
|
-
# @example AllowRegexpMatch: false
|
1776
|
-
#
|
1777
|
-
# # bad
|
1778
|
-
# items.all? { |item| item =~ pattern }
|
1779
|
-
# items.all? { |item| item.match?(pattern) }
|
1780
|
-
#
|
1781
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#49
|
1782
|
-
class RuboCop::Cop::Performance::RedundantEqualityComparisonBlock < ::RuboCop::Cop::Base
|
1783
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1784
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
1785
|
-
|
1786
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#62
|
1787
|
-
def on_block(node); end
|
1788
|
-
|
1789
|
-
private
|
1790
|
-
|
1791
|
-
# @return [Boolean]
|
1792
|
-
#
|
1793
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#131
|
1794
|
-
def allow_regexp_match?; end
|
1795
|
-
|
1796
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#104
|
1797
|
-
def new_argument(block_argument, block_body); end
|
1798
|
-
|
1799
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#127
|
1800
|
-
def offense_range(node); end
|
1801
|
-
|
1802
|
-
# @return [Boolean]
|
1803
|
-
#
|
1804
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#82
|
1805
|
-
def one_block_argument?(block_arguments); end
|
1806
|
-
|
1807
|
-
# @return [Boolean]
|
1808
|
-
#
|
1809
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#94
|
1810
|
-
def same_block_argument_and_is_a_argument?(block_body, block_argument); end
|
1811
|
-
|
1812
|
-
# @return [Boolean]
|
1813
|
-
#
|
1814
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#118
|
1815
|
-
def use_block_argument_in_method_argument_of_operand?(block_argument, operand); end
|
1816
|
-
|
1817
|
-
# @return [Boolean]
|
1818
|
-
#
|
1819
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#86
|
1820
|
-
def use_equality_comparison_block?(block_body); end
|
1821
|
-
end
|
1822
|
-
|
1823
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#58
|
1824
|
-
RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::COMPARISON_METHODS = T.let(T.unsafe(nil), Array)
|
1825
|
-
|
1826
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#60
|
1827
|
-
RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::IS_A_METHODS = T.let(T.unsafe(nil), Array)
|
1828
|
-
|
1829
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#55
|
1830
|
-
RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::MSG = T.let(T.unsafe(nil), String)
|
1831
|
-
|
1832
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#59
|
1833
|
-
RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::REGEXP_METHODS = T.let(T.unsafe(nil), Array)
|
1834
|
-
|
1835
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_equality_comparison_block.rb#57
|
1836
|
-
RuboCop::Cop::Performance::RedundantEqualityComparisonBlock::TARGET_METHODS = T.let(T.unsafe(nil), Array)
|
1837
|
-
|
1838
|
-
# Identifies the use of `Regexp#match` or `String#match`, which
|
1839
|
-
# returns `#<MatchData>`/`nil`. The return value of `=~` is an integral
|
1840
|
-
# index/`nil` and is more performant.
|
1841
|
-
#
|
1842
|
-
# @example
|
1843
|
-
# # bad
|
1844
|
-
# do_something if str.match(/regex/)
|
1845
|
-
# while regex.match('str')
|
1846
|
-
# do_something
|
1847
|
-
# end
|
1848
|
-
#
|
1849
|
-
# # good
|
1850
|
-
# method(str =~ /regex/)
|
1851
|
-
# return value unless regex =~ 'str'
|
1852
|
-
#
|
1853
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#20
|
1854
|
-
class RuboCop::Cop::Performance::RedundantMatch < ::RuboCop::Cop::Base
|
1855
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1856
|
-
|
1857
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#30
|
1858
|
-
def match_call?(param0 = T.unsafe(nil)); end
|
1859
|
-
|
1860
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#39
|
1861
|
-
def on_send(node); end
|
1862
|
-
|
1863
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#35
|
1864
|
-
def only_truthiness_matters?(param0 = T.unsafe(nil)); end
|
1865
|
-
|
1866
|
-
private
|
1867
|
-
|
1868
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#51
|
1869
|
-
def autocorrect(corrector, node); end
|
1870
|
-
|
1871
|
-
# @return [Boolean]
|
1872
|
-
#
|
1873
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#57
|
1874
|
-
def autocorrectable?(node); end
|
1875
|
-
|
1876
|
-
# @return [Boolean]
|
1877
|
-
#
|
1878
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#86
|
1879
|
-
def call_like?(arg); end
|
1880
|
-
|
1881
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#63
|
1882
|
-
def replacement(node); end
|
1883
|
-
|
1884
|
-
# @return [Boolean]
|
1885
|
-
#
|
1886
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#73
|
1887
|
-
def requires_parentheses?(arg); end
|
1888
|
-
|
1889
|
-
# @return [Boolean]
|
1890
|
-
#
|
1891
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#80
|
1892
|
-
def requires_parentheses_for_call_like?(arg); end
|
1893
|
-
end
|
1894
|
-
|
1895
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#26
|
1896
|
-
RuboCop::Cop::Performance::RedundantMatch::HIGHER_PRECEDENCE_OPERATOR_METHODS = T.let(T.unsafe(nil), Array)
|
1897
|
-
|
1898
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#23
|
1899
|
-
RuboCop::Cop::Performance::RedundantMatch::MSG = T.let(T.unsafe(nil), String)
|
1900
|
-
|
1901
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_match.rb#24
|
1902
|
-
RuboCop::Cop::Performance::RedundantMatch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
1903
|
-
|
1904
|
-
# Identifies places where `Hash#merge!` can be replaced by `Hash#[]=`.
|
1905
|
-
# You can set the maximum number of key-value pairs to consider
|
1906
|
-
# an offense with `MaxKeyValuePairs`.
|
1907
|
-
#
|
1908
|
-
# @example
|
1909
|
-
# # bad
|
1910
|
-
# hash.merge!(a: 1)
|
1911
|
-
# hash.merge!({'key' => 'value'})
|
1912
|
-
#
|
1913
|
-
# # good
|
1914
|
-
# hash[:a] = 1
|
1915
|
-
# hash['key'] = 'value'
|
1916
|
-
# @example MaxKeyValuePairs: 2 (default)
|
1917
|
-
# # bad
|
1918
|
-
# hash.merge!(a: 1, b: 2)
|
1919
|
-
#
|
1920
|
-
# # good
|
1921
|
-
# hash[:a] = 1
|
1922
|
-
# hash[:b] = 2
|
1923
|
-
#
|
1924
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#30
|
1925
|
-
class RuboCop::Cop::Performance::RedundantMerge < ::RuboCop::Cop::Base
|
1926
|
-
include ::RuboCop::Cop::Alignment
|
1927
|
-
extend ::RuboCop::Cop::AutoCorrector
|
1928
|
-
|
1929
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#48
|
1930
|
-
def modifier_flow_control?(param0 = T.unsafe(nil)); end
|
1931
|
-
|
1932
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#52
|
1933
|
-
def on_send(node); end
|
1934
|
-
|
1935
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#44
|
1936
|
-
def redundant_merge_candidate(param0 = T.unsafe(nil)); end
|
1937
|
-
|
1938
|
-
private
|
1939
|
-
|
1940
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#106
|
1941
|
-
def correct_multiple_elements(corrector, node, parent, new_source); end
|
1942
|
-
|
1943
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#118
|
1944
|
-
def correct_single_element(corrector, node, new_source); end
|
1945
|
-
|
1946
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#79
|
1947
|
-
def each_redundant_merge(node); end
|
1948
|
-
|
1949
|
-
# @return [Boolean]
|
1950
|
-
#
|
1951
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#98
|
1952
|
-
def kwsplat_used?(pairs); end
|
1953
|
-
|
1954
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#146
|
1955
|
-
def leading_spaces(node); end
|
1956
|
-
|
1957
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#150
|
1958
|
-
def max_key_value_pairs; end
|
1959
|
-
|
1960
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#71
|
1961
|
-
def message(node); end
|
1962
|
-
|
1963
|
-
# @return [Boolean]
|
1964
|
-
#
|
1965
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#87
|
1966
|
-
def non_redundant_merge?(node, receiver, pairs); end
|
1967
|
-
|
1968
|
-
# @return [Boolean]
|
1969
|
-
#
|
1970
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#94
|
1971
|
-
def non_redundant_pairs?(receiver, pairs); end
|
1972
|
-
|
1973
|
-
# @return [Boolean]
|
1974
|
-
#
|
1975
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#102
|
1976
|
-
def non_redundant_value_used?(receiver, node); end
|
1977
|
-
|
1978
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#132
|
1979
|
-
def rewrite_with_modifier(node, parent, new_source); end
|
1980
|
-
|
1981
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#122
|
1982
|
-
def to_assignments(receiver, pairs); end
|
1983
|
-
end
|
1984
|
-
|
1985
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#34
|
1986
|
-
RuboCop::Cop::Performance::RedundantMerge::AREF_ASGN = T.let(T.unsafe(nil), String)
|
1987
|
-
|
1988
|
-
# A utility class for checking the use of values within an
|
1989
|
-
# `each_with_object` call.
|
1990
|
-
#
|
1991
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#156
|
1992
|
-
class RuboCop::Cop::Performance::RedundantMerge::EachWithObjectInspector
|
1993
|
-
extend ::RuboCop::AST::NodePattern::Macros
|
1994
|
-
|
1995
|
-
# @return [EachWithObjectInspector] a new instance of EachWithObjectInspector
|
1996
|
-
#
|
1997
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#159
|
1998
|
-
def initialize(node, receiver); end
|
1999
|
-
|
2000
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#190
|
2001
|
-
def each_with_object_node(param0 = T.unsafe(nil)); end
|
2002
|
-
|
2003
|
-
# @return [Boolean]
|
2004
|
-
#
|
2005
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#164
|
2006
|
-
def value_used?; end
|
2007
|
-
|
2008
|
-
private
|
2009
|
-
|
2010
|
-
# @return [Boolean]
|
2011
|
-
#
|
2012
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#174
|
2013
|
-
def eligible_receiver?; end
|
2014
|
-
|
2015
|
-
# Returns the value of attribute node.
|
2016
|
-
#
|
2017
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#172
|
2018
|
-
def node; end
|
2019
|
-
|
2020
|
-
# Returns the value of attribute receiver.
|
2021
|
-
#
|
2022
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#172
|
2023
|
-
def receiver; end
|
2024
|
-
|
2025
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#178
|
2026
|
-
def second_argument; end
|
2027
|
-
|
2028
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#185
|
2029
|
-
def unwind(receiver); end
|
2030
|
-
end
|
2031
|
-
|
2032
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#35
|
2033
|
-
RuboCop::Cop::Performance::RedundantMerge::MSG = T.let(T.unsafe(nil), String)
|
2034
|
-
|
2035
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#36
|
2036
|
-
RuboCop::Cop::Performance::RedundantMerge::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2037
|
-
|
2038
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_merge.rb#38
|
2039
|
-
RuboCop::Cop::Performance::RedundantMerge::WITH_MODIFIER_CORRECTION = T.let(T.unsafe(nil), String)
|
2040
|
-
|
2041
|
-
# Identifies places where `sort { |a, b| a <=> b }` can be replaced with `sort`.
|
2042
|
-
#
|
2043
|
-
# @example
|
2044
|
-
# # bad
|
2045
|
-
# array.sort { |a, b| a <=> b }
|
2046
|
-
#
|
2047
|
-
# # good
|
2048
|
-
# array.sort
|
2049
|
-
#
|
2050
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_sort_block.rb#15
|
2051
|
-
class RuboCop::Cop::Performance::RedundantSortBlock < ::RuboCop::Cop::Base
|
2052
|
-
include ::RuboCop::Cop::RangeHelp
|
2053
|
-
include ::RuboCop::Cop::SortBlock
|
2054
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2055
|
-
|
2056
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_sort_block.rb#21
|
2057
|
-
def on_block(node); end
|
2058
|
-
|
2059
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_sort_block.rb#29
|
2060
|
-
def on_numblock(node); end
|
2061
|
-
|
2062
|
-
private
|
2063
|
-
|
2064
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_sort_block.rb#40
|
2065
|
-
def register_offense(send, node); end
|
2066
|
-
end
|
2067
|
-
|
2068
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_sort_block.rb#19
|
2069
|
-
RuboCop::Cop::Performance::RedundantSortBlock::MSG = T.let(T.unsafe(nil), String)
|
2070
|
-
|
2071
|
-
# Identifies places where `split` argument can be replaced from
|
2072
|
-
# a deterministic regexp to a string.
|
2073
|
-
#
|
2074
|
-
# @example
|
2075
|
-
# # bad
|
2076
|
-
# 'a,b,c'.split(/,/)
|
2077
|
-
#
|
2078
|
-
# # good
|
2079
|
-
# 'a,b,c'.split(',')
|
2080
|
-
#
|
2081
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#15
|
2082
|
-
class RuboCop::Cop::Performance::RedundantSplitRegexpArgument < ::RuboCop::Cop::Base
|
2083
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2084
|
-
|
2085
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#27
|
2086
|
-
def on_csend(node); end
|
2087
|
-
|
2088
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#27
|
2089
|
-
def on_send(node); end
|
2090
|
-
|
2091
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#23
|
2092
|
-
def split_call_with_regexp?(param0 = T.unsafe(nil)); end
|
2093
|
-
|
2094
|
-
private
|
2095
|
-
|
2096
|
-
# @return [Boolean]
|
2097
|
-
#
|
2098
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#42
|
2099
|
-
def determinist_regexp?(regexp_node); end
|
2100
|
-
|
2101
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#46
|
2102
|
-
def replacement(regexp_node); end
|
2103
|
-
end
|
2104
|
-
|
2105
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#20
|
2106
|
-
RuboCop::Cop::Performance::RedundantSplitRegexpArgument::DETERMINISTIC_REGEX = T.let(T.unsafe(nil), Regexp)
|
2107
|
-
|
2108
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#18
|
2109
|
-
RuboCop::Cop::Performance::RedundantSplitRegexpArgument::MSG = T.let(T.unsafe(nil), String)
|
2110
|
-
|
2111
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#19
|
2112
|
-
RuboCop::Cop::Performance::RedundantSplitRegexpArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2113
|
-
|
2114
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_split_regexp_argument.rb#21
|
2115
|
-
RuboCop::Cop::Performance::RedundantSplitRegexpArgument::STR_SPECIAL_CHARS = T.let(T.unsafe(nil), Array)
|
2116
|
-
|
2117
|
-
# Checks for redundant `String#chars`.
|
2118
|
-
#
|
2119
|
-
# @example
|
2120
|
-
# # bad
|
2121
|
-
# str.chars[0..2]
|
2122
|
-
# str.chars.slice(0..2)
|
2123
|
-
# str.chars.last
|
2124
|
-
#
|
2125
|
-
# # good
|
2126
|
-
# str[0..2].chars
|
2127
|
-
#
|
2128
|
-
# # bad
|
2129
|
-
# str.chars.first
|
2130
|
-
# str.chars.first(2)
|
2131
|
-
#
|
2132
|
-
# # good
|
2133
|
-
# str[0]
|
2134
|
-
# str[0...2].chars
|
2135
|
-
# str[-1]
|
2136
|
-
#
|
2137
|
-
# # bad
|
2138
|
-
# str.chars.take(2)
|
2139
|
-
# str.chars.length
|
2140
|
-
# str.chars.size
|
2141
|
-
# str.chars.empty?
|
2142
|
-
#
|
2143
|
-
# # good
|
2144
|
-
# str[0...2].chars
|
2145
|
-
# str.length
|
2146
|
-
# str.size
|
2147
|
-
# str.empty?
|
2148
|
-
#
|
2149
|
-
# # For example, if the receiver is an empty string, it will be incompatible.
|
2150
|
-
# # If a negative value is specified for the receiver, `nil` is returned.
|
2151
|
-
# str.chars.last(2) # Incompatible with `str[-2..-1].chars`.
|
2152
|
-
# str.chars.drop(2) # Incompatible with `str[2..-1].chars`.
|
2153
|
-
#
|
2154
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#43
|
2155
|
-
class RuboCop::Cop::Performance::RedundantStringChars < ::RuboCop::Cop::Base
|
2156
|
-
include ::RuboCop::Cop::RangeHelp
|
2157
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2158
|
-
|
2159
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#54
|
2160
|
-
def on_send(node); end
|
2161
|
-
|
2162
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#50
|
2163
|
-
def redundant_chars_call?(param0 = T.unsafe(nil)); end
|
2164
|
-
|
2165
|
-
private
|
2166
|
-
|
2167
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#112
|
2168
|
-
def build_bad_method(method, args); end
|
2169
|
-
|
2170
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#125
|
2171
|
-
def build_call_args(call_args_node); end
|
2172
|
-
|
2173
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#85
|
2174
|
-
def build_good_method(method, args); end
|
2175
|
-
|
2176
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#100
|
2177
|
-
def build_good_method_for_brackets_or_first_method(method, args); end
|
2178
|
-
|
2179
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#79
|
2180
|
-
def build_message(method, args); end
|
2181
|
-
|
2182
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#75
|
2183
|
-
def correction_range(receiver, node); end
|
2184
|
-
|
2185
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#71
|
2186
|
-
def offense_range(receiver, node); end
|
2187
|
-
end
|
2188
|
-
|
2189
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#47
|
2190
|
-
RuboCop::Cop::Performance::RedundantStringChars::MSG = T.let(T.unsafe(nil), String)
|
2191
|
-
|
2192
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/redundant_string_chars.rb#48
|
2193
|
-
RuboCop::Cop::Performance::RedundantStringChars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2194
|
-
|
2195
|
-
# In Ruby 2.4, `String#match?`, `Regexp#match?`, and `Symbol#match?`
|
2196
|
-
# have been added. The methods are faster than `match`.
|
2197
|
-
# Because the methods avoid creating a `MatchData` object or saving
|
2198
|
-
# backref.
|
2199
|
-
# So, when `MatchData` is not used, use `match?` instead of `match`.
|
2200
|
-
#
|
2201
|
-
# @example
|
2202
|
-
# # bad
|
2203
|
-
# def foo
|
2204
|
-
# if x =~ /re/
|
2205
|
-
# do_something
|
2206
|
-
# end
|
2207
|
-
# end
|
2208
|
-
#
|
2209
|
-
# # bad
|
2210
|
-
# def foo
|
2211
|
-
# if x !~ /re/
|
2212
|
-
# do_something
|
2213
|
-
# end
|
2214
|
-
# end
|
2215
|
-
#
|
2216
|
-
# # bad
|
2217
|
-
# def foo
|
2218
|
-
# if x.match(/re/)
|
2219
|
-
# do_something
|
2220
|
-
# end
|
2221
|
-
# end
|
2222
|
-
#
|
2223
|
-
# # bad
|
2224
|
-
# def foo
|
2225
|
-
# if /re/ === x
|
2226
|
-
# do_something
|
2227
|
-
# end
|
2228
|
-
# end
|
2229
|
-
#
|
2230
|
-
# # good
|
2231
|
-
# def foo
|
2232
|
-
# if x.match?(/re/)
|
2233
|
-
# do_something
|
2234
|
-
# end
|
2235
|
-
# end
|
2236
|
-
#
|
2237
|
-
# # good
|
2238
|
-
# def foo
|
2239
|
-
# if !x.match?(/re/)
|
2240
|
-
# do_something
|
2241
|
-
# end
|
2242
|
-
# end
|
2243
|
-
#
|
2244
|
-
# # good
|
2245
|
-
# def foo
|
2246
|
-
# if x =~ /re/
|
2247
|
-
# do_something(Regexp.last_match)
|
2248
|
-
# end
|
2249
|
-
# end
|
2250
|
-
#
|
2251
|
-
# # good
|
2252
|
-
# def foo
|
2253
|
-
# if x.match(/re/)
|
2254
|
-
# do_something($~)
|
2255
|
-
# end
|
2256
|
-
# end
|
2257
|
-
#
|
2258
|
-
# # good
|
2259
|
-
# def foo
|
2260
|
-
# if /re/ === x
|
2261
|
-
# do_something($~)
|
2262
|
-
# end
|
2263
|
-
# end
|
2264
|
-
#
|
2265
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#75
|
2266
|
-
class RuboCop::Cop::Performance::RegexpMatch < ::RuboCop::Cop::Base
|
2267
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2268
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
2269
|
-
|
2270
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#125
|
2271
|
-
def last_matches(param0); end
|
2272
|
-
|
2273
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#86
|
2274
|
-
def match_method?(param0 = T.unsafe(nil)); end
|
2275
|
-
|
2276
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#122
|
2277
|
-
def match_node?(param0 = T.unsafe(nil)); end
|
2278
|
-
|
2279
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#97
|
2280
|
-
def match_operator?(param0 = T.unsafe(nil)); end
|
2281
|
-
|
2282
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#101
|
2283
|
-
def match_threequals?(param0 = T.unsafe(nil)); end
|
2284
|
-
|
2285
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#93
|
2286
|
-
def match_with_int_arg_method?(param0 = T.unsafe(nil)); end
|
2287
|
-
|
2288
|
-
# @return [Boolean]
|
2289
|
-
#
|
2290
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#105
|
2291
|
-
def match_with_lvasgn?(node); end
|
2292
|
-
|
2293
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#142
|
2294
|
-
def on_case(node); end
|
2295
|
-
|
2296
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#138
|
2297
|
-
def on_if(node); end
|
2298
|
-
|
2299
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#123
|
2300
|
-
def search_match_nodes(param0); end
|
2301
|
-
|
2302
|
-
private
|
2303
|
-
|
2304
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#165
|
2305
|
-
def autocorrect(corrector, node); end
|
2306
|
-
|
2307
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#154
|
2308
|
-
def check_condition(cond); end
|
2309
|
-
|
2310
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#250
|
2311
|
-
def correct_operator(corrector, recv, arg, oper = T.unsafe(nil)); end
|
2312
|
-
|
2313
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#275
|
2314
|
-
def correction_range(recv, arg); end
|
2315
|
-
|
2316
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#221
|
2317
|
-
def find_last_match(body, range, scope_root); end
|
2318
|
-
|
2319
|
-
# @return [Boolean]
|
2320
|
-
#
|
2321
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#181
|
2322
|
-
def last_match_used?(match_node); end
|
2323
|
-
|
2324
|
-
# @return [Boolean]
|
2325
|
-
#
|
2326
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#246
|
2327
|
-
def match_gvar?(sym); end
|
2328
|
-
|
2329
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#177
|
2330
|
-
def message(node); end
|
2331
|
-
|
2332
|
-
# @return [Boolean]
|
2333
|
-
#
|
2334
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#217
|
2335
|
-
def modifier_form?(match_node); end
|
2336
|
-
|
2337
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#203
|
2338
|
-
def next_match_pos(body, match_node_pos, scope_root); end
|
2339
|
-
|
2340
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#190
|
2341
|
-
def range_to_search_for_last_matches(match_node, body, scope_root); end
|
2342
|
-
|
2343
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#259
|
2344
|
-
def replace_with_match_predicate_method(corrector, recv, arg, op_range); end
|
2345
|
-
|
2346
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#228
|
2347
|
-
def scope_body(node); end
|
2348
|
-
|
2349
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#240
|
2350
|
-
def scope_root(node); end
|
2351
|
-
|
2352
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#270
|
2353
|
-
def swap_receiver_and_arg(corrector, recv, arg); end
|
2354
|
-
|
2355
|
-
class << self
|
2356
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#134
|
2357
|
-
def autocorrect_incompatible_with; end
|
2358
|
-
end
|
2359
|
-
end
|
2360
|
-
|
2361
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#112
|
2362
|
-
RuboCop::Cop::Performance::RegexpMatch::MATCH_NODE_PATTERN = T.let(T.unsafe(nil), String)
|
2363
|
-
|
2364
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#84
|
2365
|
-
RuboCop::Cop::Performance::RegexpMatch::MSG = T.let(T.unsafe(nil), String)
|
2366
|
-
|
2367
|
-
# Constants are included in this list because it is unlikely that
|
2368
|
-
# someone will store `nil` as a constant and then use it for comparison
|
2369
|
-
#
|
2370
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/regexp_match.rb#83
|
2371
|
-
RuboCop::Cop::Performance::RegexpMatch::TYPES_IMPLEMENTING_MATCH = T.let(T.unsafe(nil), Array)
|
2372
|
-
|
2373
|
-
# Identifies usages of `reverse.each` and change them to use `reverse_each` instead.
|
2374
|
-
#
|
2375
|
-
# If the return value is used, it will not be detected because the result will be different.
|
2376
|
-
#
|
2377
|
-
# [source,ruby]
|
2378
|
-
# ----
|
2379
|
-
# [1, 2, 3].reverse.each {} #=> [3, 2, 1]
|
2380
|
-
# [1, 2, 3].reverse_each {} #=> [1, 2, 3]
|
2381
|
-
# ----
|
2382
|
-
#
|
2383
|
-
# @example
|
2384
|
-
# # bad
|
2385
|
-
# items.reverse.each
|
2386
|
-
#
|
2387
|
-
# # good
|
2388
|
-
# items.reverse_each
|
2389
|
-
#
|
2390
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#22
|
2391
|
-
class RuboCop::Cop::Performance::ReverseEach < ::RuboCop::Cop::Base
|
2392
|
-
include ::RuboCop::Cop::RangeHelp
|
2393
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2394
|
-
|
2395
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#33
|
2396
|
-
def on_csend(node); end
|
2397
|
-
|
2398
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#33
|
2399
|
-
def on_send(node); end
|
2400
|
-
|
2401
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#29
|
2402
|
-
def reverse_each?(param0 = T.unsafe(nil)); end
|
2403
|
-
|
2404
|
-
private
|
2405
|
-
|
2406
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#54
|
2407
|
-
def offense_range(node); end
|
2408
|
-
|
2409
|
-
# @return [Boolean]
|
2410
|
-
#
|
2411
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#48
|
2412
|
-
def use_return_value?(node); end
|
2413
|
-
end
|
2414
|
-
|
2415
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#26
|
2416
|
-
RuboCop::Cop::Performance::ReverseEach::MSG = T.let(T.unsafe(nil), String)
|
2417
|
-
|
2418
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_each.rb#27
|
2419
|
-
RuboCop::Cop::Performance::ReverseEach::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2420
|
-
|
2421
|
-
# Identifies places where `reverse.first(n)` and `reverse.first`
|
2422
|
-
# can be replaced by `last(n).reverse` and `last`.
|
2423
|
-
#
|
2424
|
-
# @example
|
2425
|
-
#
|
2426
|
-
# # bad
|
2427
|
-
# array.reverse.first(5)
|
2428
|
-
# array.reverse.first
|
2429
|
-
#
|
2430
|
-
# # good
|
2431
|
-
# array.last(5).reverse
|
2432
|
-
# array.last
|
2433
|
-
#
|
2434
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#19
|
2435
|
-
class RuboCop::Cop::Performance::ReverseFirst < ::RuboCop::Cop::Base
|
2436
|
-
include ::RuboCop::Cop::RangeHelp
|
2437
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2438
|
-
|
2439
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#30
|
2440
|
-
def on_csend(node); end
|
2441
|
-
|
2442
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#30
|
2443
|
-
def on_send(node); end
|
2444
|
-
|
2445
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#26
|
2446
|
-
def reverse_first_candidate?(param0 = T.unsafe(nil)); end
|
2447
|
-
|
2448
|
-
private
|
2449
|
-
|
2450
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#56
|
2451
|
-
def build_good_method(node); end
|
2452
|
-
|
2453
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#50
|
2454
|
-
def build_message(node, range); end
|
2455
|
-
|
2456
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#46
|
2457
|
-
def correction_range(receiver, node); end
|
2458
|
-
end
|
2459
|
-
|
2460
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#23
|
2461
|
-
RuboCop::Cop::Performance::ReverseFirst::MSG = T.let(T.unsafe(nil), String)
|
2462
|
-
|
2463
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/reverse_first.rb#24
|
2464
|
-
RuboCop::Cop::Performance::ReverseFirst::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2465
|
-
|
2466
|
-
# In Ruby 2.7, `Enumerable#filter_map` has been added.
|
2467
|
-
#
|
2468
|
-
# This cop identifies places where `select.map` can be replaced by `filter_map`.
|
2469
|
-
#
|
2470
|
-
# @example
|
2471
|
-
# # bad
|
2472
|
-
# ary.select(&:foo).map(&:bar)
|
2473
|
-
# ary.filter(&:foo).map(&:bar)
|
2474
|
-
#
|
2475
|
-
# # good
|
2476
|
-
# ary.filter_map { |o| o.bar if o.foo }
|
2477
|
-
#
|
2478
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#18
|
2479
|
-
class RuboCop::Cop::Performance::SelectMap < ::RuboCop::Cop::Base
|
2480
|
-
include ::RuboCop::Cop::RangeHelp
|
2481
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
2482
|
-
|
2483
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#27
|
2484
|
-
def on_csend(node); end
|
2485
|
-
|
2486
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#27
|
2487
|
-
def on_send(node); end
|
2488
|
-
|
2489
|
-
private
|
2490
|
-
|
2491
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#41
|
2492
|
-
def map_method_candidate(node); end
|
2493
|
-
|
2494
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#51
|
2495
|
-
def offense_range(node, map_method); end
|
2496
|
-
end
|
2497
|
-
|
2498
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#24
|
2499
|
-
RuboCop::Cop::Performance::SelectMap::MSG = T.let(T.unsafe(nil), String)
|
2500
|
-
|
2501
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/select_map.rb#25
|
2502
|
-
RuboCop::Cop::Performance::SelectMap::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2503
|
-
|
2504
|
-
# Identifies usages of `count` on an `Array` and `Hash` and change them to `size`.
|
2505
|
-
#
|
2506
|
-
# TODO: Add advanced detection of variables that could
|
2507
|
-
# have been assigned to an array or a hash.
|
2508
|
-
#
|
2509
|
-
# @example
|
2510
|
-
# # bad
|
2511
|
-
# [1, 2, 3].count
|
2512
|
-
# (1..3).to_a.count
|
2513
|
-
# Array[*1..3].count
|
2514
|
-
# Array(1..3).count
|
2515
|
-
#
|
2516
|
-
# # bad
|
2517
|
-
# {a: 1, b: 2, c: 3}.count
|
2518
|
-
# [[:foo, :bar], [1, 2]].to_h.count
|
2519
|
-
# Hash[*('a'..'z')].count
|
2520
|
-
# Hash(key: :value).count
|
2521
|
-
#
|
2522
|
-
# # good
|
2523
|
-
# [1, 2, 3].size
|
2524
|
-
# (1..3).to_a.size
|
2525
|
-
# Array[*1..3].size
|
2526
|
-
# Array(1..3).size
|
2527
|
-
#
|
2528
|
-
# # good
|
2529
|
-
# {a: 1, b: 2, c: 3}.size
|
2530
|
-
# [[:foo, :bar], [1, 2]].to_h.size
|
2531
|
-
# Hash[*('a'..'z')].size
|
2532
|
-
# Hash(key: :value).size
|
2533
|
-
#
|
2534
|
-
# # good
|
2535
|
-
# [1, 2, 3].count { |e| e > 2 }
|
2536
|
-
#
|
2537
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#37
|
2538
|
-
class RuboCop::Cop::Performance::Size < ::RuboCop::Cop::Base
|
2539
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2540
|
-
|
2541
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#43
|
2542
|
-
def array?(param0 = T.unsafe(nil)); end
|
2543
|
-
|
2544
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#61
|
2545
|
-
def count?(param0 = T.unsafe(nil)); end
|
2546
|
-
|
2547
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#52
|
2548
|
-
def hash?(param0 = T.unsafe(nil)); end
|
2549
|
-
|
2550
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#65
|
2551
|
-
def on_csend(node); end
|
2552
|
-
|
2553
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#65
|
2554
|
-
def on_send(node); end
|
2555
|
-
end
|
2556
|
-
|
2557
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#40
|
2558
|
-
RuboCop::Cop::Performance::Size::MSG = T.let(T.unsafe(nil), String)
|
2559
|
-
|
2560
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/size.rb#41
|
2561
|
-
RuboCop::Cop::Performance::Size::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2562
|
-
|
2563
|
-
# Identifies places where `sort { |a, b| b <=> a }`
|
2564
|
-
# can be replaced by a faster `sort.reverse`.
|
2565
|
-
#
|
2566
|
-
# @example
|
2567
|
-
# # bad
|
2568
|
-
# array.sort { |a, b| b <=> a }
|
2569
|
-
#
|
2570
|
-
# # good
|
2571
|
-
# array.sort.reverse
|
2572
|
-
#
|
2573
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sort_reverse.rb#16
|
2574
|
-
class RuboCop::Cop::Performance::SortReverse < ::RuboCop::Cop::Base
|
2575
|
-
include ::RuboCop::Cop::RangeHelp
|
2576
|
-
include ::RuboCop::Cop::SortBlock
|
2577
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2578
|
-
|
2579
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sort_reverse.rb#22
|
2580
|
-
def on_block(node); end
|
2581
|
-
|
2582
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sort_reverse.rb#30
|
2583
|
-
def on_numblock(node); end
|
2584
|
-
|
2585
|
-
private
|
2586
|
-
|
2587
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sort_reverse.rb#42
|
2588
|
-
def register_offense(send, node); end
|
2589
|
-
end
|
2590
|
-
|
2591
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sort_reverse.rb#20
|
2592
|
-
RuboCop::Cop::Performance::SortReverse::MSG = T.let(T.unsafe(nil), String)
|
2593
|
-
|
2594
|
-
# Identifies places where `gsub(/a+/, 'a')` and `gsub!(/a+/, 'a')`
|
2595
|
-
# can be replaced by `squeeze('a')` and `squeeze!('a')`.
|
2596
|
-
#
|
2597
|
-
# The `squeeze('a')` method is faster than `gsub(/a+/, 'a')`.
|
2598
|
-
#
|
2599
|
-
# @example
|
2600
|
-
#
|
2601
|
-
# # bad
|
2602
|
-
# str.gsub(/a+/, 'a')
|
2603
|
-
# str.gsub!(/a+/, 'a')
|
2604
|
-
#
|
2605
|
-
# # good
|
2606
|
-
# str.squeeze('a')
|
2607
|
-
# str.squeeze!('a')
|
2608
|
-
#
|
2609
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#21
|
2610
|
-
class RuboCop::Cop::Performance::Squeeze < ::RuboCop::Cop::Base
|
2611
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2612
|
-
|
2613
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#39
|
2614
|
-
def on_csend(node); end
|
2615
|
-
|
2616
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#39
|
2617
|
-
def on_send(node); end
|
2618
|
-
|
2619
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#29
|
2620
|
-
def squeeze_candidate?(param0 = T.unsafe(nil)); end
|
2621
|
-
|
2622
|
-
private
|
2623
|
-
|
2624
|
-
# @return [Boolean]
|
2625
|
-
#
|
2626
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#61
|
2627
|
-
def repeating_literal?(regex_str); end
|
2628
|
-
end
|
2629
|
-
|
2630
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#24
|
2631
|
-
RuboCop::Cop::Performance::Squeeze::MSG = T.let(T.unsafe(nil), String)
|
2632
|
-
|
2633
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#27
|
2634
|
-
RuboCop::Cop::Performance::Squeeze::PREFERRED_METHODS = T.let(T.unsafe(nil), Hash)
|
2635
|
-
|
2636
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/squeeze.rb#25
|
2637
|
-
RuboCop::Cop::Performance::Squeeze::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2638
|
-
|
2639
|
-
# Identifies unnecessary use of a regex where `String#start_with?` would suffice.
|
2640
|
-
#
|
2641
|
-
# This cop has `SafeMultiline` configuration option that `true` by default because
|
2642
|
-
# `^start` is unsafe as it will behave incompatible with `start_with?`
|
2643
|
-
# for receiver is multiline string.
|
2644
|
-
#
|
2645
|
-
# @example
|
2646
|
-
# # bad
|
2647
|
-
# 'abc'.match?(/\Aab/)
|
2648
|
-
# /\Aab/.match?('abc')
|
2649
|
-
# 'abc' =~ /\Aab/
|
2650
|
-
# /\Aab/ =~ 'abc'
|
2651
|
-
# 'abc'.match(/\Aab/)
|
2652
|
-
# /\Aab/.match('abc')
|
2653
|
-
#
|
2654
|
-
# # good
|
2655
|
-
# 'abc'.start_with?('ab')
|
2656
|
-
# @example SafeMultiline: true (default)
|
2657
|
-
#
|
2658
|
-
# # good
|
2659
|
-
# 'abc'.match?(/^ab/)
|
2660
|
-
# /^ab/.match?('abc')
|
2661
|
-
# 'abc' =~ /^ab/
|
2662
|
-
# /^ab/ =~ 'abc'
|
2663
|
-
# 'abc'.match(/^ab/)
|
2664
|
-
# /^ab/.match('abc')
|
2665
|
-
# @example SafeMultiline: false
|
2666
|
-
#
|
2667
|
-
# # bad
|
2668
|
-
# 'abc'.match?(/^ab/)
|
2669
|
-
# /^ab/.match?('abc')
|
2670
|
-
# 'abc' =~ /^ab/
|
2671
|
-
# /^ab/ =~ 'abc'
|
2672
|
-
# 'abc'.match(/^ab/)
|
2673
|
-
# /^ab/.match('abc')
|
2674
|
-
#
|
2675
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#49
|
2676
|
-
class RuboCop::Cop::Performance::StartWith < ::RuboCop::Cop::Base
|
2677
|
-
include ::RuboCop::Cop::RegexpMetacharacter
|
2678
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2679
|
-
|
2680
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#62
|
2681
|
-
def on_csend(node); end
|
2682
|
-
|
2683
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#62
|
2684
|
-
def on_match_with_lvasgn(node); end
|
2685
|
-
|
2686
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#62
|
2687
|
-
def on_send(node); end
|
2688
|
-
|
2689
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#56
|
2690
|
-
def redundant_regex?(param0 = T.unsafe(nil)); end
|
2691
|
-
end
|
2692
|
-
|
2693
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#53
|
2694
|
-
RuboCop::Cop::Performance::StartWith::MSG = T.let(T.unsafe(nil), String)
|
2695
|
-
|
2696
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/start_with.rb#54
|
2697
|
-
RuboCop::Cop::Performance::StartWith::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2698
|
-
|
2699
|
-
# Identifies places where string identifier argument can be replaced
|
2700
|
-
# by symbol identifier argument.
|
2701
|
-
# It prevents the redundancy of the internal string-to-symbol conversion.
|
2702
|
-
#
|
2703
|
-
# This cop targets methods that take identifier (e.g. method name) argument
|
2704
|
-
# and the following examples are parts of it.
|
2705
|
-
#
|
2706
|
-
# @example
|
2707
|
-
#
|
2708
|
-
# # bad
|
2709
|
-
# send('do_something')
|
2710
|
-
# attr_accessor 'do_something'
|
2711
|
-
# instance_variable_get('@ivar')
|
2712
|
-
# respond_to?("string_#{interpolation}")
|
2713
|
-
#
|
2714
|
-
# # good
|
2715
|
-
# send(:do_something)
|
2716
|
-
# attr_accessor :do_something
|
2717
|
-
# instance_variable_get(:@ivar)
|
2718
|
-
# respond_to?(:"string_#{interpolation}")
|
2719
|
-
#
|
2720
|
-
# # good - these methods don't support namespaced symbols
|
2721
|
-
# const_get("#{module_path}::Base")
|
2722
|
-
# const_source_location("#{module_path}::Base")
|
2723
|
-
# const_defined?("#{module_path}::Base")
|
2724
|
-
#
|
2725
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#33
|
2726
|
-
class RuboCop::Cop::Performance::StringIdentifierArgument < ::RuboCop::Cop::Base
|
2727
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2728
|
-
|
2729
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#64
|
2730
|
-
def on_send(node); end
|
2731
|
-
|
2732
|
-
private
|
2733
|
-
|
2734
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#105
|
2735
|
-
def argument_replacement(node, value); end
|
2736
|
-
|
2737
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#95
|
2738
|
-
def register_offense(argument, argument_value); end
|
2739
|
-
|
2740
|
-
# @return [Boolean]
|
2741
|
-
#
|
2742
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#89
|
2743
|
-
def string_argument_compatible?(argument, node); end
|
2744
|
-
|
2745
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#77
|
2746
|
-
def string_arguments(node); end
|
2747
|
-
end
|
2748
|
-
|
2749
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#38
|
2750
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::COMMAND_METHODS = T.let(T.unsafe(nil), Array)
|
2751
|
-
|
2752
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#43
|
2753
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::INTERPOLATION_IGNORE_METHODS = T.let(T.unsafe(nil), Array)
|
2754
|
-
|
2755
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#36
|
2756
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::MSG = T.let(T.unsafe(nil), String)
|
2757
|
-
|
2758
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#46
|
2759
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::MULTIPLE_ARGUMENTS_METHODS = T.let(T.unsafe(nil), Array)
|
2760
|
-
|
2761
|
-
# NOTE: `attr` method is not included in this list as it can cause false positives in Nokogiri API.
|
2762
|
-
# And `attr` may not be used because `Style/Attr` registers an offense.
|
2763
|
-
# https://github.com/rubocop/rubocop-performance/issues/278
|
2764
|
-
#
|
2765
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#54
|
2766
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2767
|
-
|
2768
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_identifier_argument.rb#45
|
2769
|
-
RuboCop::Cop::Performance::StringIdentifierArgument::TWO_ARGUMENTS_METHOD = T.let(T.unsafe(nil), Symbol)
|
2770
|
-
|
2771
|
-
# Identifies unnecessary use of a regex where `String#include?` would suffice.
|
2772
|
-
#
|
2773
|
-
# @example
|
2774
|
-
# # bad
|
2775
|
-
# str.match?(/ab/)
|
2776
|
-
# /ab/.match?(str)
|
2777
|
-
# str =~ /ab/
|
2778
|
-
# /ab/ =~ str
|
2779
|
-
# str.match(/ab/)
|
2780
|
-
# /ab/.match(str)
|
2781
|
-
# /ab/ === str
|
2782
|
-
#
|
2783
|
-
# # good
|
2784
|
-
# str.include?('ab')
|
2785
|
-
#
|
2786
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#23
|
2787
|
-
class RuboCop::Cop::Performance::StringInclude < ::RuboCop::Cop::Base
|
2788
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2789
|
-
|
2790
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
|
2791
|
-
def on_csend(node); end
|
2792
|
-
|
2793
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
|
2794
|
-
def on_match_with_lvasgn(node); end
|
2795
|
-
|
2796
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#36
|
2797
|
-
def on_send(node); end
|
2798
|
-
|
2799
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#29
|
2800
|
-
def redundant_regex?(param0 = T.unsafe(nil)); end
|
2801
|
-
|
2802
|
-
private
|
2803
|
-
|
2804
|
-
# @return [Boolean]
|
2805
|
-
#
|
2806
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#58
|
2807
|
-
def literal?(regex_str); end
|
2808
|
-
end
|
2809
|
-
|
2810
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#26
|
2811
|
-
RuboCop::Cop::Performance::StringInclude::MSG = T.let(T.unsafe(nil), String)
|
2812
|
-
|
2813
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_include.rb#27
|
2814
|
-
RuboCop::Cop::Performance::StringInclude::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2815
|
-
|
2816
|
-
# Identifies places where `gsub` can be replaced by `tr` or `delete`.
|
2817
|
-
#
|
2818
|
-
# @example
|
2819
|
-
# # bad
|
2820
|
-
# 'abc'.gsub('b', 'd')
|
2821
|
-
# 'abc'.gsub('a', '')
|
2822
|
-
# 'abc'.gsub(/a/, 'd')
|
2823
|
-
# 'abc'.gsub!('a', 'd')
|
2824
|
-
#
|
2825
|
-
# # good
|
2826
|
-
# 'abc'.gsub(/.*/, 'a')
|
2827
|
-
# 'abc'.gsub(/a+/, 'd')
|
2828
|
-
# 'abc'.tr('b', 'd')
|
2829
|
-
# 'a b c'.delete(' ')
|
2830
|
-
#
|
2831
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#20
|
2832
|
-
class RuboCop::Cop::Performance::StringReplacement < ::RuboCop::Cop::Base
|
2833
|
-
include ::RuboCop::Cop::RangeHelp
|
2834
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2835
|
-
|
2836
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#37
|
2837
|
-
def on_csend(node); end
|
2838
|
-
|
2839
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#37
|
2840
|
-
def on_send(node); end
|
2841
|
-
|
2842
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#31
|
2843
|
-
def string_replacement?(param0 = T.unsafe(nil)); end
|
2844
|
-
|
2845
|
-
private
|
2846
|
-
|
2847
|
-
# @return [Boolean]
|
2848
|
-
#
|
2849
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#84
|
2850
|
-
def accept_first_param?(first_param); end
|
2851
|
-
|
2852
|
-
# @return [Boolean]
|
2853
|
-
#
|
2854
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#79
|
2855
|
-
def accept_second_param?(second_param); end
|
2856
|
-
|
2857
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#60
|
2858
|
-
def autocorrect(corrector, node); end
|
2859
|
-
|
2860
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#100
|
2861
|
-
def first_source(first_param); end
|
2862
|
-
|
2863
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#143
|
2864
|
-
def message(node, first_source, second_source); end
|
2865
|
-
|
2866
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#149
|
2867
|
-
def method_suffix(node); end
|
2868
|
-
|
2869
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#49
|
2870
|
-
def offense(node, first_param, second_param); end
|
2871
|
-
|
2872
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#129
|
2873
|
-
def range(node); end
|
2874
|
-
|
2875
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#153
|
2876
|
-
def remove_second_param(corrector, node, first_param); end
|
2877
|
-
|
2878
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#70
|
2879
|
-
def replace_method(corrector, node, first_source, second_source, first_param); end
|
2880
|
-
|
2881
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#133
|
2882
|
-
def replacement_method(node, first_source, second_source); end
|
2883
|
-
|
2884
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#118
|
2885
|
-
def source_from_regex_constructor(node); end
|
2886
|
-
|
2887
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#111
|
2888
|
-
def source_from_regex_literal(node); end
|
2889
|
-
end
|
2890
|
-
|
2891
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#29
|
2892
|
-
RuboCop::Cop::Performance::StringReplacement::BANG = T.let(T.unsafe(nil), String)
|
2893
|
-
|
2894
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#27
|
2895
|
-
RuboCop::Cop::Performance::StringReplacement::DELETE = T.let(T.unsafe(nil), String)
|
2896
|
-
|
2897
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#26
|
2898
|
-
RuboCop::Cop::Performance::StringReplacement::DETERMINISTIC_REGEX = T.let(T.unsafe(nil), Regexp)
|
2899
|
-
|
2900
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#24
|
2901
|
-
RuboCop::Cop::Performance::StringReplacement::MSG = T.let(T.unsafe(nil), String)
|
2902
|
-
|
2903
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#25
|
2904
|
-
RuboCop::Cop::Performance::StringReplacement::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
2905
|
-
|
2906
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/string_replacement.rb#28
|
2907
|
-
RuboCop::Cop::Performance::StringReplacement::TR = T.let(T.unsafe(nil), String)
|
2908
|
-
|
2909
|
-
# Identifies places where custom code finding the sum of elements
|
2910
|
-
# in some Enumerable object can be replaced by `Enumerable#sum` method.
|
2911
|
-
#
|
2912
|
-
# @example OnlySumOrWithInitialValue: false (default)
|
2913
|
-
# # bad
|
2914
|
-
# [1, 2, 3].inject(:+) # Autocorrections for cases without initial value are unsafe
|
2915
|
-
# [1, 2, 3].inject(&:+) # and will only be performed when using the `-A` option.
|
2916
|
-
# [1, 2, 3].reduce { |acc, elem| acc + elem } # They can be prohibited completely using `SafeAutoCorrect: true`.
|
2917
|
-
# [1, 2, 3].reduce(10, :+)
|
2918
|
-
# [1, 2, 3].map { |elem| elem ** 2 }.sum
|
2919
|
-
# [1, 2, 3].collect(&:count).sum(10)
|
2920
|
-
#
|
2921
|
-
# # good
|
2922
|
-
# [1, 2, 3].sum
|
2923
|
-
# [1, 2, 3].sum(10)
|
2924
|
-
# [1, 2, 3].sum { |elem| elem ** 2 }
|
2925
|
-
# [1, 2, 3].sum(10, &:count)
|
2926
|
-
# @example OnlySumOrWithInitialValue: true
|
2927
|
-
# # bad
|
2928
|
-
# [1, 2, 3].reduce(10, :+)
|
2929
|
-
# [1, 2, 3].map { |elem| elem ** 2 }.sum
|
2930
|
-
# [1, 2, 3].collect(&:count).sum(10)
|
2931
|
-
#
|
2932
|
-
# # good
|
2933
|
-
# [1, 2, 3].sum(10)
|
2934
|
-
# [1, 2, 3].sum { |elem| elem ** 2 }
|
2935
|
-
# [1, 2, 3].sum(10, &:count)
|
2936
|
-
#
|
2937
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#70
|
2938
|
-
class RuboCop::Cop::Performance::Sum < ::RuboCop::Cop::Base
|
2939
|
-
include ::RuboCop::Cop::RangeHelp
|
2940
|
-
extend ::RuboCop::Cop::AutoCorrector
|
2941
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
2942
|
-
|
2943
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#102
|
2944
|
-
def acc_plus_elem?(param0 = T.unsafe(nil), param1, param2); end
|
2945
|
-
|
2946
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#102
|
2947
|
-
def elem_plus_acc?(param0 = T.unsafe(nil), param1, param2); end
|
2948
|
-
|
2949
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#115
|
2950
|
-
def on_block(node); end
|
2951
|
-
|
2952
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#107
|
2953
|
-
def on_csend(node); end
|
2954
|
-
|
2955
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#107
|
2956
|
-
def on_send(node); end
|
2957
|
-
|
2958
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#82
|
2959
|
-
def sum_candidate?(param0 = T.unsafe(nil)); end
|
2960
|
-
|
2961
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#86
|
2962
|
-
def sum_map_candidate?(param0 = T.unsafe(nil)); end
|
2963
|
-
|
2964
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#95
|
2965
|
-
def sum_with_block_candidate?(param0 = T.unsafe(nil)); end
|
2966
|
-
|
2967
|
-
private
|
2968
|
-
|
2969
|
-
# @return [Boolean]
|
2970
|
-
#
|
2971
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#160
|
2972
|
-
def array_literal?(node); end
|
2973
|
-
|
2974
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#165
|
2975
|
-
def autocorrect(corrector, init, range); end
|
2976
|
-
|
2977
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#173
|
2978
|
-
def autocorrect_sum_map(corrector, sum, map, init); end
|
2979
|
-
|
2980
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#250
|
2981
|
-
def build_block_bad_method(method, init, var_acc, var_elem, body); end
|
2982
|
-
|
2983
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#217
|
2984
|
-
def build_block_message(send, init, var_acc, var_elem, body); end
|
2985
|
-
|
2986
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#223
|
2987
|
-
def build_good_method(init, block_pass = T.unsafe(nil)); end
|
2988
|
-
|
2989
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#236
|
2990
|
-
def build_method_bad_method(init, method, operation); end
|
2991
|
-
|
2992
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#198
|
2993
|
-
def build_method_message(node, method, init, operation); end
|
2994
|
-
|
2995
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#209
|
2996
|
-
def build_sum_map_message(send_node, init); end
|
2997
|
-
|
2998
|
-
# @return [Boolean]
|
2999
|
-
#
|
3000
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#155
|
3001
|
-
def empty_array_literal?(node); end
|
3002
|
-
|
3003
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#130
|
3004
|
-
def handle_sum_candidate(node); end
|
3005
|
-
|
3006
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#143
|
3007
|
-
def handle_sum_map_candidate(node); end
|
3008
|
-
|
3009
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#261
|
3010
|
-
def method_call_with_args_range(node); end
|
3011
|
-
|
3012
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#194
|
3013
|
-
def sum_block_range(send, node); end
|
3014
|
-
|
3015
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#190
|
3016
|
-
def sum_map_range(map, sum); end
|
3017
|
-
|
3018
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#186
|
3019
|
-
def sum_method_range(node); end
|
3020
|
-
end
|
3021
|
-
|
3022
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#77
|
3023
|
-
RuboCop::Cop::Performance::Sum::MSG = T.let(T.unsafe(nil), String)
|
3024
|
-
|
3025
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#78
|
3026
|
-
RuboCop::Cop::Performance::Sum::MSG_IF_NO_INIT_VALUE = T.let(T.unsafe(nil), String)
|
3027
|
-
|
3028
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/sum.rb#80
|
3029
|
-
RuboCop::Cop::Performance::Sum::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
3030
|
-
|
3031
|
-
# Checks for .times.map calls.
|
3032
|
-
# In most cases such calls can be replaced
|
3033
|
-
# with an explicit array creation.
|
3034
|
-
#
|
3035
|
-
# @example
|
3036
|
-
# # bad
|
3037
|
-
# 9.times.map do |i|
|
3038
|
-
# i.to_s
|
3039
|
-
# end
|
3040
|
-
#
|
3041
|
-
# # good
|
3042
|
-
# Array.new(9) do |i|
|
3043
|
-
# i.to_s
|
3044
|
-
# end
|
3045
|
-
#
|
3046
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#32
|
3047
|
-
class RuboCop::Cop::Performance::TimesMap < ::RuboCop::Cop::Base
|
3048
|
-
extend ::RuboCop::Cop::AutoCorrector
|
3049
|
-
|
3050
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#44
|
3051
|
-
def on_block(node); end
|
3052
|
-
|
3053
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#39
|
3054
|
-
def on_csend(node); end
|
3055
|
-
|
3056
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#44
|
3057
|
-
def on_numblock(node); end
|
3058
|
-
|
3059
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#39
|
3060
|
-
def on_send(node); end
|
3061
|
-
|
3062
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#79
|
3063
|
-
def times_map_call(param0 = T.unsafe(nil)); end
|
3064
|
-
|
3065
|
-
private
|
3066
|
-
|
3067
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#51
|
3068
|
-
def check(node); end
|
3069
|
-
|
3070
|
-
# @return [Boolean]
|
3071
|
-
#
|
3072
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#63
|
3073
|
-
def handleable_receiver?(node); end
|
3074
|
-
|
3075
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#70
|
3076
|
-
def message(map_or_collect, count); end
|
3077
|
-
end
|
3078
|
-
|
3079
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#35
|
3080
|
-
RuboCop::Cop::Performance::TimesMap::MESSAGE = T.let(T.unsafe(nil), String)
|
3081
|
-
|
3082
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#36
|
3083
|
-
RuboCop::Cop::Performance::TimesMap::MESSAGE_ONLY_IF = T.let(T.unsafe(nil), String)
|
3084
|
-
|
3085
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/times_map.rb#37
|
3086
|
-
RuboCop::Cop::Performance::TimesMap::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
3087
|
-
|
3088
|
-
# In Ruby 2.3 or later, use unary plus operator to unfreeze a string
|
3089
|
-
# literal instead of `String#dup` and `String.new`.
|
3090
|
-
# Unary plus operator is faster than `String#dup`.
|
3091
|
-
#
|
3092
|
-
# @example
|
3093
|
-
# # bad
|
3094
|
-
# ''.dup # when Ruby 3.2 or lower
|
3095
|
-
# "something".dup # when Ruby 3.2 or lower
|
3096
|
-
# String.new
|
3097
|
-
# String.new('')
|
3098
|
-
# String.new('something')
|
3099
|
-
#
|
3100
|
-
# # good
|
3101
|
-
# +'something'
|
3102
|
-
# +''
|
3103
|
-
#
|
3104
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#27
|
3105
|
-
class RuboCop::Cop::Performance::UnfreezeString < ::RuboCop::Cop::Base
|
3106
|
-
extend ::RuboCop::Cop::AutoCorrector
|
3107
|
-
extend ::RuboCop::Cop::TargetRubyVersion
|
3108
|
-
|
3109
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#36
|
3110
|
-
def dup_string?(param0 = T.unsafe(nil)); end
|
3111
|
-
|
3112
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#47
|
3113
|
-
def on_send(node); end
|
3114
|
-
|
3115
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#40
|
3116
|
-
def string_new?(param0 = T.unsafe(nil)); end
|
3117
|
-
|
3118
|
-
private
|
3119
|
-
|
3120
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#60
|
3121
|
-
def string_value(node); end
|
3122
|
-
end
|
3123
|
-
|
3124
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#33
|
3125
|
-
RuboCop::Cop::Performance::UnfreezeString::MSG = T.let(T.unsafe(nil), String)
|
3126
|
-
|
3127
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/unfreeze_string.rb#34
|
3128
|
-
RuboCop::Cop::Performance::UnfreezeString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
3129
|
-
|
3130
|
-
# Identifies places where `URI::Parser.new` can be replaced by `URI::DEFAULT_PARSER`.
|
3131
|
-
#
|
3132
|
-
# @example
|
3133
|
-
# # bad
|
3134
|
-
# URI::Parser.new
|
3135
|
-
#
|
3136
|
-
# # good
|
3137
|
-
# URI::DEFAULT_PARSER
|
3138
|
-
#
|
3139
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/uri_default_parser.rb#15
|
3140
|
-
class RuboCop::Cop::Performance::UriDefaultParser < ::RuboCop::Cop::Base
|
3141
|
-
extend ::RuboCop::Cop::AutoCorrector
|
3142
|
-
|
3143
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/uri_default_parser.rb#27
|
3144
|
-
def on_send(node); end
|
3145
|
-
|
3146
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/uri_default_parser.rb#21
|
3147
|
-
def uri_parser_new?(param0 = T.unsafe(nil)); end
|
3148
|
-
end
|
3149
|
-
|
3150
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/uri_default_parser.rb#18
|
3151
|
-
RuboCop::Cop::Performance::UriDefaultParser::MSG = T.let(T.unsafe(nil), String)
|
3152
|
-
|
3153
|
-
# source://rubocop-performance//lib/rubocop/cop/performance/uri_default_parser.rb#19
|
3154
|
-
RuboCop::Cop::Performance::UriDefaultParser::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
3155
|
-
|
3156
|
-
# Common functionality for handling regexp metacharacters.
|
3157
|
-
#
|
3158
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#6
|
3159
|
-
module RuboCop::Cop::RegexpMetacharacter
|
3160
|
-
private
|
3161
|
-
|
3162
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#63
|
3163
|
-
def drop_end_metacharacter(regexp_string); end
|
3164
|
-
|
3165
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#55
|
3166
|
-
def drop_start_metacharacter(regexp_string); end
|
3167
|
-
|
3168
|
-
# @return [Boolean]
|
3169
|
-
#
|
3170
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#15
|
3171
|
-
def literal_at_end?(regexp); end
|
3172
|
-
|
3173
|
-
# @return [Boolean]
|
3174
|
-
#
|
3175
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#41
|
3176
|
-
def literal_at_end_with_backslash_z?(regex_str); end
|
3177
|
-
|
3178
|
-
# @return [Boolean]
|
3179
|
-
#
|
3180
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#48
|
3181
|
-
def literal_at_end_with_dollar?(regex_str); end
|
3182
|
-
|
3183
|
-
# @return [Boolean]
|
3184
|
-
#
|
3185
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#9
|
3186
|
-
def literal_at_start?(regexp); end
|
3187
|
-
|
3188
|
-
# @return [Boolean]
|
3189
|
-
#
|
3190
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#21
|
3191
|
-
def literal_at_start_with_backslash_a?(regex_str); end
|
3192
|
-
|
3193
|
-
# @return [Boolean]
|
3194
|
-
#
|
3195
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#31
|
3196
|
-
def literal_at_start_with_caret?(regex_str); end
|
3197
|
-
|
3198
|
-
# @return [Boolean]
|
3199
|
-
#
|
3200
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/regexp_metacharacter.rb#71
|
3201
|
-
def safe_multiline?; end
|
3202
|
-
end
|
3203
|
-
|
3204
|
-
# Common functionality for cops checking `Enumerable#sort` blocks.
|
3205
|
-
#
|
3206
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/sort_block.rb#6
|
3207
|
-
module RuboCop::Cop::SortBlock
|
3208
|
-
include ::RuboCop::Cop::RangeHelp
|
3209
|
-
extend ::RuboCop::AST::NodePattern::Macros
|
3210
|
-
|
3211
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/sort_block.rb#24
|
3212
|
-
def replaceable_body?(param0 = T.unsafe(nil), param1, param2); end
|
3213
|
-
|
3214
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/sort_block.rb#10
|
3215
|
-
def sort_with_block?(param0 = T.unsafe(nil)); end
|
3216
|
-
|
3217
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/sort_block.rb#17
|
3218
|
-
def sort_with_numblock?(param0 = T.unsafe(nil)); end
|
3219
|
-
|
3220
|
-
private
|
3221
|
-
|
3222
|
-
# source://rubocop-performance//lib/rubocop/cop/mixin/sort_block.rb#30
|
3223
|
-
def sort_range(send, node); end
|
3224
|
-
end
|
3225
|
-
|
3226
|
-
# RuboCop Performance project namespace
|
3227
|
-
#
|
3228
|
-
# source://rubocop-performance//lib/rubocop/performance.rb#5
|
3229
|
-
module RuboCop::Performance; end
|
3230
|
-
|
3231
|
-
# source://rubocop-performance//lib/rubocop/performance.rb#8
|
3232
|
-
RuboCop::Performance::CONFIG = T.let(T.unsafe(nil), Hash)
|
3233
|
-
|
3234
|
-
# source://rubocop-performance//lib/rubocop/performance.rb#7
|
3235
|
-
RuboCop::Performance::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
|
3236
|
-
|
3237
|
-
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
|
3238
|
-
# bit of our configuration.
|
3239
|
-
#
|
3240
|
-
# source://rubocop-performance//lib/rubocop/performance/inject.rb#7
|
3241
|
-
module RuboCop::Performance::Inject
|
3242
|
-
class << self
|
3243
|
-
# source://rubocop-performance//lib/rubocop/performance/inject.rb#8
|
3244
|
-
def defaults!; end
|
3245
|
-
end
|
3246
|
-
end
|
3247
|
-
|
3248
|
-
# source://rubocop-performance//lib/rubocop/performance.rb#6
|
3249
|
-
RuboCop::Performance::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
|
3250
|
-
|
3251
|
-
# This module holds the RuboCop Performance version information.
|
3252
|
-
#
|
3253
|
-
# source://rubocop-performance//lib/rubocop/performance/version.rb#6
|
3254
|
-
module RuboCop::Performance::Version
|
3255
|
-
class << self
|
3256
|
-
# source://rubocop-performance//lib/rubocop/performance/version.rb#9
|
3257
|
-
def document_version; end
|
3258
|
-
end
|
3259
|
-
end
|
3260
|
-
|
3261
|
-
# source://rubocop-performance//lib/rubocop/performance/version.rb#7
|
3262
|
-
RuboCop::Performance::Version::STRING = T.let(T.unsafe(nil), String)
|