Sha256: 12a2a8e2f6ed2e466f04c707f60eec5a97d65f2b0e6c347eb5d8205c58dda55e
Contents?: true
Size: 901 Bytes
Versions: 2
Compression:
Stored size: 901 Bytes
Contents
require 'active_record/validations/uniqueness' require 'schematic/generator/column_validator' 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
schematic-0.7.1 | lib/schematic/generator/uniqueness.rb |
schematic-0.7.0 | lib/schematic/generator/uniqueness.rb |