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
@@ -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