module StValidation

Constants

VERSION

Public Class Methods

basic_factory() click to toggle source
# File lib/st_validation.rb, line 20
def basic_factory
  StValidation::ValidatorFactory.new(basic_transformations)
end
build(blueprint) click to toggle source
# File lib/st_validation.rb, line 11
def build(blueprint)
  basic_factory.build(blueprint)
end
with_extra_transformations(*transformations) click to toggle source
# File lib/st_validation.rb, line 15
def with_extra_transformations(*transformations)
  all_transformations = transformations + basic_transformations
  StValidation::ValidatorFactory.new(all_transformations)
end

Private Class Methods

array_validator(blueprint, factory) click to toggle source
# File lib/st_validation.rb, line 43
def array_validator(blueprint, factory)
  Validators::ArrayValidator.new(blueprint, factory)
end
basic_transformations() click to toggle source
# File lib/st_validation.rb, line 26
def basic_transformations
  [
    ->(bp, _factory) { bp.is_a?(Class) ? class_validator(bp) : bp },
    ->(bp, factory) { bp.is_a?(Set) ? union_validator(bp, factory) : bp },
    ->(bp, factory) { bp.is_a?(Hash) ? hash_validator(bp, factory) : bp },
    ->(bp, factory) { bp.is_a?(Array) && bp.size == 1 ? array_validator(bp[0], factory) : bp }
  ]
end
class_validator(klass) click to toggle source
# File lib/st_validation.rb, line 35
def class_validator(klass)
  Validators::ClassValidator.new(klass)
end
hash_validator(blueprint, factory) click to toggle source
# File lib/st_validation.rb, line 47
def hash_validator(blueprint, factory)
  Validators::HashValidator.new(blueprint, factory)
end
union_validator(blueprint, factory) click to toggle source
# File lib/st_validation.rb, line 39
def union_validator(blueprint, factory)
  Validators::UnionValidator.new(blueprint, factory)
end