Sha256: 70c1d69685acd046fe3a868099a58d6cd9d9c82be89bb61a68784b56978f4746

Contents?: true

Size: 1020 Bytes

Versions: 6

Compression:

Stored size: 1020 Bytes

Contents

# encoding: utf-8
# frozen_string_literal: true

module RuboCop
  module Cop
    module Rails
      # This cop checks for consistent uses of request.referrer or
      # request.referrer, depending on configuration.
      class RequestReferer < Cop
        include ConfigurableEnforcedStyle

        def on_send(node)
          if offense?(node)
            add_offense(node.source_range, node.source_range, message)
          end
        end

        def autocorrect(node)
          ->(corrector) { corrector.replace(node, "request.#{style}") }
        end

        private

        def offense?(node)
          return false unless node.receiver
          receiver_name = node.receiver.method_name
          receiver_name == :request && node.method_name == wrong_method_name
        end

        def message
          "Use `request.#{style}` instead of `request.#{wrong_method_name}`."
        end

        def wrong_method_name
          style == :referer ? :referrer : :referer
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
fluent-plugin-detect-memb-exceptions-0.0.2 vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/request_referer.rb
fluent-plugin-detect-memb-exceptions-0.0.1 vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/request_referer.rb
rubocop-0.42.0 lib/rubocop/cop/rails/request_referer.rb
rubocop-0.41.2 lib/rubocop/cop/rails/request_referer.rb
rubocop-0.41.1 lib/rubocop/cop/rails/request_referer.rb
rubocop-0.41.0 lib/rubocop/cop/rails/request_referer.rb