class Jet::Result
Attributes
context[R]
output[R]
Public Class Methods
failure(output = nil, context = {})
click to toggle source
# File lib/jet/result.rb, line 6 def failure(output = nil, context = {}) new(false, output, context) end
new(success, output = nil, context = {})
click to toggle source
# File lib/jet/result.rb, line 17 def initialize(success, output = nil, context = {}) @context = _context(context) @success = success ? true : false @output = output end
success(output = nil, context = {})
click to toggle source
# File lib/jet/result.rb, line 10 def success(output = nil, context = {}) new(true, output, context) end
Public Instance Methods
!=(other)
click to toggle source
# File lib/jet/result.rb, line 23 def !=(other) !(self == other) end
==(other)
click to toggle source
# File lib/jet/result.rb, line 27 def ==(other) return output == other.output if other.is_a?(self.class) output == other end
[](key)
click to toggle source
# File lib/jet/result.rb, line 32 def [](key) @context[key] end
at()
click to toggle source
# File lib/jet/result.rb, line 36 def at context.fetch(:at, []) end
errors()
click to toggle source
# File lib/jet/result.rb, line 40 def errors context.fetch(:errors, []) end
errors_at(*at)
click to toggle source
# File lib/jet/result.rb, line 44 def errors_at(*at) at.flatten.yield_self { |a| errors.select { |e| e.at[0...a.size] == a } } end
failure?()
click to toggle source
# File lib/jet/result.rb, line 48 def failure? !@success end
success?()
click to toggle source
# File lib/jet/result.rb, line 52 def success? @success end
with(**context)
click to toggle source
# File lib/jet/result.rb, line 56 def with(**context) self.class.new(@success, @output, @context.merge(context)) end
Private Instance Methods
_context(context)
click to toggle source
# File lib/jet/result.rb, line 71 def _context(context) context.dup.tap do |ctx| ctx[:at] &&= Array(ctx[:at]) ctx[:errors] &&= _errors(ctx[:errors]) end end
_errors(errors)
click to toggle source
# File lib/jet/result.rb, line 62 def _errors(errors) case errors when Hash errors.map { |at, error| error.with(at: error.at + Array(at)) } else Array(errors) end end