Class: Shamu::Services::ObservedRequest
- Inherits:
-
Object
- Object
- Shamu::Services::ObservedRequest
- Includes:
- Attributes
- Defined in:
- lib/shamu/services/observed_request.rb
Overview
Describes request that will be/has been performed by a service and the associated data properties.
Attributes collapse
-
#cancel_reason ⇒ Result
readonly
to be canceled.
-
#request ⇒ Request
request may be modified by the observers.
Instance Method Summary collapse
-
#cancel_requested? ⇒ Boolean
canceled.
-
#complete(result, canceled) ⇒ Result
Mark the action as complete and run any #on_success or #on_fail callbacks.
-
#on_canceled(&block) ⇒ Object
Execute block if the action was canceled by another observer.
-
#request_cancel(result = Result.new) ⇒ Result
Ask that the service cancel the request.
Methods included from Attributes
#[], #as_json, #assign_attributes, association, associations, attribute, #attribute?, attributes, #initialize, #pretty_print, #set?, #slice, #to_attributes, #to_json
Instance Attribute Details
#cancel_reason ⇒ Result (readonly)
to be canceled.
20 21 22 |
# File 'lib/shamu/services/observed_request.rb', line 20 def cancel_reason @cancel_reason end |
#request ⇒ Request
request may be modified by the observers.
16 |
# File 'lib/shamu/services/observed_request.rb', line 16 attribute :request |
Instance Method Details
#cancel_requested? ⇒ Boolean
canceled.
35 36 37 |
# File 'lib/shamu/services/observed_request.rb', line 35 def cancel_requested? !!cancel_reason end |
#complete(result, canceled) ⇒ Result
Mark the action as complete and run any #on_success or #on_fail callbacks.
processed.
55 56 57 58 59 |
# File 'lib/shamu/services/observed_request.rb', line 55 def complete( result, canceled ) invoke_callbacks( result, @on_cancel_blocks ) if canceled result end |
#on_canceled(&block) ⇒ Object
Execute block if the action was canceled by another observer. @yield(result)
42 43 44 45 |
# File 'lib/shamu/services/observed_request.rb', line 42 def on_canceled( &block ) @on_cancel_blocks ||= [] @on_cancel_blocks << block end |