Sha256: a5e46a7dce1a2a395740df1ac4c3d8ade036ed81b9ab465f60610d28d1e63e0d

Contents?: true

Size: 670 Bytes

Versions: 21

Compression:

Stored size: 670 Bytes

Contents

class UniquenessValidator < ActiveRecord::Validations::UniquenessValidator
  def initialize(klass)
    super
    @klass = options[:model] if options[:model]
  end

  def validate_each(record, attribute, value)
    if !options[:model] && !record.class.ancestors.include?(ActiveRecord::Base)
      raise ArgumentError, "Unknown validator: 'UniquenessValidator'"
    end

    super unless options[:model]

    record_org = record
    attribute_org = attribute

    attribute = options[:attribute].to_sym if options[:attribute]
    record = options[:model].new(attribute => value)

    super

    record_org.errors.add(attribute_org, :taken) if record.errors.any?
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
kaze-1.0.1 stubs/default/app/validators/uniqueness_validator.rb
kaze-1.0.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.19.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.18.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.17.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.16.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.15.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.14.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.13.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.12.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.11.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.10.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.9.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.8.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.7.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.6.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.5.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.4.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.3.0 stubs/default/app/validators/uniqueness_validator.rb
kaze-0.2.0 stubs/default/app/validators/uniqueness_validator.rb