class Getto::Params::Validator::Factory
Public Instance Methods
allow_empty(validator,&block)
click to toggle source
# File lib/getto/params.rb, line 124 def allow_empty(validator,&block) Validator.new(->(value){ value.empty? or validator.call(value) }, &block) end
array(validator,&block)
click to toggle source
# File lib/getto/params.rb, line 104 def array(validator,&block) Validator.new(->(value){ value && value.is_a?(Array) && value.all?{|val| validator.call(val)} }, &block) end
array_include(values,&block)
click to toggle source
# File lib/getto/params.rb, line 110 def array_include(values,&block) Validator.new(->(value){ value && value.is_a?(Array) && value.all?{|val| values.include?(val)} }, &block) end
bool(&block)
click to toggle source
# File lib/getto/params.rb, line 36 def bool(&block) Validator.new(->(value){ value == true || value == false }, &block) end
combine(validators,&block)
click to toggle source
# File lib/getto/params.rb, line 117 def combine(validators,&block) Validator.new(->(value){ validators.all?{|validator| validator.call(value)} }, &block) end
equal(val,&block)
click to toggle source
# File lib/getto/params.rb, line 41 def equal(val,&block) Validator.new(->(value){ value == val }, &block) end
hash(spec,&block)
click to toggle source
# File lib/getto/params.rb, line 84 def hash(spec,&block) Validator.new(->(value){ value && spec.all?{|key,validator| value.has_key?(key) && validator.call(value[key]) } }, &block) end
hash_strict(spec,&block)
click to toggle source
# File lib/getto/params.rb, line 92 def hash_strict(spec,&block) Validator.new(->(value){ validators = spec.dup value && value.all?{|key,val| validators.delete(key).tap{|validator| break validator ? validator.call(val) : false } } && validators.empty? }, &block) end
in(values,&block)
click to toggle source
# File lib/getto/params.rb, line 45 def in(values,&block) Validator.new(->(value){ values.include?(value) }, &block) end
integer(&block)
click to toggle source
# File lib/getto/params.rb, line 28 def integer(&block) Validator.new(->(value){ value.is_a? Integer }, &block) end
length(length,&block)
click to toggle source
# File lib/getto/params.rb, line 57 def length(length,&block) Validator.new(->(value){ value && value.length == length }, &block) end
match(pattern,&block)
click to toggle source
# File lib/getto/params.rb, line 61 def match(pattern,&block) Validator.new(->(value){ value && value.match?(pattern) }, &block) end
match_bool(&block)
click to toggle source
# File lib/getto/params.rb, line 69 def match_bool(&block) Validator.new(->(value){ value && ["true","false"].include?(value.to_s.downcase) }, &block) end
match_date(&block)
click to toggle source
# File lib/getto/params.rb, line 73 def match_date(&block) Validator.new(->(value){ begin value && Date.parse(value) rescue ArgumentError false end }, &block) end
match_integer(&block)
click to toggle source
# File lib/getto/params.rb, line 65 def match_integer(&block) Validator.new(->(value){ value && value.to_i.to_s == value }, &block) end
not_empty(&block)
click to toggle source
# File lib/getto/params.rb, line 49 def not_empty(&block) Validator.new(->(value){ not value.empty? }, &block) end
not_nil(&block)
click to toggle source
# File lib/getto/params.rb, line 53 def not_nil(&block) Validator.new(->(value){ not value.nil? }, &block) end
string(&block)
click to toggle source
# File lib/getto/params.rb, line 32 def string(&block) Validator.new(->(value){ value.is_a? String }, &block) end