module ComposableValidations::Utils

Public Instance Methods

default_errors(validator) click to toggle source
# File lib/composable_validations/utils.rb, line 2
def default_errors(validator)
  lambda do |object, errors_hash|
    errors = ComposableValidations::Errors.new(errors_hash)
    validator.call(object, errors, nil)
  end
end
error(errors, msg, object, *segments) click to toggle source
# File lib/composable_validations/utils.rb, line 25
def error(errors, msg, object, *segments)
  errors.add(msg, join(*segments), object)
  false
end
join(*segments) click to toggle source
# File lib/composable_validations/utils.rb, line 9
def join(*segments)
  segments.inject([]) do |acc, seg|
    acc + Array(seg)
  end
end
validate(msg, key = nil) { |o| ... } click to toggle source
# File lib/composable_validations/utils.rb, line 15
def validate(msg, key = nil, &blk)
  lambda do |o, errors, prefix|
    if yield(o)
      true
    else
      error(errors, msg, o, prefix, key)
    end
  end
end