Class: YamlValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
app/models/concerns/yaml_validator.rb

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'app/models/concerns/yaml_validator.rb', line 4

def validate_each(record, attribute, value)
  return if value.blank?

  object = begin
    YAML.safe_load(value, permitted_classes: [Symbol, Date])
  rescue # Psych::SyntaxError
    nil
  end

  record.errors.add attribute, (options[:message] || 'is not valid YAML') unless object
end