module JsonTableSchema::Constraints::Required

Public Instance Methods

check_required() click to toggle source
# File lib/jsontableschema/constraints/required.rb, line 5
def check_required
  if required? && is_empty?
    raise JsonTableSchema::ConstraintError.new("The field `#{@field['name']}` requires a value")
  end
  true
end

Private Instance Methods

is_empty?() click to toggle source
# File lib/jsontableschema/constraints/required.rb, line 18
def is_empty?
  null_values.include?(@value)
end
null_values() click to toggle source
# File lib/jsontableschema/constraints/required.rb, line 26
def null_values
  ['null', 'none', 'nil', 'nan', '-', '']
end
required() click to toggle source
# File lib/jsontableschema/constraints/required.rb, line 22
def required
  @constraints['required'].to_s == 'true'
end
required?() click to toggle source
# File lib/jsontableschema/constraints/required.rb, line 14
def required?
  required == true && @field['type'] != 'null'
end