class RWF::Result
Attributes
error[R]
ptr[R]
state[R]
Public Class Methods
new(params)
click to toggle source
# File lib/rwf/result.rb, line 7 def initialize(params) @params = params @state = :initial @error = nil @ptr = nil end
Public Instance Methods
[](key)
click to toggle source
# File lib/rwf/result.rb, line 72 def [](key) @params[key] end
failure!(error = nil)
click to toggle source
# File lib/rwf/result.rb, line 31 def failure!(error = nil) @error = error if error @state = :failure self end
failure?()
click to toggle source
# File lib/rwf/result.rb, line 37 def failure? !success? end
initial?()
click to toggle source
# File lib/rwf/result.rb, line 14 def initial? state == :initial end
okish?()
click to toggle source
# File lib/rwf/result.rb, line 27 def okish? initial? || success? end
on_failure() { |error| ... }
click to toggle source
# File lib/rwf/result.rb, line 54 def on_failure yield(error) if failure? end
on_success() { || ... }
click to toggle source
# File lib/rwf/result.rb, line 50 def on_success yield if success? end
recover!()
click to toggle source
# File lib/rwf/result.rb, line 67 def recover! @error = nil success! end
redirect!(ptr)
click to toggle source
# File lib/rwf/result.rb, line 45 def redirect!(ptr) @ptr = ptr self end
redirect?()
click to toggle source
# File lib/rwf/result.rb, line 41 def redirect? !ptr.nil? end
state!(value)
click to toggle source
# File lib/rwf/result.rb, line 58 def state!(value) if value.is_a?(Result) value.success? ? success! : failure! redirect!(value.ptr) if value.redirect? else value ? success! : failure! end end
success!()
click to toggle source
# File lib/rwf/result.rb, line 18 def success! @state = :success self end
success?()
click to toggle source
# File lib/rwf/result.rb, line 23 def success? state == :success && error.nil? end
to_s()
click to toggle source
# File lib/rwf/result.rb, line 76 def to_s state.to_s.capitalize end