class Datacaster::ThenNode
Public Class Methods
new(left, then_caster)
click to toggle source
# File lib/datacaster/then_node.rb, line 3 def initialize(left, then_caster) @left = left @then = then_caster end
Public Instance Methods
call(object)
click to toggle source
Calls superclass method
Datacaster::Base#call
# File lib/datacaster/then_node.rb, line 15 def call(object) unless @else raise ArgumentError.new('Datacaster: use "a & b" instead of "a.then(b)" when there is no else-clause') end object = super(object) left_result = @left.(object) if left_result.valid? @then.(left_result) else @else.(object) end end
else(else_caster)
click to toggle source
# File lib/datacaster/then_node.rb, line 8 def else(else_caster) raise ArgumentError.new('Datacaster: double else clause is not permitted') if @else @else = else_caster self end
inspect()
click to toggle source
# File lib/datacaster/then_node.rb, line 31 def inspect "#<Datacaster::ThenNode Then: #{@then.inspect} Else: #{@else.inspect}>" end