class RuboCop::Cop::Rails::Validation

This cop checks for the use of old-style attribute validation macros.

def autocorrect(node)

def autocorrect(node)
  lambda do |corrector|
    corrector.replace(node.loc.selector, 'validates')
    correct_validate_type(corrector, node)
  end
end

def correct_validate_type(corrector, node)

def correct_validate_type(corrector, node)
  options = node.arguments.find { |arg| !arg.sym_type? }
  validate_type = node.method_name.to_s.split('_')[1]
  if options
    corrector.replace(options.loc.expression,
                      "#{validate_type}: { #{options.source} }")
  else
    corrector.insert_after(node.loc.expression,
                           ", #{validate_type}: true")
  end
end

def message(node)

def message(node)
  format(MSG, preferred_method(node.method_name), node.method_name)
end

def on_send(node)

def on_send(node)
  return unless !node.receiver && BLACKLIST.include?(node.method_name)
  add_offense(node, :selector)
end

def preferred_method(method)

def preferred_method(method)
  WHITELIST[BLACKLIST.index(method.to_sym)]
end