class Datacaster::Result

Attributes

meta[RW]

Public Class Methods

new(valid, value_or_errors, meta: nil) click to toggle source
# File lib/datacaster/result.rb, line 8
def initialize(valid, value_or_errors, meta: nil)
  @value_or_errors = value_or_errors
  @valid = !!valid
  @meta = meta || {}
end

Public Instance Methods

errors() click to toggle source
# File lib/datacaster/result.rb, line 22
def errors
  unless @value_or_errors.is_a?(Hash) || @value_or_errors.is_a?(Array)
    @value_or_errors = Array(@value_or_errors)
  end
  @valid ? nil : @value_or_errors
end
inspect() click to toggle source
# File lib/datacaster/result.rb, line 29
def inspect
  if @valid
    "#<Datacaster::ValidResult(#{@value_or_errors.inspect})>"
  else
    "#<Datacaster::ErrorResult(#{@value_or_errors.inspect})>"
  end
end
to_dry_result() click to toggle source
# File lib/datacaster/result.rb, line 37
def to_dry_result
  @valid ? Success(@value_or_errors) : Failure(@value_or_errors)
end
valid?() click to toggle source
# File lib/datacaster/result.rb, line 14
def valid?
  @valid
end
value() click to toggle source
# File lib/datacaster/result.rb, line 18
def value
  @valid ? @value_or_errors : nil
end