rails_workflow 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/assets/javascripts/{workflow → rails_workflow}/application.js +0 -0
  4. data/app/assets/stylesheets/{workflow → rails_workflow}/application.css +0 -0
  5. data/app/concerns/{workflow → rails_workflow}/operation_status.rb +2 -2
  6. data/app/concerns/{workflow → rails_workflow}/operation_templates/assignments.rb +4 -4
  7. data/app/concerns/{workflow → rails_workflow}/operation_templates/default_builder.rb +3 -3
  8. data/app/concerns/{workflow → rails_workflow}/operation_templates/dependencies.rb +1 -2
  9. data/app/concerns/{workflow → rails_workflow}/operations/assignments.rb +3 -4
  10. data/app/concerns/{workflow → rails_workflow}/operations/default_runner.rb +8 -8
  11. data/app/concerns/{workflow → rails_workflow}/operations/dependencies.rb +2 -2
  12. data/app/concerns/{workflow → rails_workflow}/process_status.rb +2 -2
  13. data/app/concerns/{workflow → rails_workflow}/process_templates/default_builder.rb +2 -2
  14. data/app/concerns/{workflow → rails_workflow}/processes/default_runner.rb +2 -3
  15. data/app/concerns/{workflow → rails_workflow}/processes/dependency_resolver.rb +2 -3
  16. data/app/concerns/{workflow → rails_workflow}/user/assignment.rb +2 -3
  17. data/app/controllers/rails_workflow/application_controller.rb +10 -0
  18. data/app/controllers/{workflow → rails_workflow}/errors_controller.rb +2 -2
  19. data/app/controllers/{workflow → rails_workflow}/operation_templates_controller.rb +5 -6
  20. data/app/controllers/{workflow → rails_workflow}/operations_controller.rb +5 -5
  21. data/app/controllers/{workflow → rails_workflow}/process_templates_controller.rb +4 -5
  22. data/app/controllers/{workflow → rails_workflow}/processes_controller.rb +10 -11
  23. data/app/decorators/{workflow → rails_workflow}/context_decorator.rb +1 -1
  24. data/app/decorators/{workflow → rails_workflow}/decorator.rb +1 -1
  25. data/app/decorators/{workflow → rails_workflow}/operation_decorator.rb +3 -3
  26. data/app/decorators/{workflow → rails_workflow}/operation_helper_decorator.rb +1 -2
  27. data/app/decorators/{workflow → rails_workflow}/operation_template_decorator.rb +1 -2
  28. data/app/decorators/{workflow → rails_workflow}/paginating_decorator.rb +1 -1
  29. data/app/decorators/{workflow → rails_workflow}/process_decorator.rb +1 -4
  30. data/app/decorators/{workflow → rails_workflow}/process_template_decorator.rb +4 -5
  31. data/app/decorators/{workflow → rails_workflow}/status_decorator.rb +1 -2
  32. data/app/helpers/{workflow → rails_workflow}/application_helper.rb +1 -1
  33. data/app/managers/{workflow → rails_workflow}/process_manager.rb +3 -4
  34. data/app/models/{workflow → rails_workflow}/context.rb +1 -1
  35. data/app/models/{workflow → rails_workflow}/error.rb +14 -14
  36. data/app/models/{workflow → rails_workflow}/operation.rb +6 -7
  37. data/app/models/{workflow → rails_workflow}/operation_template.rb +7 -8
  38. data/app/models/{workflow → rails_workflow}/process.rb +8 -9
  39. data/app/models/{workflow → rails_workflow}/process_template.rb +3 -4
  40. data/app/models/{workflow → rails_workflow}/user_by_group_operation.rb +1 -2
  41. data/app/models/{workflow → rails_workflow}/user_by_role_operation.rb +1 -2
  42. data/app/views/layouts/{workflow → rails_workflow}/application.html.slim +3 -3
  43. data/app/views/{workflow → rails_workflow}/operation_templates/_default_form.html.slim +0 -0
  44. data/app/views/{workflow → rails_workflow}/operation_templates/_user_group_form.html.slim +0 -0
  45. data/app/views/{workflow → rails_workflow}/operation_templates/_user_role_form.html.slim +0 -0
  46. data/app/views/{workflow → rails_workflow}/operation_templates/edit.html.slim +0 -0
  47. data/app/views/{workflow → rails_workflow}/operation_templates/index.html.slim +1 -1
  48. data/app/views/{workflow → rails_workflow}/operation_templates/new.html.slim +0 -0
  49. data/app/views/{workflow → rails_workflow}/operation_templates/show.html.slim +0 -0
  50. data/app/views/{workflow → rails_workflow}/operations/index.html.slim +0 -0
  51. data/app/views/{workflow → rails_workflow}/operations/show.html.slim +0 -0
  52. data/app/views/{workflow → rails_workflow}/process_templates/_form.html.slim +0 -0
  53. data/app/views/{workflow → rails_workflow}/process_templates/edit.html.slim +0 -0
  54. data/app/views/{workflow → rails_workflow}/process_templates/index.html.slim +0 -0
  55. data/app/views/{workflow → rails_workflow}/process_templates/new.html.slim +0 -0
  56. data/app/views/{workflow → rails_workflow}/process_templates/show.html.slim +1 -1
  57. data/app/views/{workflow → rails_workflow}/processes/_form.html.slim +0 -0
  58. data/app/views/{workflow → rails_workflow}/processes/edit.html.slim +0 -0
  59. data/app/views/{workflow → rails_workflow}/processes/index.html.slim +6 -6
  60. data/app/views/{workflow → rails_workflow}/processes/new.html.slim +0 -0
  61. data/app/views/{workflow → rails_workflow}/processes/show.html.slim +0 -0
  62. data/app/workers/{workflow → rails_workflow}/error_worker.rb +5 -5
  63. data/app/workers/{workflow → rails_workflow}/operation_worker.rb +1 -1
  64. data/config/initializers/{workflow.rb → rails_workflow.rb} +8 -8
  65. data/config/routes.rb +1 -1
  66. data/db/migrate/20150210070051_change_namespace.rb +10 -0
  67. data/lib/generators/{workflow → rails_workflow}/install/install_generator.rb +1 -1
  68. data/lib/generators/{workflow → rails_workflow}/install/templates/create_workflow_processes.rb +22 -12
  69. data/lib/{workflow → rails_workflow}/engine.rb +2 -8
  70. data/lib/rails_workflow/version.rb +3 -0
  71. data/lib/{workflow.rb → rails_workflow.rb} +9 -9
  72. data/lib/tasks/{workflow_tasks.rake → rails_workflow_tasks.rake} +0 -0
  73. data/spec/controllers/{workflow → rails_workflow}/operation_templates_controller_spec.rb +6 -6
  74. data/spec/controllers/{workflow → rails_workflow}/operations_controller_spec.rb +2 -2
  75. data/spec/controllers/{workflow → rails_workflow}/process_templates_controller_spec.rb +2 -2
  76. data/spec/controllers/{workflow → rails_workflow}/processes_controller_spec.rb +2 -2
  77. data/spec/core/{worklow → rails_workflow}/process_manager_spec.rb +11 -11
  78. data/spec/dummy/app/controllers/sales_contacts_controller.rb +1 -1
  79. data/spec/dummy/app/models/bad_operation.rb +1 -1
  80. data/spec/dummy/app/models/bad_operation_template.rb +1 -1
  81. data/spec/dummy/app/models/user.rb +1 -1
  82. data/spec/dummy/config/application.rb +1 -1
  83. data/spec/dummy/config/initializers/workflow.rb +1 -1
  84. data/spec/dummy/config/routes.rb +1 -1
  85. data/spec/dummy/db/schema.rb +34 -34
  86. data/spec/dummy/log/development.log +1324 -0
  87. data/spec/dummy/log/test.log +7697 -0
  88. data/spec/dummy/tmp/cache/assets/development/sprockets/0aeea3efe13c49227e4f05894224629b +0 -0
  89. data/spec/dummy/tmp/cache/assets/development/sprockets/17093127c2a964b159dacb6baee0c707 +0 -0
  90. data/spec/dummy/tmp/cache/assets/development/sprockets/844434b6c7324d1785e26864aee28316 +0 -0
  91. data/spec/dummy/tmp/cache/assets/development/sprockets/ab0c70eaae03da94a23f832513ff652b +0 -0
  92. data/spec/dummy/tmp/cache/assets/development/sprockets/d8f3150c250e5b7c730f1c8b883bf033 +0 -0
  93. data/spec/dummy/tmp/cache/assets/development/sprockets/f794c7b05987535f7000622afe6630d1 +0 -0
  94. data/spec/dummy/tmp/pids/server.pid +1 -0
  95. data/spec/factories/context.rb +1 -1
  96. data/spec/factories/operation_templates.rb +1 -1
  97. data/spec/factories/operations.rb +3 -3
  98. data/spec/factories/process_templates.rb +1 -1
  99. data/spec/factories/processes.rb +2 -2
  100. data/spec/factories/workflow_errors.rb +1 -1
  101. data/spec/features/process_template_spec.rb +0 -1
  102. data/spec/models/{workflow → rails_workflow}/context_spec.rb +4 -4
  103. data/spec/models/{workflow → rails_workflow}/error_spec.rb +1 -1
  104. data/spec/models/{workflow → rails_workflow}/operation_spec.rb +19 -19
  105. data/spec/models/{workflow → rails_workflow}/operation_template_spec.rb +5 -5
  106. data/spec/models/{workflow → rails_workflow}/process_spec.rb +1 -1
  107. data/spec/models/{workflow → rails_workflow}/process_template_spec.rb +3 -3
  108. data/spec/rails_helper.rb +2 -2
  109. data/spec/support/{workflow → rails_workflow}/custom_operation.rb +1 -1
  110. data/spec/support/{workflow → rails_workflow}/custom_operation_template.rb +1 -1
  111. metadata +111 -96
  112. data/app/controllers/workflow/application_controller.rb +0 -10
  113. data/lib/workflow/version.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6bf0e6fc2dfbc26d4a8af86c5fcde93b1009c095
