class Datacaster::Trier
Public Class Methods
new(name, error, catched_exception, &block)
click to toggle source
# File lib/datacaster/trier.rb, line 3 def initialize(name, error, catched_exception, &block) raise "Expected block" unless block_given? @name = name @error = error @catched_exception = Array(catched_exception) @transform = block end
Public Instance Methods
call(object)
click to toggle source
Calls superclass method
Datacaster::Base#call
# File lib/datacaster/trier.rb, line 12 def call(object) intermediary_result = super(object) object = intermediary_result.value begin Datacaster.ValidResult(@transform.(object)) rescue *@catched_exception Datacaster.ErrorResult([@error]) end end
inspect()
click to toggle source
# File lib/datacaster/trier.rb, line 23 def inspect "#<Datacaster::#{@name}Trier>" end