class MrDarcy::Promise::State::Base

Abstract base class for all Promise states.

Attributes

stateful[R]

Public Class Methods

new(stateful) click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 6
def initialize stateful
  @stateful = stateful
end

Public Instance Methods

reject() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 26
def reject
  raise RuntimeError, "Cant reject from #{get_state} state"
end
rejected?() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 18
def rejected?
  false
end
resolve() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 22
def resolve
  raise RuntimeError, "Can't resolve from #{get_state} state"
end
resolved?() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 14
def resolved?
  false
end
unresolved?() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 10
def unresolved?
  false
end

Private Instance Methods

get_state() click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 34
def get_state
  stateful.send :state
end
set_state(state) click to toggle source
# File lib/mr_darcy/promise/state/base.rb, line 38
def set_state state
  stateful.send :state=, state
end