Sha256: df8232a085710a9fa4c285660140c303b4ef3ebcd37ccbc78367589adcf881a9
Contents?: true
Size: 869 Bytes
Versions: 15
Compression:
Stored size: 869 Bytes
Contents
module Schematic module Generator class ColumnValidator attr_reader :klass, :column def initialize(klass, column) @klass = klass @column = column end def for_validator(validator_klass) validators_for_column.each do |column_validation| next unless column_validation.is_a? validator_klass has_conditional_proc = !column_validation.options[:if].nil? || !column_validation.options[:unless].nil? force_inclusion = column_validation.options[:xsd] && column_validation.options[:xsd][:include] next if has_conditional_proc && !force_inclusion yield(column_validation) return end end def validators_for_column return [] unless klass.respond_to?(:_validators) klass._validators[column.name.to_sym] end end end end
Version data entries
15 entries across 15 versions & 1 rubygems