Class: RailsWorkflow::Process

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
RailsWorkflow::Processes::DefaultRunner, RailsWorkflow::Processes::DependencyResolver, Status
Defined in:
app/models/rails_workflow/process.rb

Constant Summary

Constants included from Status

Status::CANCELED, Status::DONE, Status::ERROR, Status::IN_PROGRESS, Status::NOT_STARTED, Status::ROLLBACK, Status::SKIPPED, Status::WAITING

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RailsWorkflow::Processes::DefaultRunner

#can_complete?, #can_start?, #complete, #complete_parent_operation, #incompleted_operations, #operation_complete, #operation_exception, #set_done_status, #start

Class Method Details

.count_by_statusesObject



22
23
24
25
26
27
28
29
30
# File 'app/models/rails_workflow/process.rb', line 22

def self.count_by_statuses
  query = RailsWorkflow.config.sql_dialect::COUNT_STATUSES

  statuses = connection.select_all(query).rows

  statuses_array.map do |status|
    statuses.detect { |s| s.first.to_i == status }.try(:last).to_i
  end
end

.statuses_arrayObject



32
33
34
# File 'app/models/rails_workflow/process.rb', line 32

def self.statuses_array
  (NOT_STARTED..ROLLBACK).to_a
end

Instance Method Details

#managerObject



18
19
20
# File 'app/models/rails_workflow/process.rb', line 18

def manager
  @manager ||= template.manager_class.new(self)
end