rails_workflow 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1 @@
1
+ 43488
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :context, class: 'Workflow::Context' do
2
+ factory :context, class: 'RailsWorkflow::Context' do
3
3
  end
4
4
 
5
5
  end
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :operation_template, class: 'Workflow::OperationTemplate' do
2
+ factory :operation_template, class: 'RailsWorkflow::OperationTemplate' do
3
3
  title "Operation Template"
4
4
  kind 'default'
5
5
  is_background true
@@ -1,12 +1,12 @@
1
1
  FactoryGirl.define do
2
- factory :operation, :class => 'Workflow::Operation' do
2
+ factory :operation, :class => 'RailsWorkflow::Operation' do
3
3
  title "Test Operation"
4
- status Workflow::Operation::NOT_STARTED
4
+ status RailsWorkflow::Operation::NOT_STARTED
5
5
 
6
6
  factory :operation_with_context do
7
7
  context { create :context, data: { msg: "Test" }}
8
8
  end
9
9
  end
10
10
 
11
- factory :custom_operation, class: 'Workflow::CustomOperation'
11
+ factory :custom_operation, class: 'RailsWorkflow::CustomOperation'
12
12
  end
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :process_template, class: 'Workflow::ProcessTemplate' do
2
+ factory :process_template, class: 'RailsWorkflow::ProcessTemplate' do
3
3
  title "Process Template"
4
4
  end
5
5
 
@@ -1,6 +1,6 @@
1
1
  FactoryGirl.define do
2
- factory :process, :class => 'Workflow::Process' do
3
- status Workflow::Process::NOT_STARTED
2
+ factory :process, :class => "RailsWorkflow::Process" do
3
+ status RailsWorkflow::Process::NOT_STARTED
4
4
  context { create :context, data: {msg: "Test message"} }
5
5
  end
6
6
 
@@ -1,5 +1,5 @@
1
1
  FactoryGirl.define do
2
- factory :workflow_error, :class => 'Workflow::Error' do
2
+ factory :workflow_error, :class => 'RailsWorkflow::Error' do
3
3
  message "MyString"
4
4
  stack_trace "MyText"
5
5
  parent_id 1
@@ -2,7 +2,6 @@ require 'rails_helper'
2
2
 
3
3
  feature 'Process Template' do
4
4
  scenario "User creates new template" do
5
- # todo:TBD
6
5
  # visit "/workflow/config"
7
6
  #
8
7
  # click_link "Add Process Template"
@@ -1,16 +1,16 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe Context, :type => :model do
5
5
  let(:operation) { create :operation }
6
6
  let(:process) { create :process }
7
7
  let(:manager) { ProcessManager.new }
8
8
  let(:template) {
9
- create :operation_template, async: true, operation_class: "Workflow::UserByGroupOperation"
9
+ create :operation_template, async: true, operation_class: "RailsWorkflow::UserByGroupOperation"
10
10
  }
11
11
 
12
12
  before :each do
13
- allow_any_instance_of(Workflow::Process).to receive(:manager).and_return(manager)
13
+ allow_any_instance_of(RailsWorkflow::Process).to receive(:manager).and_return(manager)
14
14
  end
15
15
 
16
16
 
@@ -98,7 +98,7 @@ module Workflow
98
98
 
99
99
 
100
100
  it 'should be build using operation dependencies contexts' do
101
- operation = create :operation_with_context, status: Workflow::Operation::ERROR
101
+ operation = create :operation_with_context, status: RailsWorkflow::Operation::ERROR
102
102
 
103
103
  child_operation =
104
104
  template.build_operation! process, [operation]
@@ -1,6 +1,6 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe Error, :type => :model do
5
5
  # let(:process_template) { create :process_template }
6
6
  # let(:process) {
@@ -1,19 +1,19 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe Operation, :type => :model do
5
5
  context 'Default Builder' do
6
6
  let(:template) {
7
- create :operation_template, async: true, operation_class: "Workflow::UserByGroupOperation"
7
+ create :operation_template, async: true, operation_class: "RailsWorkflow::UserByGroupOperation"
8
8
  }
9
9
 
10
- let(:manager) { manager = Workflow::ProcessManager.new }
10
+ let(:manager) { manager = RailsWorkflow::ProcessManager.new }
11
11
  let(:process) { process = create :process }
