Class: ActiveRecordCallbacksCop::Cop

Inherits:
RuboCop::Cop::Cop
  • Object
show all
Defined in:
lib/active_record_callbacks_cop/cop.rb

Constant Summary collapse

MSG =
"Don't use ActiveRecord callbacks to add logic to your database interactions."

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cop_nameObject



5
6
7
# File 'lib/active_record_callbacks_cop/cop.rb', line 5

def self.cop_name
  "ActiveRecordCallbacks"
end

Instance Method Details

#on_send(node) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/active_record_callbacks_cop/cop.rb', line 11

def on_send(node)
  return unless callback_names.include?(node.method_name)
  return unless node.parent.class_type? &&
    node.parent.parent_class &&
    parent_class_names.include?(node.parent.parent_class.const_name)

  add_offense(node)
end