Sha256: a5a11dfb2bd136531f5d97a5f6832e791dd1ce51da24ba129a5b7bc5f61605da
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
module RailsWorkflow module OperationTemplates module DefaultBuilder extend ActiveSupport::Concern def build_operation operation #for customization end def build_operation! process, completed_dependencies = [] attrs = attributes. with_indifferent_access. slice(:title, :async, :is_background). merge({ template: self, process: process, status: Operation::NOT_STARTED, manager: process.manager }) attrs[:dependencies] = completed_dependencies.map { |dep| { operation_id: dep.id, status: dep.status } } operation = operation_class.create(attrs) do |op| op.context = RailsWorkflow::OperationTemplate.build_context! op, completed_dependencies build_operation op end if child_process.present? operation.child_process = RailsWorkflow::ProcessManager. build_process( child_process.id, operation.context.data ) end operation end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_workflow-0.2.1 | app/concerns/rails_workflow/operation_templates/default_builder.rb |