Sha256: 8eb8b3d97bb7f0c737eb84f5ba8702c2fc23d196da4d365e55d7772d5dbd22ff
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true module RuboCop module Cop module RSpec # Checks if there is an empty line after subject block. # # @example # # bad # subject(:obj) { described_class } # let(:foo) { bar } # # # good # subject(:obj) { described_class } # # let(:foo) { bar } class EmptyLineAfterSubject < Cop MSG = 'Add empty line after `subject`.'.freeze def_node_matcher :subject?, Subject::ALL.block_pattern def on_block(node) return unless subject?(node) && !in_spec_block?(node) return if node.equal?(node.parent.children.last) send_line = node.loc.end.line next_line = processed_source[send_line] return if next_line.blank? add_offense(node, location: :expression, message: MSG) end def autocorrect(node) ->(corrector) { corrector.insert_after(node.loc.end, "\n") } end private def in_spec_block?(node) node.each_ancestor(:block).any? do |ancestor| Examples::ALL.include?(ancestor.method_name) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-rspec-1.26.0 | lib/rubocop/cop/rspec/empty_line_after_subject.rb |