class ActiveModel::Validations::AcceptanceValidator

Public Class Methods

new(options) click to toggle source
Calls superclass method
# File lib/active_model/validations/acceptance.rb, line 5
def initialize(options)
  super(options.reverse_merge(:allow_nil => true, :accept => "1"))
end

Public Instance Methods

setup(klass) click to toggle source
# File lib/active_model/validations/acceptance.rb, line 15
def setup(klass)
  attr_readers = attributes.reject { |name| klass.attribute_method?(name) }
  attr_writers = attributes.reject { |name| klass.attribute_method?("#{name}=") }
  klass.send(:attr_reader, *attr_readers)
  klass.send(:attr_writer, *attr_writers)
end
validate_each(record, attribute, value) click to toggle source
# File lib/active_model/validations/acceptance.rb, line 9
def validate_each(record, attribute, value)
  unless value == options[:accept]
    record.errors.add(attribute, :accepted, options.except(:accept, :allow_nil))
  end
end