module ComposableValidations::Comparison

Public Instance Methods

comparison(val, msg, &compfun) click to toggle source
# File lib/composable_validations/comparison.rb, line 14
def comparison(val, msg, &compfun)
  validate(msg) do |v|
    compfun.call(v, val)
  end
end
equal(val, msg = [:equal, val]) click to toggle source
# File lib/composable_validations/comparison.rb, line 56
def equal(val, msg = [:equal, val])
  comparison(val, msg, &:==)
end
greater(val, msg = [:greater, val]) click to toggle source
# File lib/composable_validations/comparison.rb, line 44
def greater(val, msg = [:greater, val])
  comparison(val, msg, &:>)
end
greater_or_equal(val, msg = [:greater_or_equal, val]) click to toggle source
# File lib/composable_validations/comparison.rb, line 40
def greater_or_equal(val, msg = [:greater_or_equal, val])
  comparison(val, msg, &:>=)
end
in_range(range, msg = [:in_range, range]) click to toggle source
# File lib/composable_validations/comparison.rb, line 60
def in_range(range, msg = [:in_range, range])
  validate(msg) do |val|
    range.include?(val)
  end
end
key_equal_to_key(key1, key2, msg = [:key_equal_to_key, key1, key2]) click to toggle source
# File lib/composable_validations/comparison.rb, line 36
def key_equal_to_key(key1, key2, msg = [:key_equal_to_key, key1, key2])
  key_to_key_comparison(key1, key2, msg, &:==)
end
key_greater_or_equal_to_key(key1, key2, msg = [:key_greater_or_equal_to_key, key1, key2]) click to toggle source
# File lib/composable_validations/comparison.rb, line 20
def key_greater_or_equal_to_key(key1, key2, msg = [:key_greater_or_equal_to_key, key1, key2])
  key_to_key_comparison(key1, key2, msg, &:>=)
end
key_greater_than_key(key1, key2, msg = [:key_greater_than_key, key1, key2]) click to toggle source
# File lib/composable_validations/comparison.rb, line 24
def key_greater_than_key(key1, key2, msg = [:key_greater_than_key, key1, key2])
  key_to_key_comparison(key1, key2, msg, &:>)
end
key_less_or_equal_to_key(key1, key2, msg = [:key_less_or_equal_to_key, key1, key2]) click to toggle source
# File lib/composable_validations/comparison.rb, line 28
def key_less_or_equal_to_key(key1, key2, msg = [:key_less_or_equal_to_key, key1, key2])
  key_to_key_comparison(key1, key2, msg, &:<=)
end
key_less_than_key(key1, key2, msg = [:key_less_than_key, key1, key2]) click to toggle source
# File lib/composable_validations/comparison.rb, line 32
def key_less_than_key(key1, key2, msg = [:key_less_than_key, key1, key2])
  key_to_key_comparison(key1, key2, msg, &:<)
end
key_to_key_comparison(key1, key2, msg, &compfun) click to toggle source
# File lib/composable_validations/comparison.rb, line 2
def key_to_key_comparison(key1, key2, msg, &compfun)
  precheck(
    validate(msg, key1) do |h|
      v1 = h[key1]
      v2 = h[key2]
      compfun.call(v1, v2)
    end
  ) do |h|
    h[key1].nil? || h[key2].nil?
  end
end
less(val, msg = [:less, val]) click to toggle source
# File lib/composable_validations/comparison.rb, line 52
def less(val, msg = [:less, val])
  comparison(val, msg, &:<)
end
less_or_equal(val, msg = [:less_or_equal, val]) click to toggle source
# File lib/composable_validations/comparison.rb, line 48
def less_or_equal(val, msg = [:less_or_equal, val])
  comparison(val, msg, &:<=)
end