dynflow 0.7.8 → 0.7.9

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTk4YWEzYzI4ZGUxYmEzYmRiZmYwZGUwN2I3ZjgzY2NlNmNjMDQ2OA==
5
+ data.tar.gz: !binary |-
6
+ OTFjZmY1OGE4MDI3MmIwY2YyYTIwYjZiOWI1YjljMTNiN2JhN2FhMA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZGRlZGI5Njc4ZDA4ZmFkNzMxMTdkMGM0M2E5Y2ZlNjljYjUxNzc5MDY0ZWY5
10
+ MWJmNWQzYjZjOGVhMTM2ODRiZjZlM2JkMTZhY2MwMzUwNDM4M2FlN2VmZjA3
11
+ ODIwODIzYjdkZGE2NGI1NGYzNzEzODQ4OTdjOWQyMTc0ZTI5YmQ=
12
+ data.tar.gz: !binary |-
13
+ OTllZWM0M2U2M2ZiN2I1MjA0MTQzM2ZlYzdiNzUxMzZjMTg2Mzg5ODRiOTcw
14
+ MWQwNTdmMjYxN2Q3ZWFlOGRmOTVmZjJhNjIyYTNlMjZiNWI4NTc2ZWNlODg4
15
+ MTUyNmMwNGY5MWFiZjc4MTU5YWRjMmEwYTllNzcwM2QzMWMxNDE=
@@ -486,7 +486,7 @@ def plan
486
486
  # so it's added to the above sequence to be executed as 4th.
487
487
  action1 = plan_action AnAction, actions_executed_sequentially.last.output
488
488
 
489
- # It's planed in default plan's concurrency scope it's executed concurrently
489
+ # It's planned in default plan's concurrency scope it's executed concurrently
490
490
  # to about four actions.
491
491
  action2 = plan_action AnAction
492
492
  end
@@ -246,6 +246,12 @@ module Dynflow
246
246
  @step.state
247
247
  end
248
248
 
249
+ # @override to define more descriptive state information for the
250
+ # action: used in Dynflow console
251
+ def humanized_state
252
+ state.to_s
253
+ end
254
+
249
255
  def error
250
256
  phase! Executable
251
257
  @step.error
@@ -3,7 +3,7 @@ module Dynflow
3
3
  module Assertions
4
4
  # assert that +assert_actioned_plan+ was planned by +action+ with arguments +plan_input+
5
5
  # alternatively plan-input can be asserted with +block+
6
- def assert_action_planed_with(action, planned_action_class, *plan_input, &block)
6
+ def assert_action_planned_with(action, planned_action_class, *plan_input, &block)
7
7
  found_classes = assert_action_planed(action, planned_action_class)
8
8
  found = found_classes.select do |a|
9
9
  if plan_input.empty?
@@ -20,7 +20,7 @@ module Dynflow
20
20
  end
21
21
 
22
22
  # assert that +assert_actioned_plan+ was planned by +action+
23
- def assert_action_planed(action, planned_action_class)
23
+ def assert_action_planned(action, planned_action_class)
24
24
  Match! action.phase, Action::Plan
25
25
  Match! action.state, :success
26
26
  found = action.execution_plan.planned_plan_steps.
@@ -30,7 +30,7 @@ module Dynflow
30
30
  found
31
31
  end
32
32
 
33
- def refute_action_planed(action, planned_action_class)
33
+ def refute_action_planned(action, planned_action_class)
34
34
  Match! action.phase, Action::Plan
35
35
  Match! action.state, :success
36
36
  found = action.execution_plan.planned_plan_steps.
@@ -40,6 +40,10 @@ module Dynflow
40
40
  found
41
41
  end
42
42
 
43
+ alias :assert_action_planed_with :assert_action_planned_with
44
+ alias :assert_action_planed :assert_action_planned
45
+ alias :refute_action_planed :refute_action_planned
46
+
43
47
  # assert that +action+ has run-phase planned
