Sha256: 4a5cafa7be97de5dfa94cc4b7605b5405245ec1f1c44571ea50d56f22de43e2f
Contents?: true
Size: 810 Bytes
Versions: 4
Compression:
Stored size: 810 Bytes
Contents
module Schematic module Generator class Uniqueness < ColumnValidator def generate(builder) for_validator ActiveRecord::Validations::UniquenessValidator do |validator| unique_name = validator.attributes.first.to_s.dasherize additional_fields = (Array.wrap(validator.options[:scope]) || []).map(&:to_s).map(&:dasherize) names = Schematic::Generator::Names.new(@klass) builder.xs :unique, "name" => "#{unique_name}-must-be-unique" do |unique| unique.xs :selector, "xpath" => "./#{names.element}" unique.xs :field, "xpath" => unique_name additional_fields.each do |additional_field| unique.xs :field, "xpath" => additional_field end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems