class RuboCop::Cop::Rails::ActiveRecordAliases

Checks that ActiveRecord aliases are not used. The direct method names are more clear and easier to read.

@example

#bad
Book.update_attributes!(author: 'Alice')

#good
Book.update!(author: 'Alice')

Constants

ALIASES
MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/rails/active_record_aliases.rb, line 37
def autocorrect(node)
  lambda do |corrector|
    corrector.replace(
      node.loc.selector,
      ALIASES[node.method_name].to_s
    )
  end
end
on_csend(node)
Alias for: on_send
on_send(node) click to toggle source
# File lib/rubocop/cop/rails/active_record_aliases.rb, line 23
def on_send(node)
  ALIASES.each do |bad, good|
    next unless node.method?(bad)

    add_offense(node,
                message: format(MSG, prefer: good, current: bad),
                location: :selector,
                severity: :warning)
    break
  end
end
Also aliased as: on_csend