Sha256: 3b6ca991b18d4fa7f7944c960d948158c93c888c238827a825cff4a61fa3c5b7
Contents?: true
Size: 791 Bytes
Versions: 1
Compression:
Stored size: 791 Bytes
Contents
require 'active_model/validator' module ROM module Model module Validator class UniquenessValidator < ActiveModel::EachValidator attr_reader :klass, :message def initialize(options) super @klass = options.fetch(:class) @message = options.fetch(:message) { :taken } end def validate_each(validator, name, value) validator.errors.add(name, message) unless unique?(name, value) end private def relation rom.relations[relation_name] end def relation_name klass.relation end def rom ROM.env end def unique?(name, value) relation.unique?(name => value) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-rails-0.3.0.beta1 | lib/rom/rails/model/validator/uniqueness_validator.rb |