Sha256: 901294463769dff83e5d9d976d002dbbdf1ae3f9f0a41381378545710c39a691

Contents?: true

Size: 798 Bytes

Versions: 24

Compression:

Stored size: 798 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 = (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

24 entries across 24 versions & 1 rubygems

Version Path
schematic-0.5.8 lib/schematic/generator/uniqueness.rb
schematic-0.5.7 lib/schematic/generator/uniqueness.rb
schematic-0.5.6 lib/schematic/generator/uniqueness.rb
schematic-0.5.5 lib/schematic/generator/uniqueness.rb
schematic-0.5.4 lib/schematic/generator/uniqueness.rb
schematic-0.5.3 lib/schematic/generator/uniqueness.rb
schematic-0.5.2 lib/schematic/generator/uniqueness.rb
schematic-0.5.1 lib/schematic/generator/uniqueness.rb
schematic-0.5.0 lib/schematic/generator/uniqueness.rb
schematic-0.4.4 lib/schematic/generator/uniqueness.rb
schematic-0.4.3 lib/schematic/generator/uniqueness.rb
schematic-0.4.2 lib/schematic/generator/uniqueness.rb
schematic-0.4.1 lib/schematic/generator/uniqueness.rb
schematic-0.4.0 lib/schematic/generator/uniqueness.rb
schematic-0.3.8 lib/schematic/generator/uniqueness.rb
schematic-0.3.7 lib/schematic/generator/uniqueness.rb
schematic-0.3.6 lib/schematic/generator/uniqueness.rb
schematic-0.3.5 lib/schematic/generator/uniqueness.rb
schematic-0.3.4 lib/schematic/generator/uniqueness.rb
schematic-0.3.3 lib/schematic/generator/uniqueness.rb