Class: AWS::Flow::WorkflowDefinitionFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/aws/decider/workflow_definition_factory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, workflow_type, registration_options, implementation_options, workflow_method, signals, get_state_method) ⇒ WorkflowDefinitionFactory

Returns a new instance of WorkflowDefinitionFactory.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/aws/decider/workflow_definition_factory.rb', line 21

def initialize(klass, workflow_type, registration_options, implementation_options, workflow_method, signals, get_state_method)
  @klass = klass
  @workflow_type = workflow_type
  @registration_options = registration_options
  @implementation_options = implementation_options
  @workflow_method = workflow_method
  @signals = signals
  @get_state_method = get_state_method
  if ! implementation_options.nil?
    @converter = implementation_options.data_converter
  end
  @converter ||= FlowConstants.default_data_converter

end

Instance Attribute Details

#converterObject (readonly)

Returns the value of attribute converter.



20
21
22
# File 'lib/aws/decider/workflow_definition_factory.rb', line 20

def converter
  @converter
end

Instance Method Details

#delete_workflow_definition(definition) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/aws/decider/workflow_definition_factory.rb', line 42

def delete_workflow_definition(definition)
  FlowFiber.unset(FlowFiber.current, :decision_context)
  # Indicates to GC that these values are no longer needed.
  FlowFiber.local_variables.each_pair do |key, value|
    value = nil
    FlowFiber.local_variables.delete(key)
  end
end

#get_workflow_definition(decision_context) ⇒ Object



36
37
38
39
40
# File 'lib/aws/decider/workflow_definition_factory.rb', line 36

def get_workflow_definition(decision_context)
  FlowFiber.current[:decision_context] = decision_context
  this_instance = @klass.new
  WorkflowDefinition.new(this_instance, @workflow_method, @signals, @get_state_method, @converter)
end