Module: RuboCop::Cop::SpaceInside
- Includes:
- SurroundingSpace
- Defined in:
- lib/rubocop/cop/mixin/space_inside.rb
Overview
Common functionality for checking for spaces inside various kinds of brackets.
Defined Under Namespace
Classes: Brackets
Constant Summary collapse
- MSG =
'Space inside %s detected.'
Instance Method Summary collapse
Methods included from SurroundingSpace
#index_of_first_token, #index_of_last_token, #space_between?, #token_table
Instance Method Details
#autocorrect(range) ⇒ Object
29 30 31 |
# File 'lib/rubocop/cop/mixin/space_inside.rb', line 29 def autocorrect(range) @corrections << ->(corrector) { corrector.remove(range) } end |
#investigate(processed_source) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/rubocop/cop/mixin/space_inside.rb', line 11 def investigate(processed_source) @processed_source = processed_source brackets = Brackets.new(*specifics) processed_source.tokens.each_cons(2) do |t1, t2| next unless brackets.left_side?(t1) || brackets.right_side?(t2) # If the second token is a comment, that means that a line break # follows, and that the rules for space inside don't apply. next if t2.type == :tCOMMENT next unless t2.pos.line == t1.pos.line && space_between?(t1, t2) range = Parser::Source::Range.new(processed_source.buffer, t1.pos.end_pos, t2.pos.begin_pos) add_offense(range, range, format(MSG, brackets.kind)) end end |