Sha256: a438e9e025a2372c795bc89e34a81cfb36833885f1060be9e45967974ab962f2
Contents?: true
Size: 493 Bytes
Versions: 12
Compression:
Stored size: 493 Bytes
Contents
module Datacaster class AndNode < Base def initialize(*casters) @casters = casters end def cast(object, runtime:) Datacaster.ValidResult( @casters.reduce(object) do |result, caster| caster_result = caster.with_runtime(runtime).(result) return caster_result unless caster_result.valid? caster_result.value end ) end def inspect "#<Datacaster::AndNode casters: #{@casters.inspect}>" end end end
Version data entries
12 entries across 12 versions & 1 rubygems