123456789_123456789_123456789_123456789_123456789_

Module: RuboCop::Cop::AllowedReceivers

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: lib/rubocop/cop/mixin/allowed_receivers.rb

Overview

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

Instance Method Summary

Instance Method Details

#allowed_receiver?(receiver) ⇒ Boolean

[ GitHub ]

  
# 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

[ GitHub ]

  
# File 'lib/rubocop/cop/mixin/allowed_receivers.rb', line 29

def allowed_receivers
  cop_config.fetch('AllowedReceivers', [])
end

#receiver_name(receiver)

[ GitHub ]

  
# 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