4
- data.tar.gz: 8124a1916281dcd79e483450c32eeba0fbe3f2e8
3
+ metadata.gz: ac3a84ad941c246c8df3fa39aba0491cd9d50636
4
+ data.tar.gz: be6312031bb63bd474de3e1ba91fae69d449369a
5
5
  SHA512:
6
- metadata.gz: b4a790274fe1ec777661d6dcedf71a02f45986c0d71eb432834a7ebf4102b141fea9c8cfc57f24e0702acbb31a81bda68d8cf40753c01003e47e8a9d0f71800b
7
- data.tar.gz: 0afcee772229365ec381225c7601ff90dcc626cccd2854cd712ba9b285be4391ed1f526c2e7087107e40fbd4c4b7a8e55011ef1b6a8296153f1616e8f2a38d4f
6
+ metadata.gz: 6d41b114ed5f230764084eee2dae4b42846be1474e322c857438b31de3f4be40cf242a89175131ef2007d819b29567536b2d8c80f9f44f50d7fe528eadf8b029
7
+ data.tar.gz: 905e89cf1acddec238fcff6af3a0517589c7d9266becbc4b665f23867a17503e89f289da74d75fcfb5f7a9c15c732f26047e256c4deef79e303311c70dd9c6a2
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ require 'rdoc/task'
8
8
 