44
48
  def assert_run_phase(action, input = nil, &block)
45
49
  Match! action.phase, Action::Plan
@@ -1,3 +1,3 @@
1
1
  module Dynflow
2
- VERSION = '0.7.8'
2
+ VERSION = '0.7.9'
3
3
  end
@@ -1,6 +1,6 @@
1
1
  require 'dynflow'
2
2
  require 'pp'
3
- require 'sinatra'
3
+ require 'sinatra/base'
4
4
  require 'yaml'
5
5
 
6
6
  module Dynflow
@@ -91,6 +91,32 @@ module Dynflow
91
91
  end
92
92
  end
93
93
 
94
+ describe '#humanized_state' do
95
+ include WorldInstance
96
+ include Testing
97
+
98
+ class ActionWithHumanizedState < Dynflow::Action
99
+ def run(event = nil)
100
+ suspend unless event
101
+ end
102
+
103
+ def humanized_state
104
+ case state
105
+ when :suspended
106
+ "waiting"
107
+ else
108
+ super
109
+ end
110
+ end
111
+ end
112
+
113
+ it 'is customizable from an action' do
114
+ plan = create_and_plan_action ActionWithHumanizedState, {}
115
+ action = run_action(plan)
116
+ action.humanized_state.must_equal "waiting"
117
+ end
118
+ end
119
+
94
120
  describe 'polling action' do
95
121
  CWE = Support::CodeWorkflowExample
96
122
  include Dynflow::Testing
@@ -20,8 +20,8 @@ module Dynflow
20
20
  action.state.must_equal :success
21
21
  assert_run_phase action
22
22
  assert_finalize_phase action
23
- assert_action_planed action, CWE::DummySuspended
24
- refute_action_planed action, CWE::DummyAnotherTrigger
23
+ assert_action_planned action, CWE::DummySuspended
24
+ refute_action_planned action, CWE::DummyAnotherTrigger
25
25
  end
26
26
 
27
27
  specify 'stub_plan_action' do
@@ -103,11 +103,11 @@ module Dynflow
103
103
  refute_run_phase action
104
104
  refute_finalize_phase action
105
105
 
106
- assert_action_planed action, CWE::Ci
107
- assert_action_planed_with action, CWE::Review do |_, name, _|
106
+ assert_action_planned action, CWE::Ci
107
+ assert_action_planned_with action, CWE::Review do |_, name, _|
108
108
  name == 'Morfeus'
109
109
  end
110
- assert_action_planed_with action, CWE::Review, sha, 'Neo', true
110
+ assert_action_planned_with action, CWE::Review, sha, 'Neo', true
111
111
  end
112
112
  end
113
113
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  <span class="step-label">
8
8
  <%= h(step.id) %>: <%= h(step.action_class.name) %>
9
- (<%= h(step.state) %>)
9
+ (<%= h(action.humanized_state) %>)
10
10
  <% unless step.state == :pending %>
11
11
  [ <%= duration_to_s(step.real_time) %> / <%= duration_to_s(step.execution_time) %> ]
12
12
  <% end %>
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.8
5
- prerelease:
4
+ version: 0.7.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ivan Necas
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2015-05-18 00:00:00.000000000 Z
12
+ date: 2015-06-19 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: activesupport
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ! '>='
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ! '>='
29
26
  - !ruby/object:Gem::Version
@@ -31,7 +28,6 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: multi_json
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
32
  - - ! '>='
37
33
  - !ruby/object:Gem::Version
@@ -39,7 +35,6 @@ dependencies:
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
39
  - - ! '>='
45
40
  - !ruby/object:Gem::Version
@@ -47,7 +42,6 @@ dependencies:
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: apipie-params
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
46
  - - ! '>='
53
47
  - !ruby/object:Gem::Version
@@ -55,7 +49,6 @@ dependencies:
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
53
  - - ! '>='
