Class: ActiveSaga::Task

Inherits:
Object
  • Object
show all
Defined in:
lib/active_saga/task.rb

Overview

Base class for reusable workflow tasks.

Direct Known Subclasses

RemoteExportTask

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Task

Returns a new instance of Task.



18
19
20
# File 'lib/active_saga/task.rb', line 18

def initialize(context)
  @context = context
end

Class Attribute Details

._as_async_optionsObject (readonly)

Returns the value of attribute _as_async_options.



7
8
9
# File 'lib/active_saga/task.rb', line 7

def _as_async_options
  @_as_async_options
end

Instance Attribute Details

#contextObject (readonly)

Returns the value of attribute context.



22
23
24
# File 'lib/active_saga/task.rb', line 22

def context
  @context
end

Class Method Details

.async!(**options) ⇒ Object



9
10
11
# File 'lib/active_saga/task.rb', line 9

def async!(**options)
  @_as_async_options = options.deep_symbolize_keys
end

.async_optionsObject



13
14
15
# File 'lib/active_saga/task.rb', line 13

def async_options
  _as_async_options || {}
end

Instance Method Details

#call(_ctx) ⇒ Object

Raises:

  • (NotImplementedError)


24
25
26
# File 'lib/active_saga/task.rb', line 24

def call(_ctx)
  raise NotImplementedError, "Override #call in #{self.class.name}"
end

#compensate(_ctx, result: nil) ⇒ Object



28
29
30
# File 'lib/active_saga/task.rb', line 28

def compensate(_ctx, result: nil)
  nil
end