9
9
  RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'Workflow'
11
+ rdoc.title = 'RailsWorkflow'
12
12
  rdoc.options << '--line-numbers'
13
13
  rdoc.rdoc_files.include('README.rdoc')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
@@ -1,6 +1,6 @@
1
1
  require 'active_support/concern'
2
- # todo cover by tests
3
- module Workflow
2
+
3
+ module RailsWorkflow
4
4
  module OperationStatus
5
5
  extend ActiveSupport::Concern
6
6
 
@@ -1,5 +1,5 @@
1
- # todo cover by tests
2
- module Workflow
1
+
2
+ module RailsWorkflow
3
3
  module OperationTemplates
4
4
  module Assignments
5
5
  extend ActiveSupport::Concern
@@ -8,10 +8,10 @@ module Workflow
8
8
  belongs_to :assignment, polymorphic: true
9
9
  scope :for_user, -> (user) {
10
10
 
11
- keys = Workflow.config.assignment_by.select{|k| user.respond_to? k }
11
+ keys = RailsWorkflow.config.assignment_by.select{|k| user.respond_to? k }
12
12
 
13
13
  assignment_condition = keys.map{|key|
14
- "workflow_operation_templates.#{key} = ?" }.join(" or ")
14
+ "rails_workflow_operation_templates.#{key} = ?" }.join(" or ")
15
15
 
