tailor 1.3.1 → 1.4.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/.travis.yml +1 -0
- data/Gemfile.lock +27 -25
- data/History.md +36 -0
- data/README.md +10 -4
- data/Rakefile +6 -6
- data/features/support/env.rb +2 -2
- data/features/support/legacy/bad_ternary_colon_spacing.rb +1 -1
- data/features/support/legacy/long_file_with_indentation.rb +2 -2
- data/features/support/world.rb +1 -1
- data/features/valid_ruby.feature +1 -1
- data/lib/tailor/cli/options.rb +19 -1
- data/lib/tailor/configuration.rb +2 -2
- data/lib/tailor/configuration/style.rb +6 -0
- data/lib/tailor/lexed_line.rb +2 -2
- data/lib/tailor/lexer/lexer_constants.rb +1 -0
- data/lib/tailor/lexer/token.rb +2 -2
- data/lib/tailor/logger.rb +2 -2
- data/lib/tailor/rake_task.rb +2 -2
- data/lib/tailor/ruler.rb +0 -1
- data/lib/tailor/rulers/allow_camel_case_methods_ruler.rb +0 -1
- data/lib/tailor/rulers/allow_conditional_parentheses.rb +65 -0
- data/lib/tailor/rulers/allow_unnecessary_double_quotes_ruler.rb +61 -0
- data/lib/tailor/rulers/allow_unnecessary_interpolation_ruler.rb +87 -0
- data/lib/tailor/rulers/indentation_spaces_ruler.rb +40 -50
- data/lib/tailor/rulers/indentation_spaces_ruler/argument_alignment.rb +63 -0
- data/lib/tailor/rulers/indentation_spaces_ruler/ast_xml.rb +89 -0
- data/lib/tailor/rulers/indentation_spaces_ruler/indentation_manager.rb +2 -14
- data/lib/tailor/rulers/indentation_spaces_ruler/line_continuations.rb +58 -0
- data/lib/tailor/rulers/max_code_lines_in_class_ruler.rb +3 -3
- data/lib/tailor/rulers/max_code_lines_in_method_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_after_comma_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_after_conditional_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_after_lbrace_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_after_lbracket_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_after_lparen_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_before_comma_ruler.rb +3 -3
- data/lib/tailor/rulers/spaces_before_rbrace_ruler.rb +2 -2
- data/lib/tailor/rulers/spaces_in_empty_braces_ruler.rb +2 -2
- data/lib/tailor/tailorrc.erb +28 -0
- data/lib/tailor/version.rb +1 -1
- data/spec/functional/conditional_parentheses_spec.rb +325 -0
- data/spec/functional/conditional_spacing_spec.rb +66 -42
- data/spec/functional/configuration_spec.rb +1 -1
- data/spec/functional/horizontal_spacing/braces_spec.rb +10 -9
- data/spec/functional/horizontal_spacing/hard_tabs_spec.rb +4 -4
- data/spec/functional/horizontal_spacing_spec.rb +5 -5
- data/spec/functional/indentation_spacing/argument_alignment_spec.rb +511 -0
- data/spec/functional/indentation_spacing/line_continuations_spec.rb +181 -0
- data/spec/functional/indentation_spacing_spec.rb +17 -0
- data/spec/functional/string_interpolation_spec.rb +117 -0
- data/spec/functional/string_quoting_spec.rb +97 -0
- data/spec/functional/vertical_spacing/class_length_spec.rb +1 -1
- data/spec/spec_helper.rb +8 -2
- data/spec/support/argument_alignment_cases.rb +93 -0
- data/spec/support/bad_indentation_cases.rb +20 -20
- data/spec/support/conditional_parentheses_cases.rb +60 -0
- data/spec/support/good_indentation_cases.rb +31 -31
- data/spec/support/horizontal_spacing_cases.rb +1 -1
- data/spec/support/line_indentation_cases.rb +71 -0
- data/spec/support/string_interpolation_cases.rb +45 -0
- data/spec/support/string_quoting_cases.rb +25 -0
- data/spec/unit/tailor/configuration/file_set_spec.rb +3 -3
- data/spec/unit/tailor/configuration/style_spec.rb +24 -21
- data/spec/unit/tailor/configuration_spec.rb +4 -1
- data/spec/unit/tailor/formatter_spec.rb +10 -10
- data/spec/unit/tailor/reporter_spec.rb +0 -1
- data/spec/unit/tailor/rulers/indentation_spaces_ruler/indentation_manager_spec.rb +0 -11
- data/spec/unit/tailor/rulers/indentation_spaces_ruler_spec.rb +1 -1
- data/spec/unit/tailor/version_spec.rb +1 -1
- data/tailor.gemspec +1 -0
- metadata +72 -33
- data/.infinity_test +0 -4
@@ -0,0 +1,181 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../../support/line_indentation_cases'
|
3
|
+
require 'tailor/critic'
|
4
|
+
require 'tailor/configuration/style'
|
5
|
+
|
6
|
+
describe 'Line continuation indentation' do
|
7
|
+
def file_name
|
8
|
+
self.class.description
|
9
|
+
end
|
10
|
+
|
11
|
+
def contents
|
12
|
+
LINE_INDENT[file_name] || begin
|
13
|
+
raise "Example not found: #{file_name}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
before do
|
18
|
+
Tailor::Logger.stub(:log)
|
19
|
+
FakeFS.activate!
|
20
|
+
FileUtils.touch file_name
|
21
|
+
File.open(file_name, 'w') { |f| f.write contents }
|
22
|
+
end
|
23
|
+
|
24
|
+
let(:critic) { Tailor::Critic.new }
|
25
|
+
|
26
|
+
let(:style) do
|
27
|
+
style = Tailor::Configuration::Style.new
|
28
|
+
style.trailing_newlines 0, level: :off
|
29
|
+
style.allow_invalid_ruby true, level: :off
|
30
|
+
style.allow_unnecessary_double_quotes true, level: :off
|
31
|
+
|
32
|
+
style
|
33
|
+
end
|
34
|
+
|
35
|
+
context :line_continues_further_indented do
|
36
|
+
|
37
|
+
it 'warns when line continuation spacing is not specified' do
|
38
|
+
critic.check_file(file_name, style.to_hash)
|
39
|
+
expect(critic.problems[file_name]).to eql [{
|
40
|
+
type: 'indentation_spaces',
|
41
|
+
line: 2,
|
42
|
+
column: 4,
|
43
|
+
message: "Line is indented to column 4, but should be at 2.",
|
44
|
+
level: :error
|
45
|
+
}]
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'warns when line continuation spacing is disabled' do
|
49
|
+
style.indentation_spaces 2, level: :error, line_continuations: :off
|
50
|
+
critic.check_file(file_name, style.to_hash)
|
51
|
+
expect(critic.problems[file_name]).to eql [{
|
52
|
+
type: 'indentation_spaces',
|
53
|
+
line: 2,
|
54
|
+
column: 4,
|
55
|
+
message: "Line is indented to column 4, but should be at 2.",
|
56
|
+
level: :error
|
57
|
+
}]
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'does not warn when line continuation spacing is enabled' do
|
61
|
+
style.indentation_spaces 2, level: :error, line_continuations: true
|
62
|
+
critic.check_file(file_name, style.to_hash)
|
63
|
+
expect(critic.problems[file_name]).to be_empty
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
context :line_continues_at_same_indentation do
|
69
|
+
|
70
|
+
it 'does not warn when line continuation spacing is not specified' do
|
71
|
+
critic.check_file(file_name, style.to_hash)
|
72
|
+
expect(critic.problems[file_name]).to be_empty
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'does not warn when line continuation spacing is disabled' do
|
76
|
+
style.indentation_spaces 2, level: :error, line_continuations: :off
|
77
|
+
critic.check_file(file_name, style.to_hash)
|
78
|
+
expect(critic.problems[file_name]).to be_empty
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'warns when line continuation spacing is enabled' do
|
82
|
+
style.indentation_spaces 2, level: :error, line_continuations: true
|
83
|
+
critic.check_file(file_name, style.to_hash)
|
84
|
+
expect(critic.problems[file_name]).to eql [{
|
85
|
+
type: 'indentation_spaces',
|
86
|
+
line: 2,
|
87
|
+
column: 2,
|
88
|
+
message: "Line is indented to column 2, but should be at 4.",
|
89
|
+
level: :error
|
90
|
+
}]
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
context :parameters_continuation_indent_across_lines do
|
96
|
+
it 'warns when line continuation spacing is not specified' do
|
97
|
+
critic.check_file(file_name, style.to_hash)
|
98
|
+
expect(critic.problems[file_name]).to eql [{
|
99
|
+
type: 'indentation_spaces',
|
100
|
+
line: 2,
|
101
|
+
column: 4,
|
102
|
+
message: "Line is indented to column 4, but should be at 2.",
|
103
|
+
level: :error
|
104
|
+
}]
|
105
|
+
end
|
106
|
+
|
107
|
+
it 'warns when line continuation spacing is disabled' do
|
108
|
+
style.indentation_spaces 2, level: :error, line_continuations: :off
|
109
|
+
critic.check_file(file_name, style.to_hash)
|
110
|
+
expect(critic.problems[file_name]).to eql [{
|
111
|
+
type: 'indentation_spaces',
|
112
|
+
line: 2,
|
113
|
+
column: 4,
|
114
|
+
message: "Line is indented to column 4, but should be at 2.",
|
115
|
+
level: :error
|
116
|
+
}]
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'warns when line continuation spacing is enabled' do
|
120
|
+
style.indentation_spaces 2, level: :error, line_continuations: true
|
121
|
+
critic.check_file(file_name, style.to_hash)
|
122
|
+
expect(critic.problems[file_name]).to be_empty
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
context :parameters_no_continuation_indent_across_lines do
|
128
|
+
it 'warns when line continuation spacing is not specified' do
|
129
|
+
critic.check_file(file_name, style.to_hash)
|
130
|
+
expect(critic.problems[file_name]).to be_empty
|
131
|
+
end
|
132
|
+
|
133
|
+
it 'warns when line continuation spacing is disabled' do
|
134
|
+
style.indentation_spaces 2, level: :error, line_continuations: :off
|
135
|
+
critic.check_file(file_name, style.to_hash)
|
136
|
+
expect(critic.problems[file_name]).to be_empty
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'warns when line continuation spacing is enabled' do
|
140
|
+
style.indentation_spaces 2, level: :error, line_continuations: true
|
141
|
+
critic.check_file(file_name, style.to_hash)
|
142
|
+
expect(critic.problems[file_name]).to eql [{
|
143
|
+
type: 'indentation_spaces',
|
144
|
+
line: 2,
|
145
|
+
column: 2,
|
146
|
+
message: "Line is indented to column 2, but should be at 4.",
|
147
|
+
level: :error
|
148
|
+
}]
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
[
|
154
|
+
:hash_spans_lines,
|
155
|
+
:if_else,
|
156
|
+
:line_continues_without_nested_statements,
|
157
|
+
:minitest_test_cases,
|
158
|
+
:nested_blocks,
|
159
|
+
:one_assignment_per_line
|
160
|
+
].each do |never_warns_example|
|
161
|
+
context never_warns_example do
|
162
|
+
|
163
|
+
it 'does not warn when line continuation spacing is not specified' do
|
164
|
+
critic.check_file(file_name, style.to_hash)
|
165
|
+
expect(critic.problems[file_name]).to be_empty
|
166
|
+
end
|
167
|
+
|
168
|
+
it 'does not warn when line continuation spacing is disabled' do
|
169
|
+
style.indentation_spaces 2, level: :error, line_continuations: :off
|
170
|
+
critic.check_file(file_name, style.to_hash)
|
171
|
+
expect(critic.problems[file_name]).to be_empty
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'does not warn when line continuation spacing is enabled' do
|
175
|
+
style.indentation_spaces 2, level: :error, line_continuations: true
|
176
|
+
critic.check_file(file_name, style.to_hash)
|
177
|
+
expect(critic.problems[file_name]).to be_empty
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
181
|
+
end
|
@@ -83,4 +83,21 @@ end}
|
|
83
83
|
pending
|
84
84
|
end
|
85
85
|
end
|
86
|
+
|
87
|
+
context 'block chained on a block' do
|
88
|
+
let(:file_name) { 'block_chain' }
|
89
|
+
|
90
|
+
let(:contents) do
|
91
|
+
%Q{{
|
92
|
+
a: 1
|
93
|
+
}.each do |k, v|
|
94
|
+
puts k, v
|
95
|
+
end}
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'is OK' do
|
99
|
+
critic.check_file(file_name, style.to_hash)
|
100
|
+
critic.problems.should == { file_name => [] }
|
101
|
+
end
|
102
|
+
end
|
86
103
|
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../support/string_interpolation_cases'
|
3
|
+
require 'tailor/critic'
|
4
|
+
require 'tailor/configuration/style'
|
5
|
+
|
6
|
+
describe 'String interpolation cases' do
|
7
|
+
def file_name
|
8
|
+
self.class.description
|
9
|
+
end
|
10
|
+
|
11
|
+
def contents
|
12
|
+
INTERPOLATION[file_name] || begin
|
13
|
+
raise "Example not found: #{file_name}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
before do
|
18
|
+
Tailor::Logger.stub(:log)
|
19
|
+
FakeFS.activate!
|
20
|
+
FileUtils.touch file_name
|
21
|
+
File.open(file_name, 'w') { |f| f.write contents }
|
22
|
+
end
|
23
|
+
|
24
|
+
let(:critic) { Tailor::Critic.new }
|
25
|
+
|
26
|
+
let(:style) do
|
27
|
+
style = Tailor::Configuration::Style.new
|
28
|
+
style.trailing_newlines 0, level: :off
|
29
|
+
style.allow_invalid_ruby true, level: :off
|
30
|
+
style.allow_unnecessary_double_quotes true, level: :off
|
31
|
+
|
32
|
+
style
|
33
|
+
end
|
34
|
+
|
35
|
+
context :one_variable_interpolated_only do
|
36
|
+
it 'warns when interpolation is used unnecessarily' do
|
37
|
+
critic.check_file(file_name, style.to_hash)
|
38
|
+
expect(critic.problems[file_name]).to eql [{
|
39
|
+
type: 'unnecessary_string_interpolation',
|
40
|
+
line: 1,
|
41
|
+
column: 6,
|
42
|
+
message: 'Variable interpolated unnecessarily',
|
43
|
+
level: :warn
|
44
|
+
}]
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context :mixed_content_and_expression do
|
49
|
+
it 'does not warn' do
|
50
|
+
critic.check_file(file_name, style.to_hash)
|
51
|
+
expect(critic.problems[file_name]).to be_empty
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context :no_string do
|
56
|
+
it 'does not warn' do
|
57
|
+
critic.check_file(file_name, style.to_hash)
|
58
|
+
expect(critic.problems[file_name]).to be_empty
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
context :two_variables do
|
63
|
+
it 'does not warn' do
|
64
|
+
critic.check_file(file_name, style.to_hash)
|
65
|
+
expect(critic.problems[file_name]).to be_empty
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context :two_strings_with_unnecessary_interpolation do
|
70
|
+
it 'warns against both strings' do
|
71
|
+
critic.check_file(file_name, style.to_hash)
|
72
|
+
expect(critic.problems[file_name]).to eql [
|
73
|
+
{
|
74
|
+
type: 'unnecessary_string_interpolation',
|
75
|
+
line: 1,
|
76
|
+
column: 6,
|
77
|
+
message: 'Variable interpolated unnecessarily',
|
78
|
+
level: :warn
|
79
|
+
},
|
80
|
+
{
|
81
|
+
type: 'unnecessary_string_interpolation',
|
82
|
+
line: 1,
|
83
|
+
column: 17,
|
84
|
+
message: 'Variable interpolated unnecessarily',
|
85
|
+
level: :warn
|
86
|
+
}
|
87
|
+
]
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
context :multiline_string_with_unnecessary_interpolation do
|
92
|
+
it 'warns against the first line' do
|
93
|
+
critic.check_file(file_name, style.to_hash)
|
94
|
+
expect(critic.problems[file_name]).to eql [{
|
95
|
+
type: 'unnecessary_string_interpolation',
|
96
|
+
line: 1,
|
97
|
+
column: 6,
|
98
|
+
message: 'Variable interpolated unnecessarily',
|
99
|
+
level: :warn
|
100
|
+
}]
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
context :multiline_word_list do
|
105
|
+
it 'does not warn' do
|
106
|
+
critic.check_file(file_name, style.to_hash)
|
107
|
+
expect(critic.problems[file_name]).to be_empty
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
context :nested_interpolation do
|
112
|
+
it 'does not warn' do
|
113
|
+
critic.check_file(file_name, style.to_hash)
|
114
|
+
expect(critic.problems[file_name]).to be_empty
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative '../support/string_quoting_cases'
|
3
|
+
require 'tailor/critic'
|
4
|
+
require 'tailor/configuration/style'
|
5
|
+
|
6
|
+
describe 'String Quoting' do
|
7
|
+
|
8
|
+
def file_name
|
9
|
+
self.class.description
|
10
|
+
end
|
11
|
+
|
12
|
+
def contents
|
13
|
+
QUOTING[file_name] || begin
|
14
|
+
raise "Example not found: #{file_name}"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
before do
|
19
|
+
Tailor::Logger.stub(:log)
|
20
|
+
FakeFS.activate!
|
21
|
+
FileUtils.touch file_name
|
22
|
+
File.open(file_name, 'w') { |f| f.write contents }
|
23
|
+
end
|
24
|
+
|
25
|
+
let(:critic) { Tailor::Critic.new }
|
26
|
+
|
27
|
+
let(:style) do
|
28
|
+
style = Tailor::Configuration::Style.new
|
29
|
+
style.trailing_newlines 0, level: :off
|
30
|
+
style.allow_invalid_ruby true, level: :off
|
31
|
+
style
|
32
|
+
end
|
33
|
+
|
34
|
+
context :single_quotes_no_interpolation do
|
35
|
+
it 'does not warn' do
|
36
|
+
critic.check_file(file_name, style.to_hash)
|
37
|
+
expect(critic.problems[file_name]).to be_empty
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context :double_quotes_with_interpolation do
|
42
|
+
it 'does not warn' do
|
43
|
+
critic.check_file(file_name, style.to_hash)
|
44
|
+
expect(critic.problems[file_name]).to be_empty
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context :double_quotes_no_interpolation do
|
49
|
+
it 'warns that double quotes are unnecessary' do
|
50
|
+
critic.check_file(file_name, style.to_hash)
|
51
|
+
expect(critic.problems[file_name]).to eql [{
|
52
|
+
type: 'unnecessary_double_quotes',
|
53
|
+
line: 1,
|
54
|
+
column: 6,
|
55
|
+
message: 'Unnecessary double quotes at column 6, expected single quotes.',
|
56
|
+
level: :warn
|
57
|
+
}]
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context :double_quotes_no_interpolation_twice do
|
62
|
+
it 'warns that double quotes are unnecessary' do
|
63
|
+
critic.check_file(file_name, style.to_hash)
|
64
|
+
expect(critic.problems[file_name]).to eql [
|
65
|
+
{
|
66
|
+
type: 'unnecessary_double_quotes',
|
67
|
+
line: 1,
|
68
|
+
column: 6,
|
69
|
+
message: 'Unnecessary double quotes at column 6, expected single quotes.',
|
70
|
+
level: :warn
|
71
|
+
},
|
72
|
+
{
|
73
|
+
type: 'unnecessary_double_quotes',
|
74
|
+
line: 1,
|
75
|
+
column: 14,
|
76
|
+
message: 'Unnecessary double quotes at column 14, expected single quotes.',
|
77
|
+
level: :warn
|
78
|
+
}
|
79
|
+
]
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context :nested_quotes do
|
84
|
+
it 'does not warn' do
|
85
|
+
critic.check_file(file_name, style.to_hash)
|
86
|
+
expect(critic.problems[file_name]).to be_empty
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
context :escape_sequence do
|
91
|
+
it 'does not warn when a double quoted string contains a newline' do
|
92
|
+
critic.check_file(file_name, style.to_hash)
|
93
|
+
expect(critic.problems[file_name]).to be_empty
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -3,6 +3,12 @@ require 'simplecov'
|
|
3
3
|
|
4
4
|
SimpleCov.start
|
5
5
|
|
6
|
-
RSpec.configure do |
|
7
|
-
|
6
|
+
RSpec.configure do |config|
|
7
|
+
config.include FakeFS::SpecHelpers
|
8
|
+
|
9
|
+
# Run specs in random order to surface order dependencies. If you find an
|
10
|
+
# order dependency and want to debug it, you can fix the order by providing
|
11
|
+
# the seed, which is printed after each run.
|
12
|
+
# --seed 1234
|
13
|
+
config.order = 'random'
|
8
14
|
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
ARG_INDENT = {}
|
2
|
+
|
3
|
+
ARG_INDENT['def_no_arguments'] =
|
4
|
+
%q{def foo
|
5
|
+
true
|
6
|
+
end}
|
7
|
+
|
8
|
+
ARG_INDENT['def_arguments_fit_on_one_line'] =
|
9
|
+
%q{def foo(foo, bar, baz)
|
10
|
+
true
|
11
|
+
end}
|
12
|
+
|
13
|
+
ARG_INDENT['def_arguments_aligned'] =
|
14
|
+
%q{def something(waka, baka, bing,
|
15
|
+
bla, goop, foop)
|
16
|
+
stuff
|
17
|
+
end
|
18
|
+
}
|
19
|
+
|
20
|
+
ARG_INDENT['def_arguments_indented'] =
|
21
|
+
%q{def something(waka, baka, bing,
|
22
|
+
bla, goop, foop)
|
23
|
+
stuff
|
24
|
+
end
|
25
|
+
}
|
26
|
+
|
27
|
+
ARG_INDENT['call_no_arguments'] =
|
28
|
+
%q{bla = method()}
|
29
|
+
|
30
|
+
ARG_INDENT['call_arguments_fit_on_one_line'] =
|
31
|
+
%q{bla = method(foo, bar, baz, bing, ding)}
|
32
|
+
|
33
|
+
ARG_INDENT['call_arguments_aligned'] =
|
34
|
+
%q{bla = Something::SomethingElse::SomeClass.method(foo, bar, baz,
|
35
|
+
bing, ding)
|
36
|
+
}
|
37
|
+
|
38
|
+
ARG_INDENT['call_arguments_aligned_args_are_integer_literals'] =
|
39
|
+
%q{bla = Something::SomethingElse::SomeClass.method(1, 2, 3,
|
40
|
+
4, 5)
|
41
|
+
}
|
42
|
+
|
43
|
+
ARG_INDENT['call_arguments_aligned_args_are_string_literals'] =
|
44
|
+
%q{bla = Something::SomethingElse::SomeClass.method('foo', 'bar', 'baz',
|
45
|
+
'bing', 'ding')
|
46
|
+
}
|
47
|
+
|
48
|
+
ARG_INDENT['call_arguments_aligned_args_have_parens'] =
|
49
|
+
%q{bla = Something::SomethingElse::SomeClass.method(foo, bar(), baz,
|
50
|
+
bing, ding)
|
51
|
+
}
|
52
|
+
|
53
|
+
ARG_INDENT['call_arguments_aligned_no_parens'] =
|
54
|
+
%q{bla = Something::SomethingElse::SomeClass.method foo, bar, baz,
|
55
|
+
bing, ding
|
56
|
+
}
|
57
|
+
|
58
|
+
ARG_INDENT['call_arguments_aligned_multiple_lines'] =
|
59
|
+
%q{bla = Something::SomethingElse::SomeClass.method(foo, bar, baz,
|
60
|
+
bing, ding,
|
61
|
+
ginb, gind)
|
62
|
+
}
|
63
|
+
|
64
|
+
ARG_INDENT['call_arguments_indented'] =
|
65
|
+
%q{bla = Something::SomethingElse::SomeClass.method(foo, bar, baz,
|
66
|
+
bing, ding)
|
67
|
+
}
|
68
|
+
|
69
|
+
ARG_INDENT['call_arguments_indented_separate_line'] =
|
70
|
+
%q{bla = Something::SomethingElse::SomeClass.method(
|
71
|
+
foo, bar, baz,
|
72
|
+
bing, ding
|
73
|
+
)}
|
74
|
+
|
75
|
+
ARG_INDENT['call_arguments_on_next_line'] =
|
76
|
+
%q{some_long_method_that_goes_out_to_the_end_of_the_line(
|
77
|
+
foo, bar)
|
78
|
+
}
|
79
|
+
|
80
|
+
ARG_INDENT['call_arguments_on_next_line_nested'] =
|
81
|
+
%q{if some_long_method_that_goes_out_to_the_end_of_the_line(
|
82
|
+
foo, bar)
|
83
|
+
my_nested_expression
|
84
|
+
end}
|
85
|
+
|
86
|
+
ARG_INDENT['call_arguments_on_next_line_multiple'] =
|
87
|
+
%q{some_long_method_that_goes_out_to_the_end_of_the_line(
|
88
|
+
foo, bar)
|
89
|
+
|
90
|
+
if diff_long_method_that_goes_out_to_the_end_of_the_line(
|
91
|
+
foo, bar)
|
92
|
+
my_nested_expression
|
93
|
+
end}
|