Class: FileuidValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
app/validators/fileuid_validator.rb

Instance Method Summary collapse

Instance Method Details

#match_regexp?(record, attribute, value) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
# File 'app/validators/fileuid_validator.rb', line 11

def match_regexp?(record, attribute, value)
  type = nil
  if type
    value =~ EgovUtils::Fileuid::TYPES[type].to_regex
  else
    EgovUtils::Fileuid::TYPES.values.any?{|type_def| value =~ type_def.to_regex }
  end
end

#validate_each(record, attribute, value) ⇒ Object



2
3
4
5
6
7
8
9
# File 'app/validators/fileuid_validator.rb', line 2

def validate_each(record, attribute, value)
  return if options[:allow_nil] && value.presence.nil?
  if value.is_a?(EgovUtils::Fileuid)
    record.errors.add(attribute, (options[:message] || :fileuid_format)) if value.invalid?
  elsif !match_regexp?(record, attribute, value)
    record.errors.add(attribute, (options[:message] || :fileuid_format))
  end
end