Sha256: 3fb16ffc0e7adb400612b1ec97818c91000fd0fd1bda5a55d858c83a30adcfe2

Contents?: true

Size: 1.01 KB

Versions: 15

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require 'rubocop-rspec'
require_relative 'base'

module Gitlab
  module Styles
    module Rubocop
      module Cop
        module RSpec
          # This cop checks for single-line hook blocks
          #
          # @example
          #
          #   # bad
          #   before { do_something }
          #   after(:each) { undo_something }
          #
          #   # good
          #   before do
          #     do_something
          #   end
          #
          #   after(:each) do
          #     undo_something
          #   end
          class SingleLineHook < Base
            MESSAGE = "Don't use single-line hook blocks."

            def_node_search :rspec_hook?, <<~PATTERN
              (send nil? {:after :around :before} ...)
            PATTERN

            def on_block(node)
              return unless node.single_line?
              return unless rspec_hook?(node)

              add_offense(node, message: MESSAGE)
            end
          end
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
gitlab-styles-7.1.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-7.0.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.6.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.5.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.4.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.3.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.2.1 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.2.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.1.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-6.0.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-5.4.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-5.3.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-5.2.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-5.1.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb
gitlab-styles-5.0.0 lib/gitlab/styles/rubocop/cop/rspec/single_line_hook.rb