class SoulValidations

Constants

VALID_CLASSES

Public Class Methods

required(value, strict_mode: true) click to toggle source
# File lib/soul_validations.rb, line 14
def self.required value, strict_mode: true    
  return {} unless VALID_CLASSES.include? value.class
  return {} if strict_mode == false && value.nil? == false
  return { nil: 'This value is nil' } if strict_mode == false && value.nil?
  errors = {}
 
  if value.nil?
    errors[:nil] = 'This value is nil'
  elsif value.is_a?(String) && value.length == 0
    errors[:string] = 'This is an empty string'
  elsif value.is_a?(FalseClass)
    errors[:boolean] = 'This is a false value'
  elsif value.is_a?(Integer) && value === 0
    errors[:integer] = 'This is zero value'
  elsif value.is_a?(Float) && value === 0.0
    errors[:float] = 'This is a zero value'  
  elsif value.is_a?(Array) && value.empty?
    errors[:array] = 'This is an empty array'
  elsif value.is_a?(Hash) && value.empty?
    errors[:hash] = 'This is an empty hash'
  end
 
  errors
end
required?(value, strict_mode: true) click to toggle source
# File lib/soul_validations.rb, line 39
def self.required? value, strict_mode: true
  response = required value, strict_mode: strict_mode
  response.empty?
end