Sha256: ae202cbb52f5f780b03db4d875967a660133a88edebd5bc206d4b492dfbb4088
Contents?: true
Size: 514 Bytes
Versions: 2
Compression:
Stored size: 514 Bytes
Contents
module Datacaster class Checker < Base def initialize(name, error, &block) raise "Expected block" unless block_given? @name = name @error = error @check = block end def cast(object) intermediary_result = super(object) object = intermediary_result.value if @check.(object) Datacaster.ValidResult(object) else Datacaster.ErrorResult([@error]) end end def inspect "#<Datacaster::#{@name}Checker>" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
datacaster-2.0.2 | lib/datacaster/checker.rb |
datacaster-2.0.1 | lib/datacaster/checker.rb |