Class: Spoom::Deadcode::Plugins::ActionPack
- Extended by:
- T::Sig
- Defined in:
- lib/spoom/deadcode/plugins/actionpack.rb
Constant Summary collapse
- CALLBACKS =
T.let( [ "after_action", "append_after_action", "append_around_action", "append_before_action", "around_action", "before_action", "prepend_after_action", "prepend_around_action", "prepend_before_action", "skip_after_action", "skip_around_action", "skip_before_action", ].freeze, T::Array[String], )
Instance Attribute Summary
Attributes inherited from Base
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_constant, #on_define_module
Constructor Details
This class inherits a constructor from Spoom::Deadcode::Plugins::Base
Instance Method Details
#on_define_method(definition) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/spoom/deadcode/plugins/actionpack.rb', line 31 def on_define_method(definition) owner = definition.owner return unless owner.is_a?(Model::Class) @index.ignore(definition) if ignored_subclass?(owner) end |
#on_send(send) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/spoom/deadcode/plugins/actionpack.rb', line 39 def on_send(send) return unless send.recv.nil? && CALLBACKS.include?(send.name) arg = send.args.first case arg when Prism::SymbolNode @index.reference_method(arg.unescaped, send.location) end send.each_arg_assoc do |key, value| key = key.slice.delete_suffix(":") case key when "if", "unless" @index.reference_method(value.slice.delete_prefix(":"), send.location) if value else @index.reference_constant(camelize(key), send.location) end end end |