module RuboCop::Cop::AllowedReceivers

This module encapsulates the ability to allow certain receivers in a cop.

Public Instance Methods

allowed_receiver?(receiver) click to toggle source
# File lib/rubocop/cop/mixin/allowed_receivers.rb, line 7
def allowed_receiver?(receiver)
  receiver_name = receiver_name(receiver)

  allowed_receivers.include?(receiver_name)
end
allowed_receivers() click to toggle source
# File lib/rubocop/cop/mixin/allowed_receivers.rb, line 29
def allowed_receivers
  cop_config.fetch('AllowedReceivers', [])
end
receiver_name(receiver) click to toggle source
# File lib/rubocop/cop/mixin/allowed_receivers.rb, line 13
def receiver_name(receiver)
  if receiver.receiver && !receiver.receiver.const_type?
    return receiver_name(receiver.receiver)
  end

  if receiver.send_type?
    if receiver.receiver
      "#{receiver_name(receiver.receiver)}.#{receiver.method_name}"
    else
      receiver.method_name.to_s
    end
  else
    receiver.source
  end
end