12
12
 
13
13
  let(:operation) { template.build_operation! process }
14
14
 
15
15
  before :each do
16
- allow_any_instance_of(Workflow::Process).to receive(:manager).and_return(manager)
16
+ allow_any_instance_of(RailsWorkflow::Process).to receive(:manager).and_return(manager)
17
17
  end
18
18
 
19
19
  it 'sould fill title and async from template' do
@@ -26,7 +26,7 @@ module Workflow
26
26
 
27
27
  context 'should set dependencies' do
28
28
  it 'from template' do
29
- operation = create :operation, status: Workflow::Operation::ERROR
29
+ operation = create :operation, status: RailsWorkflow::Operation::ERROR
30
30
 
31
31
 
32
32
  operation_with_dependencies =
@@ -49,7 +49,7 @@ module Workflow
49
49
  end
50
50
 
51
51
  it 'should build correct class' do
52
- expect(operation).to be_kind_of Workflow::UserByGroupOperation
52
+ expect(operation).to be_kind_of RailsWorkflow::UserByGroupOperation
53
53
  end
54
54
 
55
55
  it 'should set reference to operation template' do
@@ -67,7 +67,7 @@ module Workflow
67
67
  end
68
68
 
69
69
  it 'should set status NOT STARTED' do
70
- expect(operation.status).to eq Workflow::Operation::NOT_STARTED
70
+ expect(operation.status).to eq RailsWorkflow::Operation::NOT_STARTED
71
71
  end
72
72
 
73
73
  it 'should build child process' do
@@ -75,7 +75,7 @@ module Workflow
75
75
 
76
76
  parent_operation = parent_template.build_operation! process, [operation]
77
77
 
78
- expect(parent_operation.child_process).to be_a_kind_of Workflow::Process
78
+ expect(parent_operation.child_process).to be_a_kind_of RailsWorkflow::Process
79
79
  end
80
80
 
81
81
  it 'should save operation' do
@@ -155,14 +155,14 @@ module Workflow
155
155
 
156
156
  user = create :user, role: :admin
157
157
 
158
- role_operations = Workflow::Operation.available_for_user(user)
158
+ role_operations = RailsWorkflow::Operation.available_for_user(user)
159
159
  expect(role_operations).to match_array([role_operation])
160
160
 
161
161
  fake_user = create :user, email: 'fake@email.com', role: 'fake'
162
- expect(Workflow::Operation.available_for_user(fake_user)).to eq []
162
+ expect(RailsWorkflow::Operation.available_for_user(fake_user)).to eq []
163
163
 
164
164
  role_operation.assign user
165
- expect(Workflow::Operation.unassigned).to match_array [group_operation]
165
+ expect(RailsWorkflow::Operation.unassigned).to match_array [group_operation]
166
166
  end
167
167
 
168
168
  end
@@ -174,13 +174,13 @@ module Workflow
174
174
  it 'should be set to WAITING if can not start' do
175
175
  allow(operation).to receive(:can_start?).and_return(false)
176
176
  operation.start
177
- expect(operation.status).to eq Workflow::Operation::WAITING
177
+ expect(operation.status).to eq RailsWorkflow::Operation::WAITING
178
178
  end
179
179
 
180
180
  it 'should start child process' do
181
181
 
182
- allow_any_instance_of(Workflow::Process).to receive(:can_start?).and_return(true)
183
- allow_any_instance_of(Workflow::Process).to receive(:can_complete?).and_return(false)
182
+ allow_any_instance_of(RailsWorkflow::Process).to receive(:can_start?).and_return(true)
183
+ allow_any_instance_of(RailsWorkflow::Process).to receive(:can_complete?).and_return(false)
184
184
 
185
185
  parent_operation = create :operation
186
186
 
@@ -190,9 +190,9 @@ module Workflow
190
190
 
191
191
 
192
192
 
193
- expect(parent_operation.status).to eq Workflow::Operation::IN_PROGRESS
193
+ expect(parent_operation.status).to eq RailsWorkflow::Operation::IN_PROGRESS
194
194
  parent_operation.child_process.reload
