Class: Rubocop::Cop::Style::IndentationWidth
Overview
This cops checks for indentation that doesn't use two spaces.
class A
def test
puts 'hello'
end
end
Constant Summary
collapse
- CORRECT_INDENTATION =
2
Constants inherited
from Cop
Cop::OPERATOR_METHODS
Constants included
from Util
Util::PROC_NEW_NODE
Instance Attribute Summary
Attributes inherited from Cop
#config, #corrections, #offences, #processed_source
Instance Method Summary
collapse
Methods included from IfNode
#elsif?, #if_else?, #modifier_if?, #ternary_op?
#on_and_asgn, #on_casgn, #on_gvasgn, #on_ivasgn, #on_lvasgn, #on_op_asgn, #on_or_asgn
#on_def, #on_defs
Methods inherited from Cop
#add_offence, all, #autocorrect?, #config_to_allow_offences, #config_to_allow_offences=, #cop_config, cop_name, #cop_name, cop_type, #debug?, #exclude_file?, #exclude_paths, #ignore_node, #include_file?, #include_paths, inherited, #initialize, lint?, #message, non_rails, rails?, #relevant_file?, style?, #support_autocorrect?
Methods included from Util
block_length, command?, comment_line?, const_name, first_part_of_call_chain, lambda?, lambda_or_proc?, line_range, on_node, proc?, range_with_surrounding_space, source_range, strip_quotes
Instance Method Details
#check(node, _method_name, _args, body) ⇒ Object
48
49
50
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 48
def check(node, _method_name, _args, body)
check_indentation(node.loc.keyword, body)
end
|
#on_begin(node) ⇒ Object
22
23
24
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 22
def on_begin(node)
check_consistent(node)
end
|
#on_block(node) ⇒ Object
31
32
33
34
35
36
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 31
def on_block(node)
_method, _args, body = *node
check_indentation(node.loc.end, body)
end
|
#on_case(node) ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 66
def on_case(node)
_condition, *branches = *node
latest_when = nil
branches.compact.each do |b|
if b.type == :when
_condition, body = *b
check_indentation(b.loc.keyword, body)
latest_when = b
else
check_indentation(latest_when.loc.keyword, b)
end
end
end
|
#on_class(node) ⇒ Object
43
44
45
46
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 43
def on_class(node)
_class_name, _base_class, *members = *node
members.each { |m| check_indentation(node.loc.keyword, m) }
end
|
#on_for(node) ⇒ Object
52
53
54
55
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 52
def on_for(node)
_variable, _collection, body = *node
check_indentation(node.loc.keyword, body)
end
|
#on_if(node, offset = 0) ⇒ Object
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 83
def on_if(node, offset = 0)
return if ignored_node?(node)
return if ternary_op?(node)
return if modifier_if?(node)
case node.loc.keyword.source
when 'if' then _condition, body, else_clause = *node
when 'unless' then _condition, else_clause, body = *node
else _condition, body = *node
end
check_if(node, body, else_clause, offset) if body
end
|
#on_kwbegin(node) ⇒ Object
26
27
28
29
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 26
def on_kwbegin(node)
check_indentation(node.loc.end, node.children.first)
check_consistent(node)
end
|
#on_module(node) ⇒ Object
38
39
40
41
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 38
def on_module(node)
_module_name, *members = *node
members.each { |m| check_indentation(node.loc.keyword, m) }
end
|
#on_while(node) ⇒ Object
Also known as:
on_until
57
58
59
60
61
62
|
# File 'lib/rubocop/cop/style/indentation_width.rb', line 57
def on_while(node)
_condition, body = *node
if node.loc.keyword.begin_pos == node.loc.expression.begin_pos
check_indentation(node.loc.keyword, body)
end
end
|