# class ActiveModel::Validations::AcceptanceValidator::AttributeDefinition

### Attributes

attributes[R]

TODO Change this to private once we've dropped Ruby 2.2 support. Workaround for Ruby 2.2 “private attribute?” warning.

### Public Class Methods

new(attributes) click to toggle source

    # File lib/active_model/validations/acceptance.rb, line 43
    def initialize(attributes)
      @attributes = attributes.map(&:to_s)
    end

### Public Instance Methods

define_on(klass) click to toggle source

    # File lib/active_model/validations/acceptance.rb, line 52
    def define_on(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

matches?(method_name) click to toggle source

    # File lib/active_model/validations/acceptance.rb, line 47
    def matches?(method_name)
      attr_name = convert_to_reader_name(method_name)
      attributes.include?(attr_name)
    end

### Private Instance Methods

convert_to_reader_name(method_name) click to toggle source

    # File lib/active_model/validations/acceptance.rb, line 67
    def convert_to_reader_name(method_name)
      method_name.to_s.chomp("=")
    end