Class: Spoom::Deadcode::Plugins::Rubocop

Inherits:
Base
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/spoom/deadcode/plugins/rubocop.rb

Constant Summary collapse

RUBOCOP_CONSTANTS =
T.let(["MSG", "RESTRICT_ON_SEND"].to_set.freeze, T::Set[String])

Instance Attribute Summary

Attributes inherited from Base

#index

Instance Method Summary collapse

Methods inherited from Base

ignore_classes_inheriting_from, ignore_classes_named, ignore_constants_named, ignore_methods_named, ignore_modules_named, #initialize, #internal_on_define_accessor, #internal_on_define_class, #internal_on_define_constant, #internal_on_define_method, #internal_on_define_module, #on_define_accessor, #on_define_class, #on_define_module, #on_send

Constructor Details

This class inherits a constructor from Spoom::Deadcode::Plugins::Base

Instance Method Details

#on_define_constant(definition) ⇒ Object



18
19
20
21
22
23
# File 'lib/spoom/deadcode/plugins/rubocop.rb', line 18

def on_define_constant(definition)
  owner = definition.owner
  return false unless owner.is_a?(Model::Class)

  @index.ignore(definition) if ignored_subclass?(owner) && RUBOCOP_CONSTANTS.include?(definition.name)
end

#on_define_method(definition) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/spoom/deadcode/plugins/rubocop.rb', line 26

def on_define_method(definition)
  return unless definition.name == "on_send"

  owner = definition.owner
  return unless owner.is_a?(Model::Class)

  @index.ignore(definition) if ignored_subclass?(owner)
end