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