class StValidation::ValidatorFactory
Attributes
transformations[R]
Public Class Methods
new(transformations = [])
click to toggle source
# File lib/st_validation/validator_factory.rb, line 25 def initialize(transformations = []) @transformations = transformations end
Public Instance Methods
build(blueprint)
click to toggle source
# File lib/st_validation/validator_factory.rb, line 29 def build(blueprint) result = blueprint loop do old = result result = transformations.reduce(result) { |res, t| t.call(res, self) } break if result == old end result = ProcValidatorWrapper.new(result) if result.is_a?(Proc) raise InvalidBlueprintError unless result.is_a?(AbstractValidator) result end