61
54
  - !ruby/object:Gem::Version
@@ -63,7 +56,6 @@ dependencies:
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: algebrick
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
60
  - - ~>
69
61
  - !ruby/object:Gem::Version
@@ -71,7 +63,6 @@ dependencies:
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
67
  - - ~>
77
68
  - !ruby/object:Gem::Version
@@ -79,7 +70,6 @@ dependencies:
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: rack-test
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
74
  - - ! '>='
85
75
  - !ruby/object:Gem::Version
@@ -87,7 +77,6 @@ dependencies:
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
81
  - - ! '>='
93
82
  - !ruby/object:Gem::Version
@@ -95,7 +84,6 @@ dependencies:
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: minitest
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
88
  - - ! '>='
101
89
  - !ruby/object:Gem::Version
@@ -103,7 +91,6 @@ dependencies:
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
95
  - - ! '>='
109
96
  - !ruby/object:Gem::Version
@@ -111,7 +98,6 @@ dependencies:
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: minitest-reporters
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
102
  - - ! '>='
117
103
  - !ruby/object:Gem::Version
@@ -119,7 +105,6 @@ dependencies:
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
109
  - - ! '>='
125
110
  - !ruby/object:Gem::Version
@@ -127,7 +112,6 @@ dependencies:
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: activerecord
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
116
  - - ! '>='
133
117
  - !ruby/object:Gem::Version
@@ -135,7 +119,6 @@ dependencies:
135
119
  type: :development
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
123
  - - ! '>='
141
124
  - !ruby/object:Gem::Version
@@ -143,7 +126,6 @@ dependencies:
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: sequel
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
130
  - - ! '>='
149
131
  - !ruby/object:Gem::Version
@@ -151,7 +133,6 @@ dependencies:
151
133
  type: :development
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
137
  - - ! '>='
157
138
  - !ruby/object:Gem::Version
@@ -159,7 +140,6 @@ dependencies:
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: sqlite3
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
144
  - - ! '>='
165
145
  - !ruby/object:Gem::Version
@@ -167,7 +147,6 @@ dependencies:
167
147
  type: :development
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
150
  requirements:
172
151
  - - ! '>='
173
152
  - !ruby/object:Gem::Version
@@ -175,7 +154,6 @@ dependencies:
175
154
  - !ruby/object:Gem::Dependency
176
155
  name: sinatra
177
156
  requirement: !ruby/object:Gem::Requirement
178
- none: false
179
157
  requirements:
180
158
  - - ! '>='
181
159
  - !ruby/object:Gem::Version
@@ -183,7 +161,6 @@ dependencies:
183
161
  type: :development
184
162
  prerelease: false
185
163
  version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
164
  requirements:
188
165
  - - ! '>='
189
166
  - !ruby/object:Gem::Version
@@ -466,27 +443,26 @@ files:
466
443
  homepage: http://github.com/Dynflow/dynflow
467
444
  licenses:
468
445
  - MIT
446
+ metadata: {}
469
447
  post_install_message:
470
448
  rdoc_options: []
471
449
  require_paths:
472
450
  - lib
473
451
  required_ruby_version: !ruby/object:Gem::Requirement
474
- none: false
475
452
  requirements:
476
453
  - - ! '>='
477
454
  - !ruby/object:Gem::Version
478
455
  version: 1.9.3
479
456
  required_rubygems_version: !ruby/object:Gem::Requirement
480
- none: false
481
457
  requirements:
482
458
  - - ! '>='
483
459
  - !ruby/object:Gem::Version
484
460
  version: '0'
485
461
  requirements: []
486
462
  rubyforge_project:
487
- rubygems_version: 1.8.23
463
+ rubygems_version: 2.4.8
488
464
  signing_key:
489
- specification_version: 3
465
+ specification_version: 4
490
466
  summary: DYNamic workFLOW engine
491
467
  test_files:
492
468
  - test/action_test.rb