Class: ActiveRecord::FutureResult

Inherits:
Object
  • Object
show all
Defined in:
activerecord/lib/active_record/future_result.rb

Overview

:nodoc:

Defined Under Namespace

Classes: Complete

Constant Summary collapse

Canceled =
Class.new(ActiveRecordError)

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(intent) ⇒ FutureResult

Returns a new instance of FutureResult.



42
43
44
# File 'activerecord/lib/active_record/future_result.rb', line 42

def initialize(intent)
  @intent = intent
end

Class Method Details

.wrap(result) ⇒ Object



30
31
32
33
34
35
36
37
# File 'activerecord/lib/active_record/future_result.rb', line 30

def self.wrap(result)
  case result
  when self, Complete
    result
  else
    Complete.new(result)
  end
end

Instance Method Details

#cancelObject



50
51
52
# File 'activerecord/lib/active_record/future_result.rb', line 50

def cancel
  @intent.cancel
end

#canceled?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'activerecord/lib/active_record/future_result.rb', line 64

def canceled?
  @intent.canceled?
end

#pending?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'activerecord/lib/active_record/future_result.rb', line 60

def pending?
  @intent.pending?
end

#resultObject

Raises:



54
55
56
57
58
# File 'activerecord/lib/active_record/future_result.rb', line 54

def result
  raise Canceled if canceled?

  @intent.cast_result
end

#then(&block) ⇒ Object



46
47
48
# File 'activerecord/lib/active_record/future_result.rb', line 46

def then(&block)
  Promise.new(self, block)
end