Sha256: 97a552c018e1402a281c777ffdabd2f05975d59332aeeacc6de2837b9225a5ec

Contents?: true

Size: 728 Bytes

Versions: 4

Compression:

Stored size: 728 Bytes

Contents

# frozen_string_literal: true

module RuboCop
  module Cop
    module Style
      # This cop checks for `when;` uses in `case` expressions.
      #
      # @example
      #   # bad
      #   case foo
      #   when 1; 'baz'
      #   when 2; 'bar'
      #   end
      #
      #   # good
      #   case foo
      #   when 1 then 'baz'
      #   when 2 then 'bar'
      #   end
      class WhenThen < Base
        extend AutoCorrector

        MSG = 'Do not use `when x;`. Use `when x then` instead.'

        def on_when(node)
          return if node.multiline? || node.then? || !node.body

          add_offense(node.loc.begin) { |corrector| corrector.replace(node.loc.begin, ' then') }
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
rubocop-1.15.0 lib/rubocop/cop/style/when_then.rb
cocRb-0.1.0 .bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/when_then.rb
rubocop-1.14.0 lib/rubocop/cop/style/when_then.rb
rubocop-1.13.0 lib/rubocop/cop/style/when_then.rb