Sha256: c2afc221c036b0fae9ea6da1ce0c3478d1553a4d2f8c05d3f5971cec27998b92
Contents?: true
Size: 953 Bytes
Versions: 9
Compression:
Stored size: 953 Bytes
Contents
# encoding: utf-8 module RuboCop module Cop module Style # Checks for various control keywords missing a space after them. class SpaceAfterControlKeyword < Cop MSG = 'Use space after control keywords.' # elsif and unless are handled by on_if. KEYWORDS = %w(if case when while until) def on_keyword(node) return if node.loc.is_a?(Parser::Source::Map::Ternary) exp = node.loc.expression kw = node.loc.keyword kw_offset = kw.begin_pos - exp.begin_pos return unless exp.source[kw_offset..-1].start_with?(kw.source + '(') add_offense(node, kw) end KEYWORDS.each do |keyword| define_method(:"on_#{keyword}") do |node| on_keyword(node) end end def autocorrect(node) ->(corrector) { corrector.insert_after(node.loc.keyword, ' ') } end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems