module Quiver::Result
Attributes
data[RW]
errors[RW]
object[RW]
Public Class Methods
new(object=nil, errors=nil, data={}) { |errors| ... }
click to toggle source
# File lib/quiver/result.rb, line 5 def initialize(object=nil, errors=nil, data={}) errors ||= Quiver::ErrorCollection.new if block_given? object = yield errors end self.object = object self.errors = errors self.data = data end
Public Instance Methods
==(other)
click to toggle source
# File lib/quiver/result.rb, line 33 def ==(other) other.is_a?(Result) && object == other.object && errors == other.errors && data == other.data end
success?()
click to toggle source
# File lib/quiver/result.rb, line 17 def success? errors.success? end
when(success: nil, failure: nil)
click to toggle source
# File lib/quiver/result.rb, line 21 def when(success: nil, failure: nil) # one day if we ever have Ruby 2.1 we can delete this raise ArgumentError, 'missing keyword: success' if success == nil raise ArgumentError, 'missing keyword: failure' if failure == nil if success? success.call(object, self) else failure.call(errors, self) end end