Class: Jade::Task::Decoded

Inherits:
Data
  • Object
show all
Includes:
Jade::Task
Defined in:
lib/jade/task.rb

Class Method Summary collapse

Methods included from Jade::Task

#run

Class Method Details

.decode(decoder, value) ⇒ Object



115
116
117
118
119
# File 'lib/jade/task.rb', line 115

def self.decode(decoder, value)
  Jade::Decode::Runner.run!(decoder, value) do |error|
    fail Jade::Interop::DecodeError.new(error, value, source: :port_return)
  end
end

.decode_result(result, ok_decoder, err_decoder) ⇒ Object



108
109
110
111
112
113
# File 'lib/jade/task.rb', line 108

def self.decode_result(result, ok_decoder, err_decoder)
  case result
  in Jade::Result::Ok[value]  then Jade::Result::Ok[decode(ok_decoder, value)]
  in Jade::Result::Err[error] then Jade::Result::Err[decode(err_decoder, error)]
  end
end