16
16
  where(
17
17
  assignment_condition,
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  module OperationTemplates
3
3
  module DefaultBuilder
4
4
  extend ActiveSupport::Concern
@@ -29,13 +29,13 @@ module Workflow
29
29
 
30
30
 
31
31
  operation = operation_class.create(attrs) do |op|
32
- op.context = Workflow::OperationTemplate.build_context! op, completed_dependencies
32
+ op.context = RailsWorkflow::OperationTemplate.build_context! op, completed_dependencies
33
33
 
34
34
  build_operation op
35
35
  end
36
36
 
37
37
  if child_process.present?
38
- operation.child_process = Workflow::ProcessManager.
38
+ operation.child_process = RailsWorkflow::ProcessManager.
39
39
  build_process(
40
40
  child_process.id,
41
41
  operation.context.data
@@ -1,7 +1,6 @@
1
1
  require 'active_support/concern'
2
2
 
3
- # todo cover by tests
4
- module Workflow
3
+ module RailsWorkflow
5
4
  module OperationTemplates
6
5
  # = Workflow::ProcessTemplate::Dependenceis
7
6
  #
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  module Operations
4
3
  module Assignments
5
4
  extend ActiveSupport::Concern
@@ -7,8 +6,8 @@ module Workflow
7
6
  included do
8
7
  belongs_to :assignment, polymorphic: true
9
8
 
10
- scope :by_role, -> (role) { joins(:template).where(workflow_operation_templates: { role: role })}
11
- scope :by_group, -> (group) { joins(:template).where(workflow_operation_templates: { group: group })}
9
+ scope :by_role, -> (role) { joins(:template).where(rails_workflow_operation_templates: { role: role })}
10
+ scope :by_group, -> (group) { joins(:template).where(rails_workflow_operation_templates: { group: group })}
12
11
  scope :unassigned, -> { where(assignment_id: nil) }
13
12
 
14
13
  scope :waiting, -> { where( status: Operation.user_ready_statuses ) }
@@ -1,5 +1,5 @@
1
- # todo cover by tests
2
- module Workflow
1
+
2
+ module RailsWorkflow
3
3
  module Operations
4
4
  #
5
5
  # = Workflow::Operations::DefaultRunner contains operation starting,
@@ -19,14 +19,14 @@ module Workflow
19
19
  def start
20
20
  can_start? ? starting : waiting
21
21
  rescue => exception
22
- Workflow::Error.create_from exception, parent: self
22
+ RailsWorkflow::Error.create_from exception, parent: self
23
23
  end
24
24
 
25
25
  def starting
26
26
 
27
27
  update_attribute(:status, self.class::IN_PROGRESS)
28
28
 
29
- is_background && Workflow.config.sidekiq_enabled ?
29
+ is_background && RailsWorkflow.config.sidekiq_enabled ?
30
30
  OperationWorker.perform_async(id) :
31
31
  OperationWorker.new.perform(id)
32
32
 
@@ -44,7 +44,7 @@ module Workflow
44
44
  update_attribute(:status, self.class::WAITING)
45
45
  start_waiting if respond_to? :start_waiting
46
46
  rescue => exception
47
- Workflow::Error.create_from exception, parent: self
47
+ RailsWorkflow::Error.create_from exception, parent: self
48
48
  end
49
49
 
50
50
  def execute_in_transaction
@@ -72,7 +72,7 @@ module Workflow
72
72
  # In case of rollback exception we do nothing -
73
73
  # this may be caused by usual validations
74
74
  rescue => exception
75
- Workflow::Error.create_from(
75
+ RailsWorkflow::Error.create_from(
76
76
  exception, {
77
77
  parent: self,
78
78
  target: self,
@@ -93,7 +93,7 @@ module Workflow
93
93
 
94
94
  def can_complete?
95
95
  child_process.present? ?
96
- child_process.status == Workflow::Process::DONE :
96
+ child_process.status == RailsWorkflow::Process::DONE :
97
97
  true
98
98
  end
99
99
 
@@ -109,7 +109,7 @@ module Workflow
109
109
  manager.operation_complete self
110
110
  end
111
111
  rescue => exception
112
- Workflow::Error.create_from(
112
+ RailsWorkflow::Error.create_from(
113
113
  exception, {
114
114
  parent: self,
115
115
  target: self,
@@ -1,6 +1,6 @@
1
1
  require 'active_support/concern'
2
- # todo cover by tests
3
- module Workflow
2
+
3
+ module RailsWorkflow
4
4
  module Operations
5
5
  # = Workflow::ProcessTemplate::Dependenceis
6
6
  #
@@ -1,6 +1,6 @@
1
1
  require 'active_support/concern'
2
- # todo cover by tests
3
- module Workflow
2
+
3
+ module RailsWorkflow
4
4
  module ProcessStatus
5
5
  extend ActiveSupport::Concern
6
6
 
@@ -1,5 +1,5 @@
1
1
  require 'active_support/concern'
2
- module Workflow
2
+ module RailsWorkflow
3
3
  module ProcessTemplates
4
4
  # = DefaultBuilder
5
5
  #
@@ -52,7 +52,7 @@ module Workflow
52
52
 
53
53
  operation
54
54
  rescue => exception
55
- Workflow::Error.create_from(
55
+ RailsWorkflow::Error.create_from(
56
56
  exception, {
57
57
  parent: process,
58
58
  target: process.template,
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  module Processes
4
3
  #= DefaultRunner
5
4
  #
@@ -17,7 +16,7 @@ module Workflow
17
16
  def start
18
17
  if can_start?
19
18
  update_attribute(:status, self.class::IN_PROGRESS)
20
- self.operations.where(status: Workflow::Operation::NOT_STARTED).map(&:start)
19
+ self.operations.where(status: RailsWorkflow::Operation::NOT_STARTED).map(&:start)
21
20
  end
22
21
 
23
22
 
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  module Processes
4
3
  # = DependencyResolver
5
4
  #
@@ -44,7 +43,7 @@ module Workflow
44
43
  end
45
44
  end
46
45
  rescue => exception
47
- Workflow::Error.create_from(
46
+ RailsWorkflow::Error.create_from(
48
47
  exception, {
49
48
  parent: self,
50
49
  target: self,
@@ -1,11 +1,10 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  module User
4
3
  module Assignment
5
4
  extend ActiveSupport::Concern
6
5
 
7
6
  included do
8
- has_many :operations, class: Workflow::Operation, as: :assignment
7
+ has_many :operations, class: RailsWorkflow::Operation, as: :assignment
9
8
 
10
9
 
11
10
  def self.role_text role
@@ -0,0 +1,10 @@
1
+ module RailsWorkflow
2
+ class ApplicationController < ActionController::Base
3
+ before_filter only: [:index, :show, :edit] do
4
+ RailsWorkflow::OperationTemplate.inheritance_column = nil
5
+ RailsWorkflow::Operation.inheritance_column = nil
6
+ RailsWorkflow::ProcessTemplate.inheritance_column = nil
7
+ end
8
+
9
+ end
10
+ end
@@ -1,8 +1,8 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class ErrorsController < ActionController::Base
3
3
 
4
4
  def retry
5
- process = Workflow::Process.find(permitted_params[:process_id])
5
+ process = RailsWorkflow::Process.find(permitted_params[:process_id])
6
6
 
7
7
  if permitted_params[:operation_id].present?
8
8
  operation = Operation.find(permitted_params[:operation_id])
@@ -1,8 +1,7 @@
1
- require 'workflow/application_controller'
2
- # todo cover by tests
3
- module Workflow
1
+ require 'rails_workflow/application_controller'
2
+ module RailsWorkflow
4
3
  class OperationTemplatesController < ::InheritedResources::Base
5
- layout 'workflow/application'
4
+ layout 'rails_workflow/application'
6
5
 
7
6
 
8
7
  defaults collection_name: 'operations', resource_class: OperationTemplate
@@ -23,7 +22,7 @@ module Workflow
23
22
  end
24
23
 
25
24
  def update
26
- @operation_template = Workflow::OperationTemplate.find(params[:id])
25
+ @operation_template = RailsWorkflow::OperationTemplate.find(params[:id])
27
26
  update! { process_template_operation_templates_url }
28
27
  end
29
28
 
@@ -60,7 +59,7 @@ module Workflow
60
59
  dependencies = parms[:operation_template][:dependencies].values.map(&:to_h).each do |dep|
61
60
  dep['id'] = dep['id'].to_i
62
61
  dep['statuses'] = (dep['statuses'] ||
63
- Workflow::OperationTemplate.all_statuses
62
+ RailsWorkflow::OperationTemplate.all_statuses
64
63
  ).map(&:to_i)
65
64
  end
66
65
 
@@ -1,8 +1,8 @@
1
- require_dependency "workflow/application_controller"
1
+ require_dependency "rails_workflow/application_controller"
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  class OperationsController < ::InheritedResources::Base
5
- layout 'workflow/application'
5
+ layout 'rails_workflow/application'
6
6
 
7
7
  before_filter do
8
8
  if parent.present?
@@ -24,12 +24,12 @@ module Workflow
24
24
 
25
25
 
26
26
  def update
27
- @operation = Workflow::Operation.find(params[:id])
27
+ @operation = RailsWorkflow::Operation.find(params[:id])
28
28
  update! { process_operation_url }
29
29
  end
30
30
 
31
31
  def pickup
32
- @operation = Workflow::Operation.find(params[:id])
32
+ @operation = RailsWorkflow::Operation.find(params[:id])
33
33
 
34
34
  if @operation.assign(current_user)
35
35
  set_current_operation
@@ -1,12 +1,11 @@
1
- require 'workflow/application_controller'
2
- # todo cover by tests
3
- module Workflow
1
+ require 'rails_workflow/application_controller'
2
+ module RailsWorkflow
4
3
  class ProcessTemplatesController < ::InheritedResources::Base
5
4
  before_filter do
6
5
  @config_section_active = true
7
6
  end
8
7
 
9
- layout 'workflow/application'
8
+ layout 'rails_workflow/application'
10
9
 
11
10
  def create
12
11
  # create!{ process_template_url(resource) }
@@ -28,7 +27,7 @@ module Workflow
28
27
 
29
28
 
30
29
  def collection
31
- ::Workflow::ProcessTemplateDecorator.decorate_collection(super)
30
+ ::RailsWorkflow::ProcessTemplateDecorator.decorate_collection(super)
32
31
  end
33
32
 
34
33
  def resource
@@ -1,8 +1,7 @@
1
- require 'workflow/application_controller'
2
- # todo cover by tests
3
- module Workflow
1
+ require 'rails_workflow/application_controller'
2
+ module RailsWorkflow
4
3
  class ProcessesController < ::InheritedResources::Base
5
- layout 'workflow/application'
4
+ layout 'rails_workflow/application'
6
5
 
7
6
  before_filter do
8
7
  @processes_section_active = true
@@ -12,7 +11,7 @@ module Workflow
12
11
  #any process should be build by process manager
13
12
  #using some process template.
14
13
 
15
- @process = Workflow::ProcessManager.start_process params[:process][:template_id], {}
14
+ @process = RailsWorkflow::ProcessManager.start_process params[:process][:template_id], {}
16
15
 
17
16
  create! { process_url(resource) }
18
17
  end
@@ -27,13 +26,13 @@ module Workflow
27
26
 
28
27
  def index
29
28
 
30
- @errors = Workflow::Error.unresolved.order(id: :asc).includes(:parent).limit(10)
31
- @open_user_operations = Workflow::OperationDecorator.decorate_collection(
32
- Workflow::Operation.incompleted.unassigned.includes(:template).limit(20)
29
+ @errors = RailsWorkflow::Error.unresolved.order(id: :asc).includes(:parent).limit(10)
30
+ @open_user_operations = RailsWorkflow::OperationDecorator.decorate_collection(
31
+ RailsWorkflow::Operation.incompleted.unassigned.includes(:template).limit(20)
33
32
  )
34
33
  @statistic = {
35
- all: Workflow::Process.count,
36
- statuses: Workflow::Process.count_by_statuses
34
+ all: RailsWorkflow::Process.count,
35
+ statuses: RailsWorkflow::Process.count_by_statuses
37
36
  }
38
37
 
39
38
  index!
@@ -50,7 +49,7 @@ module Workflow
50
49
  collection_scope = end_of_association_chain
51
50
 
52
51
  if params[:filter]
53
- status = ::Workflow::Process.get_status_code(params[:filter]['status'])
52
+ status = ::RailsWorkflow::Process.get_status_code(params[:filter]['status'])
54
53
  collection_scope = collection_scope.by_status(status)
55
54
  end
56
55
 
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class ContextDecorator < Decorator
3
3
  def data
4
4
  if object.present?
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class Decorator < Draper::Decorator
3
3
  def self.collection_decorator_class
4
4
  PaginatingDecorator
@@ -1,5 +1,5 @@
1
- # todo cover by tests
2
- module Workflow
1
+
2
+ module RailsWorkflow
3
3
  class OperationDecorator < OperationHelperDecorator
4
4
  delegate_all
5
5
 
@@ -17,7 +17,7 @@ module Workflow
17
17
 
18
18
  def child_process
19
19
  if object.child_process
20
- ::Workflow::ProcessDecorator.decorate(object.child_process)
20
+ ::RailsWorkflow::ProcessDecorator.decorate(object.child_process)
21
21
  end
22
22
  end
23
23
 
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  class OperationHelperDecorator < Decorator
4
3
 
5
4
  include StatusDecorator
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  class OperationTemplateDecorator < Decorator
4
3
  delegate_all
5
4
 
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class PaginatingDecorator < Draper::CollectionDecorator
3
3
  delegate :current_page, :per_page, :offset, :total_entries, :total_pages
4
4
  end
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class ProcessDecorator < Decorator
3
3
  delegate_all
4
4
 
@@ -15,8 +15,6 @@ module Workflow
15
15
 
16
16
 
17
17
  def parents
18
- #todo collect all parrents -> parents of parent etc
19
-
20
18
  if object.parent_operation.present?
21
19
  [self.class.decorate(object.parent_operation.process)]
22
20
  else
@@ -25,7 +23,6 @@ module Workflow
25
23
  end
26
24
 
27
25
  def children
28
- #todo and children hierarchy
29
26
  children = object.operations.with_child_process.map(&:child_process)
30
27
  if children.present?
31
28
  self.class.decorate_collection(children)
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  class ProcessTemplateDecorator < Decorator
4
3
  delegate_all
5
4
 
@@ -8,15 +7,15 @@ module Workflow
8
7
  end
9
8
 
10
9
  def default_class
11
- Workflow.config.process_class
10
+ RailsWorkflow.config.process_class
12
11
  end
13
12
 
14
13
  def default_manager
15
- Workflow.config.manager_class
14
+ RailsWorkflow.config.manager_class
16
15
  end
17
16
 
18
17
  def default_type
19
- Workflow.config.process_template_type
18
+ RailsWorkflow.config.process_template_type
20
19
  end
21
20
  end
22
21
  end
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  module StatusDecorator
4
3
  extend ActiveSupport::Concern
5
4
 
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  module ApplicationHelper
3
3
  end
4
4
  end
@@ -1,9 +1,8 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  class ProcessManager
4
3
  class << self
5
4
  def build_process template_id, context
6
- template = Workflow::ProcessTemplate.find template_id
5
+ template = RailsWorkflow::ProcessTemplate.find template_id
7
6
  template.build_process! context
8
7
  end
9
8
 
@@ -26,7 +25,7 @@ module Workflow
26
25
  def start_process
27
26
  process.start
28
27
  rescue => exception
29
- Workflow::Error.create_from exception, parent: process
28
+ RailsWorkflow::Error.create_from exception, parent: process
30
29
  end
31
30
 
32
31
  def operation_exception
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class Context < ActiveRecord::Base
3
3
  belongs_to :parent, polymorphic: true
4
4
  attr_accessor :data
@@ -1,7 +1,7 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class Error < ActiveRecord::Base
3
3
  belongs_to :parent, polymorphic: true
4
- has_one :context, class_name: "Workflow::Context", as: :parent
4
+ has_one :context, class_name: "RailsWorkflow::Context", as: :parent
5
5
  scope :unresolved, -> { where("resolved is null or resolved = false")}
6
6
 
7
7
  def retry
@@ -13,25 +13,25 @@ module Workflow
13
13
 
14
14
  target.send(method, *args)
15
15
 
16
- operation = parent if parent.is_a? Workflow::Operation
16
+ operation = parent if parent.is_a? RailsWorkflow::Operation
17
17
 
18
18
  process = if operation
19
19
  operation.process
20
- elsif target.is_a? Workflow::Process
20
+ elsif target.is_a? RailsWorkflow::Process
21
21
  target
22
- elsif parent.is_a? Workflow::Process
22
+ elsif parent.is_a? RailsWorkflow::Process
23
23
  parent
24
24
  end
25
25
 
26
26
  if operation.present?
27
27
  operation.reload
28
- if operation.status == Workflow::Operation::ERROR
29
- operation.update_attribute(:status, Workflow::Operation::NOT_STARTED)
28
+ if operation.status == RailsWorkflow::Operation::ERROR
29
+ operation.update_attribute(:status, RailsWorkflow::Operation::NOT_STARTED)
30
30
  end
31
31
  end
32
32
 
33
33
  if process.present? && can_restart_process(process)
34
- process.update_attribute(:status, Workflow::Process::IN_PROGRESS)
34
+ process.update_attribute(:status, RailsWorkflow::Process::IN_PROGRESS)
35
35
  process.start
36
36
  end
37
37
 
@@ -46,13 +46,13 @@ module Workflow
46
46
 
47
47
  parent = context[:parent]
48
48
 
49
- if parent.is_a? Workflow::Operation
50
- correct_parent = parent.becomes(Workflow::Operation)
51
- elsif parent.is_a? Workflow::Process
52
- correct_parent = parent.becomes(Workflow::Process)
49
+ if parent.is_a? RailsWorkflow::Operation
50
+ correct_parent = parent.becomes(RailsWorkflow::Operation)
51
+ elsif parent.is_a? RailsWorkflow::Process
52
+ correct_parent = parent.becomes(RailsWorkflow::Process)
53
53
  end
54
54
 
55
- error = Workflow::Error.create(
55
+ error = RailsWorkflow::Error.create(
56
56
  parent_id: parent.id,
57
57
  parent_type: (correct_parent || parent).class.to_s,
58
58
  message: exception.message.first(250),
@@ -64,7 +64,7 @@ module Workflow
64
64
  # Workflow.config.sidekiq_enabled ?
65
65
  # Workflow::ErrorWorker.perform_async(parent.id, parent.class.to_s) :
66
66
  # Workflow::ErrorWorker.new.perform(parent.id, parent.class.to_s)
67
- Workflow::ErrorWorker.new.perform(parent.id, parent.class.to_s)
67
+ RailsWorkflow::ErrorWorker.new.perform(parent.id, parent.class.to_s)
68
68
  end
69
69
  end
70
70
  end
@@ -1,5 +1,4 @@
1
- # todo cover by tests
2
- module Workflow
1
+ module RailsWorkflow
3
2
  class Operation < ActiveRecord::Base
4
3
  include OperationStatus
5
4
 
@@ -7,11 +6,11 @@ module Workflow
7
6
  include Operations::Dependencies
8
7
  include Operations::Assignments
9
8
 
10
- belongs_to :process, class_name: "Workflow::Process"
11
- belongs_to :template, class_name: "Workflow::OperationTemplate"
12
- belongs_to :child_process, class_name: "Workflow::Process"
13
- has_one :context, class_name: "Workflow::Context", as: :parent
14
- has_many :workflow_errors, class_name: "Workflow::Error", as: :parent
9
+ belongs_to :process, class_name: "RailsWorkflow::Process"
10
+ belongs_to :template, class_name: "RailsWorkflow::OperationTemplate"
11
+ belongs_to :child_process, class_name: "RailsWorkflow::Process"
12
+ has_one :context, class_name: "RailsWorkflow::Context", as: :parent
13
+ has_many :workflow_errors, class_name: "RailsWorkflow::Error", as: :parent
15
14
 
16
15
  delegate :data, to: :context
17
16
  delegate :role, to: :template