195
- expect(parent_operation.child_process.status).to eq Workflow::Process::IN_PROGRESS
195
+ expect(parent_operation.child_process.status).to eq RailsWorkflow::Process::IN_PROGRESS
196
196
  end
197
197
 
198
198
  it 'should not complete if child process is in progress'
@@ -207,14 +207,14 @@ module Workflow
207
207
 
208
208
  context 'complete operation ' do
209
209
  before :each do
210
- @manager = Workflow::ProcessManager.new
211
- allow_any_instance_of(Workflow::Operation).to receive(:manager).and_return(@manager)
210
+ @manager = RailsWorkflow::ProcessManager.new
211
+ allow_any_instance_of(RailsWorkflow::Operation).to receive(:manager).and_return(@manager)
212
212
  end
213
213
 
214
214
  it 'should change state to DONE on complete' do
215
215
  expect(@manager).to receive(:operation_complete)
216
216
  subject.complete
217
- expect(subject.status).to eq Workflow::Operation::DONE
217
+ expect(subject.status).to eq RailsWorkflow::Operation::DONE
218
218
  end
219
219
 
220
220
  end
@@ -1,6 +1,6 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe OperationTemplate, :type => :model do
5
5
 
6
6
  let(:template) { create :process_template }
@@ -11,10 +11,10 @@ module Workflow
11
11
  {
12
12
  title: 'First Test project',
13
13
  process_template_id: template.id,
14
- type: 'Workflow::CustomOperationTemplate'
14
+ type: "RailsWorkflow::CustomOperationTemplate"
15
15
  }
16
16
  )
17
- expect(operation_template).to be_instance_of(Workflow::CustomOperationTemplate)
17
+ expect(operation_template).to be_instance_of(RailsWorkflow::CustomOperationTemplate)
18
18
  end
19
19
 
20
20
  it 'should return only independent operations' do
@@ -23,12 +23,12 @@ module Workflow
23
23
  dependencies = [
24
24
  {
25
25
  "id" => operation.id,
26
- "statuses" => [Workflow::OperationStatus::DONE]
26
+ "statuses" => [RailsWorkflow::OperationStatus::DONE]
27
27
  }
28
28
  ]
29
29
 
30
30
  create :operation_template, process_template: template, dependencies: dependencies
31
- expect(Workflow::OperationTemplate.independent_only.to_a).to match_array([operation])
31
+ expect(RailsWorkflow::OperationTemplate.independent_only.to_a).to match_array([operation])
32
32
  end
33
33
 
34
34
 
@@ -1,6 +1,6 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe Process, :type => :model do
5
5
  it 'should complete parent operation on process complete'
6
6
 
@@ -1,9 +1,9 @@
1
1
  require 'rails_helper'
2
2
 
3
- module Workflow
3
+ module RailsWorkflow
4
4
  RSpec.describe ProcessTemplate, :type => :model do
5
5
  let(:template) {
6
- create :process_template, process_class: "Workflow::TestProcess"
6
+ create :process_template, process_class: "RailsWorkflow::TestProcess"
7
7
  }
8
8
 
9
9
  it 'should init new process' do
@@ -14,7 +14,7 @@ module Workflow
14
14
 
15
15
  end
16
16
 
17
- class TestProcess < Workflow::Process
17
+ class TestProcess < RailsWorkflow::Process
18
18
  end
19
19
 
20
20
  end
data/spec/rails_helper.rb CHANGED
@@ -15,8 +15,8 @@ require_relative '../spec/factories/operations.rb'
15
15
  require_relative '../spec/factories/processes.rb'
16
16
  require_relative '../spec/factories/user.rb'
17
17
  require_relative '../spec/factories/context.rb'
18
- require_relative '../spec/support/workflow/custom_operation_template.rb'
19
- require_relative '../spec/support/workflow/custom_operation.rb'
18
+ require_relative '../spec/support/rails_workflow/custom_operation_template.rb'
19
+ require_relative '../spec/support/rails_workflow/custom_operation.rb'
20
20
 
21
21
 
22
22
  ActiveRecord::Migration.maintain_test_schema!
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class CustomOperation < Operation
3
3
  end
4
4
  end
@@ -1,4 +1,4 @@
1
- module Workflow
1
+ module RailsWorkflow
2
2
  class CustomOperationTemplate < OperationTemplate
3
3
  end
4
4
  end