Sha256: 2816dc2c64eaa7f3b796bc69cc139c6317873d23381e17325866824608611a95
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
# encoding: utf-8 module Rubocop module Cop module Style # This cop checks for string literal concatenation at # the end of a line. # # @example # # # bad # some_str = 'ala' + # 'bala' # # # good # some_str = 'ala' \ # 'bala' # class LineEndConcatenation < Cop MSG = 'Use \\ instead of + to concatenate those strings.' def on_send(node) add_offence(node, :selector) if offending_node?(node) end def autocorrect(node) @corrections << lambda do |corrector| # replace + with \ corrector.replace(node.loc.selector, '\\') end end private def offending_node?(node) receiver, method, arg = *node # TODO: Report Emacs bug. return false unless :+ == method return false unless receiver.type == :str return false unless arg.type == :str receiver_line = receiver.loc.expression.line arg_line = arg.loc.expression.line receiver_line != arg_line end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.18.0 | lib/rubocop/cop/style/line_end_concatenation.rb |