rubocop 0.13.1 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rubocop might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +42 -0
- data/README.md +59 -54
- data/config/default.yml +124 -95
- data/config/disabled.yml +4 -0
- data/config/enabled.yml +286 -264
- data/lib/rubocop.rb +10 -3
- data/lib/rubocop/cli.rb +10 -171
- data/lib/rubocop/cop/cop.rb +14 -11
- data/lib/rubocop/cop/lint/debugger.rb +35 -0
- data/lib/rubocop/cop/lint/syntax.rb +34 -0
- data/lib/rubocop/cop/offence.rb +15 -23
- data/lib/rubocop/cop/style/align_array.rb +1 -10
- data/lib/rubocop/cop/style/align_hash.rb +14 -2
- data/lib/rubocop/cop/style/align_parameters.rb +1 -11
- data/lib/rubocop/cop/style/and_or.rb +13 -11
- data/lib/rubocop/cop/style/attr.rb +1 -1
- data/lib/rubocop/cop/style/autocorrect_alignment.rb +31 -6
- data/lib/rubocop/cop/style/blocks.rb +14 -6
- data/lib/rubocop/cop/style/character_literal.rb +1 -1
- data/lib/rubocop/cop/style/class_length.rb +38 -0
- data/lib/rubocop/cop/style/collection_methods.rb +1 -1
- data/lib/rubocop/cop/style/colon_method_call.rb +1 -1
- data/lib/rubocop/cop/style/configurable_naming.rb +47 -0
- data/lib/rubocop/cop/style/def_parentheses.rb +2 -2
- data/lib/rubocop/cop/style/empty_literal.rb +1 -1
- data/lib/rubocop/cop/style/even_odd.rb +7 -3
- data/lib/rubocop/cop/style/hash_methods.rb +1 -1
- data/lib/rubocop/cop/style/hash_syntax.rb +36 -7
- data/lib/rubocop/cop/style/lambda_call.rb +36 -11
- data/lib/rubocop/cop/style/method_call_parentheses.rb +1 -1
- data/lib/rubocop/cop/style/method_called_on_do_end_block.rb +41 -0
- data/lib/rubocop/cop/style/method_length.rb +2 -13
- data/lib/rubocop/cop/style/method_name.rb +42 -0
- data/lib/rubocop/cop/style/numeric_literals.rb +4 -0
- data/lib/rubocop/cop/style/perl_backrefs.rb +1 -1
- data/lib/rubocop/cop/style/raise_args.rb +60 -0
- data/lib/rubocop/cop/style/redundant_exception.rb +32 -0
- data/lib/rubocop/cop/style/redundant_return.rb +14 -5
- data/lib/rubocop/cop/style/redundant_self.rb +1 -1
- data/lib/rubocop/cop/style/semicolon.rb +13 -4
- data/lib/rubocop/cop/style/signal_exception.rb +63 -14
- data/lib/rubocop/cop/style/special_global_vars.rb +1 -1
- data/lib/rubocop/cop/style/string_help.rb +4 -1
- data/lib/rubocop/cop/style/string_literals.rb +34 -11
- data/lib/rubocop/cop/style/surrounding_space.rb +64 -17
- data/lib/rubocop/cop/style/tab.rb +1 -1
- data/lib/rubocop/cop/style/variable_name.rb +44 -0
- data/lib/rubocop/cop/style/when_then.rb +1 -1
- data/lib/rubocop/cop/style/while_until_do.rb +1 -1
- data/lib/rubocop/cop/team.rb +4 -7
- data/lib/rubocop/cop/util.rb +12 -0
- data/lib/rubocop/formatter/clang_style_formatter.rb +1 -1
- data/lib/rubocop/formatter/emacs_style_formatter.rb +5 -2
- data/lib/rubocop/formatter/json_formatter.rb +1 -0
- data/lib/rubocop/formatter/progress_formatter.rb +9 -13
- data/lib/rubocop/formatter/simple_text_formatter.rb +63 -15
- data/lib/rubocop/options.rb +184 -0
- data/lib/rubocop/processed_source.rb +4 -0
- data/lib/rubocop/version.rb +1 -1
- data/rubocop.gemspec +1 -1
- data/spec/rubocop/cli_spec.rb +870 -1001
- data/spec/rubocop/config_spec.rb +13 -13
- data/spec/rubocop/config_store_spec.rb +38 -37
- data/spec/rubocop/cop/commissioner_spec.rb +42 -46
- data/spec/rubocop/cop/cop_spec.rb +72 -77
- data/spec/rubocop/cop/corrector_spec.rb +51 -55
- data/spec/rubocop/cop/lint/assignment_in_condition_spec.rb +100 -106
- data/spec/rubocop/cop/lint/block_alignment_spec.rb +403 -409
- data/spec/rubocop/cop/lint/debugger_spec.rb +39 -0
- data/spec/rubocop/cop/lint/empty_ensure_spec.rb +19 -25
- data/spec/rubocop/cop/lint/end_alignment_spec.rb +50 -56
- data/spec/rubocop/cop/lint/end_in_method_spec.rb +20 -26
- data/spec/rubocop/cop/lint/ensure_return_spec.rb +30 -36
- data/spec/rubocop/cop/lint/eval_spec.rb +25 -31
- data/spec/rubocop/cop/lint/handle_exceptions_spec.rb +22 -28
- data/spec/rubocop/cop/lint/literal_in_condition_spec.rb +51 -57
- data/spec/rubocop/cop/lint/loop_spec.rb +17 -23
- data/spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb +51 -57
- data/spec/rubocop/cop/lint/rescue_exception_spec.rb +105 -111
- data/spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb +230 -236
- data/spec/rubocop/cop/lint/syntax_spec.rb +33 -0
- data/spec/rubocop/cop/lint/unreachable_code_spec.rb +51 -57
- data/spec/rubocop/cop/lint/useless_assignment_spec.rb +1544 -1550
- data/spec/rubocop/cop/lint/useless_comparison_spec.rb +21 -27
- data/spec/rubocop/cop/lint/useless_setter_call_spec.rb +119 -125
- data/spec/rubocop/cop/lint/void_spec.rb +50 -56
- data/spec/rubocop/cop/offence_spec.rb +101 -131
- data/spec/rubocop/cop/rails/has_and_belongs_to_many_spec.rb +6 -12
- data/spec/rubocop/cop/rails/read_attribute_spec.rb +6 -12
- data/spec/rubocop/cop/rails/validation_spec.rb +13 -19
- data/spec/rubocop/cop/style/access_control_spec.rb +146 -152
- data/spec/rubocop/cop/style/alias_spec.rb +30 -36
- data/spec/rubocop/cop/style/align_array_spec.rb +57 -56
- data/spec/rubocop/cop/style/align_hash_spec.rb +256 -237
- data/spec/rubocop/cop/style/align_parameters_spec.rb +216 -202
- data/spec/rubocop/cop/style/and_or_spec.rb +51 -55
- data/spec/rubocop/cop/style/ascii_comments_spec.rb +14 -20
- data/spec/rubocop/cop/style/ascii_identifiers_spec.rb +26 -32
- data/spec/rubocop/cop/style/attr_spec.rb +11 -17
- data/spec/rubocop/cop/style/begin_block_spec.rb +6 -12
- data/spec/rubocop/cop/style/block_comments_spec.rb +13 -19
- data/spec/rubocop/cop/style/block_nesting_spec.rb +134 -140
- data/spec/rubocop/cop/style/blocks_spec.rb +81 -84
- data/spec/rubocop/cop/style/case_equality_spec.rb +5 -11
- data/spec/rubocop/cop/style/case_indentation_spec.rb +71 -77
- data/spec/rubocop/cop/style/character_literal_spec.rb +31 -37
- data/spec/rubocop/cop/style/class_and_module_camel_case_spec.rb +31 -37
- data/spec/rubocop/cop/style/class_length_spec.rb +65 -0
- data/spec/rubocop/cop/style/class_methods_spec.rb +35 -41
- data/spec/rubocop/cop/style/class_vars_spec.rb +11 -17
- data/spec/rubocop/cop/style/collection_methods_spec.rb +41 -47
- data/spec/rubocop/cop/style/colon_method_call_spec.rb +45 -51
- data/spec/rubocop/cop/style/comment_annotation_spec.rb +79 -85
- data/spec/rubocop/cop/style/constant_name_spec.rb +45 -51
- data/spec/rubocop/cop/style/def_with_parentheses_spec.rb +28 -34
- data/spec/rubocop/cop/style/def_without_parentheses_spec.rb +23 -29
- data/spec/rubocop/cop/style/documentation_spec.rb +60 -66
- data/spec/rubocop/cop/style/dot_position_spec.rb +50 -56
- data/spec/rubocop/cop/style/empty_line_between_defs_spec.rb +109 -110
- data/spec/rubocop/cop/style/empty_lines_spec.rb +28 -34
- data/spec/rubocop/cop/style/empty_literal_spec.rb +80 -86
- data/spec/rubocop/cop/style/encoding_spec.rb +50 -56
- data/spec/rubocop/cop/style/end_block_spec.rb +6 -12
- data/spec/rubocop/cop/style/end_of_line_spec.rb +13 -19
- data/spec/rubocop/cop/style/even_odd_spec.rb +69 -41
- data/spec/rubocop/cop/style/favor_join_spec.rb +21 -27
- data/spec/rubocop/cop/style/favor_modifier_spec.rb +180 -176
- data/spec/rubocop/cop/style/favor_sprintf_spec.rb +41 -47
- data/spec/rubocop/cop/style/favor_unless_over_negated_if_spec.rb +63 -69
- data/spec/rubocop/cop/style/favor_until_over_negated_while_spec.rb +32 -38
- data/spec/rubocop/cop/style/final_newline_spec.rb +16 -22
- data/spec/rubocop/cop/style/for_spec.rb +18 -24
- data/spec/rubocop/cop/style/global_vars_spec.rb +23 -29
- data/spec/rubocop/cop/style/hash_methods_spec.rb +39 -45
- data/spec/rubocop/cop/style/hash_syntax_spec.rb +93 -65
- data/spec/rubocop/cop/style/if_with_semicolon_spec.rb +11 -17
- data/spec/rubocop/cop/style/indentation_width_spec.rb +377 -383
- data/spec/rubocop/cop/style/lambda_call_spec.rb +40 -22
- data/spec/rubocop/cop/style/lambda_spec.rb +30 -34
- data/spec/rubocop/cop/style/leading_comment_space_spec.rb +44 -50
- data/spec/rubocop/cop/style/line_length_spec.rb +11 -17
- data/spec/rubocop/cop/style/method_call_parentheses_spec.rb +14 -20
- data/spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb +60 -0
- data/spec/rubocop/cop/style/method_length_spec.rb +127 -133
- data/spec/rubocop/cop/style/method_name_spec.rb +103 -0
- data/spec/rubocop/cop/style/module_function_spec.rb +16 -22
- data/spec/rubocop/cop/style/multiline_block_chain_spec.rb +64 -70
- data/spec/rubocop/cop/style/multiline_if_then_spec.rb +74 -80
- data/spec/rubocop/cop/style/nil_comparison_spec.rb +20 -26
- data/spec/rubocop/cop/style/not_spec.rb +13 -19
- data/spec/rubocop/cop/style/numeric_literals_spec.rb +36 -35
- data/spec/rubocop/cop/style/one_line_conditional_spec.rb +5 -11
- data/spec/rubocop/cop/style/op_method_spec.rb +61 -67
- data/spec/rubocop/cop/style/parameter_lists_spec.rb +31 -37
- data/spec/rubocop/cop/style/parentheses_around_condition_spec.rb +62 -68
- data/spec/rubocop/cop/style/perl_backrefs_spec.rb +9 -15
- data/spec/rubocop/cop/style/proc_spec.rb +13 -19
- data/spec/rubocop/cop/style/raise_args_spec.rb +55 -0
- data/spec/rubocop/cop/style/reduce_arguments_spec.rb +49 -55
- data/spec/rubocop/cop/style/redundant_begin_spec.rb +47 -53
- data/spec/rubocop/cop/style/redundant_exception_spec.rb +27 -0
- data/spec/rubocop/cop/style/redundant_return_spec.rb +164 -72
- data/spec/rubocop/cop/style/redundant_self_spec.rb +109 -115
- data/spec/rubocop/cop/style/regexp_literal_spec.rb +57 -63
- data/spec/rubocop/cop/style/rescue_modifier_spec.rb +99 -105
- data/spec/rubocop/cop/style/semicolon_spec.rb +95 -90
- data/spec/rubocop/cop/style/signal_exception_spec.rb +248 -95
- data/spec/rubocop/cop/style/single_line_methods_spec.rb +45 -51
- data/spec/rubocop/cop/style/space_after_colon_spec.rb +14 -20
- data/spec/rubocop/cop/style/space_after_comma_spec.rb +16 -22
- data/spec/rubocop/cop/style/space_after_control_keyword_spec.rb +48 -54
- data/spec/rubocop/cop/style/space_after_method_name_spec.rb +49 -55
- data/spec/rubocop/cop/style/space_after_semicolon_spec.rb +10 -16
- data/spec/rubocop/cop/style/space_around_block_braces_spec.rb +118 -50
- data/spec/rubocop/cop/style/space_around_equals_in_default_parameter_spec.rb +18 -24
- data/spec/rubocop/cop/style/space_around_operators_spec.rb +204 -210
- data/spec/rubocop/cop/style/space_before_modifier_keyword_spec.rb +36 -42
- data/spec/rubocop/cop/style/space_inside_brackets_spec.rb +39 -45
- data/spec/rubocop/cop/style/space_inside_hash_literal_braces_spec.rb +62 -68
- data/spec/rubocop/cop/style/space_inside_parens_spec.rb +18 -24
- data/spec/rubocop/cop/style/special_global_vars_spec.rb +40 -46
- data/spec/rubocop/cop/style/string_literals_spec.rb +148 -70
- data/spec/rubocop/cop/style/symbol_array_spec.rb +28 -34
- data/spec/rubocop/cop/style/symbol_name_spec.rb +132 -138
- data/spec/rubocop/cop/style/tab_spec.rb +9 -15
- data/spec/rubocop/cop/style/ternary_operator_spec.rb +25 -31
- data/spec/rubocop/cop/style/trailing_blank_lines_spec.rb +10 -16
- data/spec/rubocop/cop/style/trailing_whitespace_spec.rb +14 -20
- data/spec/rubocop/cop/style/trivial_accessors_spec.rb +374 -380
- data/spec/rubocop/cop/style/unless_else_spec.rb +17 -23
- data/spec/rubocop/cop/style/variable_interpolation_spec.rb +36 -42
- data/spec/rubocop/cop/style/variable_name_spec.rb +83 -0
- data/spec/rubocop/cop/style/when_then_spec.rb +31 -37
- data/spec/rubocop/cop/style/while_until_do_spec.rb +47 -53
- data/spec/rubocop/cop/style/word_array_spec.rb +49 -55
- data/spec/rubocop/cop/team_spec.rb +125 -127
- data/spec/rubocop/cop/variable_inspector/assignment_spec.rb +176 -180
- data/spec/rubocop/cop/variable_inspector/locatable_spec.rb +580 -586
- data/spec/rubocop/cop/variable_inspector/scope_spec.rb +140 -146
- data/spec/rubocop/cop/variable_inspector/variable_spec.rb +52 -58
- data/spec/rubocop/cop/variable_inspector/variable_table_spec.rb +217 -223
- data/spec/rubocop/cop/variable_inspector_spec.rb +15 -19
- data/spec/rubocop/formatter/clang_style_formatter_spec.rb +35 -36
- data/spec/rubocop/formatter/disabled_config_formatter_spec.rb +2 -2
- data/spec/rubocop/formatter/emacs_style_formatter_spec.rb +24 -1
- data/spec/rubocop/formatter/file_list_formatter_spec.rb +1 -1
- data/spec/rubocop/formatter/formatter_set_spec.rb +3 -3
- data/spec/rubocop/formatter/json_formatter_spec.rb +7 -2
- data/spec/rubocop/formatter/offence_count_formatter_spec.rb +1 -1
- data/spec/rubocop/formatter/progress_formatter_spec.rb +1 -1
- data/spec/rubocop/formatter/simple_text_formatter_spec.rb +55 -6
- data/spec/rubocop/options_spec.rb +233 -0
- data/spec/rubocop/processed_source_spec.rb +85 -42
- data/spec/rubocop/source_parser_spec.rb +108 -110
- data/spec/rubocop/target_finder_spec.rb +125 -127
- data/spec/rubocop/token_spec.rb +15 -17
- metadata +32 -8
- data/lib/rubocop/backports/bsearch.rb +0 -39
- data/lib/rubocop/cop/style/method_and_variable_snake_case.rb +0 -77
- data/spec/rubocop/cop/style/method_and_variable_snake_case_spec.rb +0 -102
data/spec/rubocop/token_spec.rb
CHANGED
@@ -2,26 +2,24 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
|
6
|
-
describe
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
let(:range) { double('range') }
|
5
|
+
describe Rubocop::Token do
|
6
|
+
describe '.from_parser_token' do
|
7
|
+
subject(:token) { described_class.from_parser_token(parser_token) }
|
8
|
+
let(:parser_token) { [type, [text, range]] }
|
9
|
+
let(:type) { :kDEF } # rubocop:disable SymbolName
|
10
|
+
let(:text) { 'def' }
|
11
|
+
let(:range) { double('range') }
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
it "sets parser token's type to rubocop token's type" do
|
14
|
+
expect(token.type).to eq(type)
|
15
|
+
end
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
it "sets parser token's text to rubocop token's text" do
|
18
|
+
expect(token.text).to eq(text)
|
19
|
+
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
end
|
21
|
+
it "sets parser token's range to rubocop token's pos" do
|
22
|
+
expect(token.pos).to eq(range)
|
25
23
|
end
|
26
24
|
end
|
27
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bozhidar Batsov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rainbow
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.0
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.0
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: powerpack
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -149,7 +149,6 @@ files:
|
|
149
149
|
- config/disabled.yml
|
150
150
|
- config/enabled.yml
|
151
151
|
- lib/rubocop.rb
|
152
|
-
- lib/rubocop/backports/bsearch.rb
|
153
152
|
- lib/rubocop/cli.rb
|
154
153
|
- lib/rubocop/config.rb
|
155
154
|
- lib/rubocop/config_store.rb
|
@@ -158,6 +157,7 @@ files:
|
|
158
157
|
- lib/rubocop/cop/corrector.rb
|
159
158
|
- lib/rubocop/cop/lint/assignment_in_condition.rb
|
160
159
|
- lib/rubocop/cop/lint/block_alignment.rb
|
160
|
+
- lib/rubocop/cop/lint/debugger.rb
|
161
161
|
- lib/rubocop/cop/lint/empty_ensure.rb
|
162
162
|
- lib/rubocop/cop/lint/end_alignment.rb
|
163
163
|
- lib/rubocop/cop/lint/end_in_method.rb
|
@@ -169,6 +169,7 @@ files:
|
|
169
169
|
- lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb
|
170
170
|
- lib/rubocop/cop/lint/rescue_exception.rb
|
171
171
|
- lib/rubocop/cop/lint/shadowing_outer_local_variable.rb
|
172
|
+
- lib/rubocop/cop/lint/syntax.rb
|
172
173
|
- lib/rubocop/cop/lint/unreachable_code.rb
|
173
174
|
- lib/rubocop/cop/lint/useless_assignment.rb
|
174
175
|
- lib/rubocop/cop/lint/useless_comparison.rb
|
@@ -196,11 +197,13 @@ files:
|
|
196
197
|
- lib/rubocop/cop/style/case_indentation.rb
|
197
198
|
- lib/rubocop/cop/style/character_literal.rb
|
198
199
|
- lib/rubocop/cop/style/class_and_module_camel_case.rb
|
200
|
+
- lib/rubocop/cop/style/class_length.rb
|
199
201
|
- lib/rubocop/cop/style/class_methods.rb
|
200
202
|
- lib/rubocop/cop/style/class_vars.rb
|
201
203
|
- lib/rubocop/cop/style/collection_methods.rb
|
202
204
|
- lib/rubocop/cop/style/colon_method_call.rb
|
203
205
|
- lib/rubocop/cop/style/comment_annotation.rb
|
206
|
+
- lib/rubocop/cop/style/configurable_naming.rb
|
204
207
|
- lib/rubocop/cop/style/constant_name.rb
|
205
208
|
- lib/rubocop/cop/style/def_parentheses.rb
|
206
209
|
- lib/rubocop/cop/style/documentation.rb
|
@@ -228,9 +231,10 @@ files:
|
|
228
231
|
- lib/rubocop/cop/style/lambda_call.rb
|
229
232
|
- lib/rubocop/cop/style/leading_comment_space.rb
|
230
233
|
- lib/rubocop/cop/style/line_length.rb
|
231
|
-
- lib/rubocop/cop/style/method_and_variable_snake_case.rb
|
232
234
|
- lib/rubocop/cop/style/method_call_parentheses.rb
|
235
|
+
- lib/rubocop/cop/style/method_called_on_do_end_block.rb
|
233
236
|
- lib/rubocop/cop/style/method_length.rb
|
237
|
+
- lib/rubocop/cop/style/method_name.rb
|
234
238
|
- lib/rubocop/cop/style/module_function.rb
|
235
239
|
- lib/rubocop/cop/style/multiline_block_chain.rb
|
236
240
|
- lib/rubocop/cop/style/multiline_if_then.rb
|
@@ -243,8 +247,10 @@ files:
|
|
243
247
|
- lib/rubocop/cop/style/parentheses_around_condition.rb
|
244
248
|
- lib/rubocop/cop/style/perl_backrefs.rb
|
245
249
|
- lib/rubocop/cop/style/proc.rb
|
250
|
+
- lib/rubocop/cop/style/raise_args.rb
|
246
251
|
- lib/rubocop/cop/style/reduce_arguments.rb
|
247
252
|
- lib/rubocop/cop/style/redundant_begin.rb
|
253
|
+
- lib/rubocop/cop/style/redundant_exception.rb
|
248
254
|
- lib/rubocop/cop/style/redundant_return.rb
|
249
255
|
- lib/rubocop/cop/style/redundant_self.rb
|
250
256
|
- lib/rubocop/cop/style/regexp_literal.rb
|
@@ -269,6 +275,7 @@ files:
|
|
269
275
|
- lib/rubocop/cop/style/trivial_accessors.rb
|
270
276
|
- lib/rubocop/cop/style/unless_else.rb
|
271
277
|
- lib/rubocop/cop/style/variable_interpolation.rb
|
278
|
+
- lib/rubocop/cop/style/variable_name.rb
|
272
279
|
- lib/rubocop/cop/style/when_then.rb
|
273
280
|
- lib/rubocop/cop/style/while_until_do.rb
|
274
281
|
- lib/rubocop/cop/style/word_array.rb
|
@@ -291,6 +298,7 @@ files:
|
|
291
298
|
- lib/rubocop/formatter/offence_count_formatter.rb
|
292
299
|
- lib/rubocop/formatter/progress_formatter.rb
|
293
300
|
- lib/rubocop/formatter/simple_text_formatter.rb
|
301
|
+
- lib/rubocop/options.rb
|
294
302
|
- lib/rubocop/processed_source.rb
|
295
303
|
- lib/rubocop/rake_task.rb
|
296
304
|
- lib/rubocop/source_parser.rb
|
@@ -308,6 +316,7 @@ files:
|
|
308
316
|
- spec/rubocop/cop/corrector_spec.rb
|
309
317
|
- spec/rubocop/cop/lint/assignment_in_condition_spec.rb
|
310
318
|
- spec/rubocop/cop/lint/block_alignment_spec.rb
|
319
|
+
- spec/rubocop/cop/lint/debugger_spec.rb
|
311
320
|
- spec/rubocop/cop/lint/empty_ensure_spec.rb
|
312
321
|
- spec/rubocop/cop/lint/end_alignment_spec.rb
|
313
322
|
- spec/rubocop/cop/lint/end_in_method_spec.rb
|
@@ -319,6 +328,7 @@ files:
|
|
319
328
|
- spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb
|
320
329
|
- spec/rubocop/cop/lint/rescue_exception_spec.rb
|
321
330
|
- spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb
|
331
|
+
- spec/rubocop/cop/lint/syntax_spec.rb
|
322
332
|
- spec/rubocop/cop/lint/unreachable_code_spec.rb
|
323
333
|
- spec/rubocop/cop/lint/useless_assignment_spec.rb
|
324
334
|
- spec/rubocop/cop/lint/useless_comparison_spec.rb
|
@@ -345,6 +355,7 @@ files:
|
|
345
355
|
- spec/rubocop/cop/style/case_indentation_spec.rb
|
346
356
|
- spec/rubocop/cop/style/character_literal_spec.rb
|
347
357
|
- spec/rubocop/cop/style/class_and_module_camel_case_spec.rb
|
358
|
+
- spec/rubocop/cop/style/class_length_spec.rb
|
348
359
|
- spec/rubocop/cop/style/class_methods_spec.rb
|
349
360
|
- spec/rubocop/cop/style/class_vars_spec.rb
|
350
361
|
- spec/rubocop/cop/style/collection_methods_spec.rb
|
@@ -378,9 +389,10 @@ files:
|
|
378
389
|
- spec/rubocop/cop/style/lambda_spec.rb
|
379
390
|
- spec/rubocop/cop/style/leading_comment_space_spec.rb
|
380
391
|
- spec/rubocop/cop/style/line_length_spec.rb
|
381
|
-
- spec/rubocop/cop/style/method_and_variable_snake_case_spec.rb
|
382
392
|
- spec/rubocop/cop/style/method_call_parentheses_spec.rb
|
393
|
+
- spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
|
383
394
|
- spec/rubocop/cop/style/method_length_spec.rb
|
395
|
+
- spec/rubocop/cop/style/method_name_spec.rb
|
384
396
|
- spec/rubocop/cop/style/module_function_spec.rb
|
385
397
|
- spec/rubocop/cop/style/multiline_block_chain_spec.rb
|
386
398
|
- spec/rubocop/cop/style/multiline_if_then_spec.rb
|
@@ -393,8 +405,10 @@ files:
|
|
393
405
|
- spec/rubocop/cop/style/parentheses_around_condition_spec.rb
|
394
406
|
- spec/rubocop/cop/style/perl_backrefs_spec.rb
|
395
407
|
- spec/rubocop/cop/style/proc_spec.rb
|
408
|
+
- spec/rubocop/cop/style/raise_args_spec.rb
|
396
409
|
- spec/rubocop/cop/style/reduce_arguments_spec.rb
|
397
410
|
- spec/rubocop/cop/style/redundant_begin_spec.rb
|
411
|
+
- spec/rubocop/cop/style/redundant_exception_spec.rb
|
398
412
|
- spec/rubocop/cop/style/redundant_return_spec.rb
|
399
413
|
- spec/rubocop/cop/style/redundant_self_spec.rb
|
400
414
|
- spec/rubocop/cop/style/regexp_literal_spec.rb
|
@@ -425,6 +439,7 @@ files:
|
|
425
439
|
- spec/rubocop/cop/style/trivial_accessors_spec.rb
|
426
440
|
- spec/rubocop/cop/style/unless_else_spec.rb
|
427
441
|
- spec/rubocop/cop/style/variable_interpolation_spec.rb
|
442
|
+
- spec/rubocop/cop/style/variable_name_spec.rb
|
428
443
|
- spec/rubocop/cop/style/when_then_spec.rb
|
429
444
|
- spec/rubocop/cop/style/while_until_do_spec.rb
|
430
445
|
- spec/rubocop/cop/style/word_array_spec.rb
|
@@ -445,6 +460,7 @@ files:
|
|
445
460
|
- spec/rubocop/formatter/offence_count_formatter_spec.rb
|
446
461
|
- spec/rubocop/formatter/progress_formatter_spec.rb
|
447
462
|
- spec/rubocop/formatter/simple_text_formatter_spec.rb
|
463
|
+
- spec/rubocop/options_spec.rb
|
448
464
|
- spec/rubocop/processed_source_spec.rb
|
449
465
|
- spec/rubocop/source_parser_spec.rb
|
450
466
|
- spec/rubocop/target_finder_spec.rb
|
@@ -491,6 +507,7 @@ test_files:
|
|
491
507
|
- spec/rubocop/cop/corrector_spec.rb
|
492
508
|
- spec/rubocop/cop/lint/assignment_in_condition_spec.rb
|
493
509
|
- spec/rubocop/cop/lint/block_alignment_spec.rb
|
510
|
+
- spec/rubocop/cop/lint/debugger_spec.rb
|
494
511
|
- spec/rubocop/cop/lint/empty_ensure_spec.rb
|
495
512
|
- spec/rubocop/cop/lint/end_alignment_spec.rb
|
496
513
|
- spec/rubocop/cop/lint/end_in_method_spec.rb
|
@@ -502,6 +519,7 @@ test_files:
|
|
502
519
|
- spec/rubocop/cop/lint/parentheses_as_grouped_expression_spec.rb
|
503
520
|
- spec/rubocop/cop/lint/rescue_exception_spec.rb
|
504
521
|
- spec/rubocop/cop/lint/shadowing_outer_local_variable_spec.rb
|
522
|
+
- spec/rubocop/cop/lint/syntax_spec.rb
|
505
523
|
- spec/rubocop/cop/lint/unreachable_code_spec.rb
|
506
524
|
- spec/rubocop/cop/lint/useless_assignment_spec.rb
|
507
525
|
- spec/rubocop/cop/lint/useless_comparison_spec.rb
|
@@ -528,6 +546,7 @@ test_files:
|
|
528
546
|
- spec/rubocop/cop/style/case_indentation_spec.rb
|
529
547
|
- spec/rubocop/cop/style/character_literal_spec.rb
|
530
548
|
- spec/rubocop/cop/style/class_and_module_camel_case_spec.rb
|
549
|
+
- spec/rubocop/cop/style/class_length_spec.rb
|
531
550
|
- spec/rubocop/cop/style/class_methods_spec.rb
|
532
551
|
- spec/rubocop/cop/style/class_vars_spec.rb
|
533
552
|
- spec/rubocop/cop/style/collection_methods_spec.rb
|
@@ -561,9 +580,10 @@ test_files:
|
|
561
580
|
- spec/rubocop/cop/style/lambda_spec.rb
|
562
581
|
- spec/rubocop/cop/style/leading_comment_space_spec.rb
|
563
582
|
- spec/rubocop/cop/style/line_length_spec.rb
|
564
|
-
- spec/rubocop/cop/style/method_and_variable_snake_case_spec.rb
|
565
583
|
- spec/rubocop/cop/style/method_call_parentheses_spec.rb
|
584
|
+
- spec/rubocop/cop/style/method_called_on_do_end_block_spec.rb
|
566
585
|
- spec/rubocop/cop/style/method_length_spec.rb
|
586
|
+
- spec/rubocop/cop/style/method_name_spec.rb
|
567
587
|
- spec/rubocop/cop/style/module_function_spec.rb
|
568
588
|
- spec/rubocop/cop/style/multiline_block_chain_spec.rb
|
569
589
|
- spec/rubocop/cop/style/multiline_if_then_spec.rb
|
@@ -576,8 +596,10 @@ test_files:
|
|
576
596
|
- spec/rubocop/cop/style/parentheses_around_condition_spec.rb
|
577
597
|
- spec/rubocop/cop/style/perl_backrefs_spec.rb
|
578
598
|
- spec/rubocop/cop/style/proc_spec.rb
|
599
|
+
- spec/rubocop/cop/style/raise_args_spec.rb
|
579
600
|
- spec/rubocop/cop/style/reduce_arguments_spec.rb
|
580
601
|
- spec/rubocop/cop/style/redundant_begin_spec.rb
|
602
|
+
- spec/rubocop/cop/style/redundant_exception_spec.rb
|
581
603
|
- spec/rubocop/cop/style/redundant_return_spec.rb
|
582
604
|
- spec/rubocop/cop/style/redundant_self_spec.rb
|
583
605
|
- spec/rubocop/cop/style/regexp_literal_spec.rb
|
@@ -608,6 +630,7 @@ test_files:
|
|
608
630
|
- spec/rubocop/cop/style/trivial_accessors_spec.rb
|
609
631
|
- spec/rubocop/cop/style/unless_else_spec.rb
|
610
632
|
- spec/rubocop/cop/style/variable_interpolation_spec.rb
|
633
|
+
- spec/rubocop/cop/style/variable_name_spec.rb
|
611
634
|
- spec/rubocop/cop/style/when_then_spec.rb
|
612
635
|
- spec/rubocop/cop/style/while_until_do_spec.rb
|
613
636
|
- spec/rubocop/cop/style/word_array_spec.rb
|
@@ -628,6 +651,7 @@ test_files:
|
|
628
651
|
- spec/rubocop/formatter/offence_count_formatter_spec.rb
|
629
652
|
- spec/rubocop/formatter/progress_formatter_spec.rb
|
630
653
|
- spec/rubocop/formatter/simple_text_formatter_spec.rb
|
654
|
+
- spec/rubocop/options_spec.rb
|
631
655
|
- spec/rubocop/processed_source_spec.rb
|
632
656
|
- spec/rubocop/source_parser_spec.rb
|
633
657
|
- spec/rubocop/target_finder_spec.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# rubocop:disable LineLength
|
4
|
-
# rubocop:disable BlockNesting
|
5
|
-
|
6
|
-
unless Array.method_defined? :bsearch
|
7
|
-
# Backport of Array#bsearch from Ruby 2.0.
|
8
|
-
# Needed to boost Parser's performance under Ruby 1.9.
|
9
|
-
class Array
|
10
|
-
def bsearch
|
11
|
-
return to_enum(__method__) unless block_given?
|
12
|
-
from = 0
|
13
|
-
to = size - 1
|
14
|
-
satisfied = nil
|
15
|
-
while from <= to
|
16
|
-
midpoint = (from + to).div(2)
|
17
|
-
result = yield(cur = self[midpoint])
|
18
|
-
case result
|
19
|
-
when Numeric
|
20
|
-
return cur if result == 0
|
21
|
-
result = result < 0
|
22
|
-
when true
|
23
|
-
satisfied = cur
|
24
|
-
when nil, false
|
25
|
-
# nothing to do
|
26
|
-
else
|
27
|
-
fail TypeError, "wrong argument type #{result.class} (must be numeric, true, false or nil)"
|
28
|
-
end
|
29
|
-
|
30
|
-
if result
|
31
|
-
to = midpoint - 1
|
32
|
-
else
|
33
|
-
from = midpoint + 1
|
34
|
-
end
|
35
|
-
end
|
36
|
-
satisfied
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,77 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Rubocop
|
4
|
-
module Cop
|
5
|
-
module Style
|
6
|
-
# This cop makes sure that all methods and variables use
|
7
|
-
# snake_case for their names. Some special arrangements have to be
|
8
|
-
# made for operator methods.
|
9
|
-
class MethodAndVariableSnakeCase < Cop
|
10
|
-
MSG = 'Use snake_case for methods and variables.'
|
11
|
-
SNAKE_CASE = /^@?[\da-z_]+[!?=]?$/
|
12
|
-
|
13
|
-
def investigate(processed_source)
|
14
|
-
ast = processed_source.ast
|
15
|
-
return unless ast
|
16
|
-
on_node([:def, :defs, :lvasgn, :ivasgn, :send], ast) do |n|
|
17
|
-
range = case n.type
|
18
|
-
when :def then name_of_instance_method(n)
|
19
|
-
when :defs then name_of_singleton_method(n)
|
20
|
-
when :lvasgn, :ivasgn then name_of_variable(n)
|
21
|
-
when :send then name_of_setter(n)
|
22
|
-
end
|
23
|
-
|
24
|
-
next unless range
|
25
|
-
name = range.source.to_sym
|
26
|
-
next if name =~ SNAKE_CASE || OPERATOR_METHODS.include?(name)
|
27
|
-
|
28
|
-
convention(n, range)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def name_of_instance_method(def_node)
|
33
|
-
expr = def_node.loc.expression
|
34
|
-
match = /^def(\s+)([\w]+[!?=]?\b)/.match(expr.source)
|
35
|
-
return unless match
|
36
|
-
space, method_name = match.captures
|
37
|
-
begin_pos = expr.begin_pos + 'def'.length + space.length
|
38
|
-
Parser::Source::Range.new(expr.source_buffer, begin_pos,
|
39
|
-
begin_pos + method_name.length)
|
40
|
-
end
|
41
|
-
|
42
|
-
def name_of_singleton_method(defs_node)
|
43
|
-
scope, method_name, _args, _body = *defs_node
|
44
|
-
after_dot(defs_node, method_name.length,
|
45
|
-
"def\s+" + Regexp.escape(scope.loc.expression.source))
|
46
|
-
end
|
47
|
-
|
48
|
-
def name_of_variable(vasgn_node)
|
49
|
-
expr = vasgn_node.loc.expression
|
50
|
-
name = vasgn_node.children.first
|
51
|
-
Parser::Source::Range.new(expr.source_buffer, expr.begin_pos,
|
52
|
-
expr.begin_pos + name.length)
|
53
|
-
end
|
54
|
-
|
55
|
-
def name_of_setter(send_node)
|
56
|
-
receiver, method_name = *send_node
|
57
|
-
return unless receiver && receiver.type == :self
|
58
|
-
return unless method_name.to_s.end_with?('=')
|
59
|
-
after_dot(send_node, method_name.length - '='.length,
|
60
|
-
Regexp.escape(receiver.loc.expression.source))
|
61
|
-
end
|
62
|
-
|
63
|
-
# Returns a range containing the method name after the given regexp and
|
64
|
-
# a dot.
|
65
|
-
def after_dot(node, method_name_length, regexp)
|
66
|
-
expr = node.loc.expression
|
67
|
-
match = /\A#{regexp}\s*\.\s*/.match(expr.source)
|
68
|
-
return unless match
|
69
|
-
offset = match[0].length
|
70
|
-
begin_pos = expr.begin_pos + offset
|
71
|
-
Parser::Source::Range.new(expr.source_buffer, begin_pos,
|
72
|
-
begin_pos + method_name_length)
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
@@ -1,102 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
module Rubocop
|
6
|
-
module Cop
|
7
|
-
module Style
|
8
|
-
describe MethodAndVariableSnakeCase do
|
9
|
-
subject(:cop) { described_class.new }
|
10
|
-
|
11
|
-
it 'registers an offence for camel case in instance method name' do
|
12
|
-
inspect_source(cop, ['def myMethod',
|
13
|
-
' # ...',
|
14
|
-
'end'])
|
15
|
-
expect(cop.offences).to have(1).item
|
16
|
-
expect(cop.highlights).to eq(['myMethod'])
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'registers an offence for camel case in singleton method name' do
|
20
|
-
inspect_source(cop, ['def self.myMethod',
|
21
|
-
' # ...',
|
22
|
-
'end'])
|
23
|
-
expect(cop.offences).to have(1).item
|
24
|
-
expect(cop.highlights).to eq(['myMethod'])
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'registers an offence for camel case in local variable name' do
|
28
|
-
inspect_source(cop, 'myLocal = 1')
|
29
|
-
expect(cop.offences).to have(1).item
|
30
|
-
expect(cop.highlights).to eq(['myLocal'])
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'registers an offence for camel case in instance variable name' do
|
34
|
-
inspect_source(cop, '@myAttribute = 3')
|
35
|
-
expect(cop.offences).to have(1).item
|
36
|
-
expect(cop.highlights).to eq(['@myAttribute'])
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'registers an offence for camel case in setter name' do
|
40
|
-
inspect_source(cop, 'self.mySetter = 2')
|
41
|
-
expect(cop.offences).to have(1).item
|
42
|
-
expect(cop.highlights).to eq(['mySetter'])
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'registers an offence for capitalized camel case' do
|
46
|
-
inspect_source(cop, ['def MyMethod',
|
47
|
-
'end'])
|
48
|
-
expect(cop.offences).to have(1).item
|
49
|
-
expect(cop.highlights).to eq(['MyMethod'])
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'accepts snake case in names' do
|
53
|
-
inspect_source(cop, ['def my_method',
|
54
|
-
' my_local_html = 1',
|
55
|
-
' self.my_setter = 2',
|
56
|
-
' @my_attribute = 3',
|
57
|
-
'end'])
|
58
|
-
expect(cop.offences).to be_empty
|
59
|
-
end
|
60
|
-
|
61
|
-
it 'registers an offence for mixed snake case and camel case' do
|
62
|
-
inspect_source(cop, ['def visit_Arel_Nodes_SelectStatement',
|
63
|
-
'end'])
|
64
|
-
expect(cop.offences).to have(1).item
|
65
|
-
expect(cop.highlights).to eq(['visit_Arel_Nodes_SelectStatement'])
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'accepts screaming snake case globals' do
|
69
|
-
inspect_source(cop, '$MY_GLOBAL = 0')
|
70
|
-
expect(cop.offences).to be_empty
|
71
|
-
end
|
72
|
-
|
73
|
-
it 'accepts screaming snake case constants' do
|
74
|
-
inspect_source(cop, 'MY_CONSTANT = 0')
|
75
|
-
expect(cop.offences).to be_empty
|
76
|
-
end
|
77
|
-
|
78
|
-
it 'accepts assigning to camel case constant' do
|
79
|
-
inspect_source(cop, 'Paren = Struct.new :left, :right, :kind')
|
80
|
-
expect(cop.offences).to be_empty
|
81
|
-
end
|
82
|
-
|
83
|
-
it 'accepts one line methods' do
|
84
|
-
inspect_source(cop, "def body; '' end")
|
85
|
-
expect(cop.offences).to be_empty
|
86
|
-
end
|
87
|
-
|
88
|
-
it 'accepts operator definitions' do
|
89
|
-
inspect_source(cop, ['def +(other)',
|
90
|
-
' # ...',
|
91
|
-
'end'])
|
92
|
-
expect(cop.offences).to be_empty
|
93
|
-
end
|
94
|
-
|
95
|
-
it 'accepts assignment with indexing of self' do
|
96
|
-
inspect_source(cop, 'self[:a] = b')
|
97
|
-
expect(cop.offences).to be_empty
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|