class RuboCop::Cop::Rails::RedundantPresenceValidationOnBelongsTo
def on_send(node)
def on_send(node) presence_validation?(node) do |all_keys, options, presence| # If presence is the only validation option and other non-validation options # are present, removing it will cause rails to error. used_option_keys = options.keys.select(&:sym_type?).map(&:value) remaining_validations = used_option_keys - NON_VALIDATION_OPTIONS - [:presence] return if remaining_validations.none? && options.keys.length > 1 keys = non_optional_belongs_to(node.parent, all_keys) return if keys.none? add_offense_and_correct(node, all_keys, keys, options, presence) end end