bumbleworks 0.0.74 → 0.0.76
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.
- checksums.yaml +7 -0
- data/.rspec +1 -1
- data/.ruby-version +1 -1
- data/bumbleworks.gemspec +2 -2
- data/lib/bumbleworks.rb +1 -0
- data/lib/bumbleworks/expression.rb +12 -1
- data/lib/bumbleworks/process.rb +10 -0
- data/lib/bumbleworks/process/error_record.rb +14 -0
- data/lib/bumbleworks/schedule.rb +58 -0
- data/lib/bumbleworks/task.rb +2 -1
- data/lib/bumbleworks/task/finder.rb +4 -0
- data/lib/bumbleworks/version.rb +1 -1
- data/lib/bumbleworks/workitem.rb +4 -0
- data/spec/fixtures/schedules.rb +40 -0
- data/spec/integration/entity_spec.rb +7 -7
- data/spec/integration/example_configurations_spec.rb +5 -5
- data/spec/integration/history_storage_spec.rb +9 -9
- data/spec/integration/sample_application_spec.rb +15 -15
- data/spec/lib/bumbleworks/configuration_spec.rb +52 -52
- data/spec/lib/bumbleworks/entity_spec.rb +66 -68
- data/spec/lib/bumbleworks/error_handler_spec.rb +1 -1
- data/spec/lib/bumbleworks/error_logger_spec.rb +5 -5
- data/spec/lib/bumbleworks/expression_spec.rb +34 -12
- data/spec/lib/bumbleworks/hash_storage_spec.rb +2 -2
- data/spec/lib/bumbleworks/participant/base_spec.rb +1 -1
- data/spec/lib/bumbleworks/participant/entity_interactor_spec.rb +20 -20
- data/spec/lib/bumbleworks/participant/error_dispatcher_spec.rb +3 -3
- data/spec/lib/bumbleworks/participant/local_participant_spec.rb +1 -1
- data/spec/lib/bumbleworks/participant_registration_spec.rb +4 -4
- data/spec/lib/bumbleworks/process/error_record_spec.rb +13 -0
- data/spec/lib/bumbleworks/process_definition_spec.rb +30 -24
- data/spec/lib/bumbleworks/process_spec.rb +86 -54
- data/spec/lib/bumbleworks/ruote/exp/broadcast_event_expression_spec.rb +2 -2
- data/spec/lib/bumbleworks/ruote/exp/wait_for_event_expression_spec.rb +4 -4
- data/spec/lib/bumbleworks/ruote_spec.rb +73 -71
- data/spec/lib/bumbleworks/schedule_spec.rb +124 -0
- data/spec/lib/bumbleworks/simple_logger_spec.rb +8 -8
- data/spec/lib/bumbleworks/storage_adapter_spec.rb +16 -16
- data/spec/lib/bumbleworks/support_spec.rb +23 -19
- data/spec/lib/bumbleworks/task/finder_spec.rb +46 -46
- data/spec/lib/bumbleworks/task_spec.rb +188 -167
- data/spec/lib/bumbleworks/tracker_spec.rb +41 -42
- data/spec/lib/bumbleworks/tree_builder_spec.rb +9 -7
- data/spec/lib/bumbleworks/user_spec.rb +35 -35
- data/spec/lib/bumbleworks/workitem_entity_storage_spec.rb +5 -5
- data/spec/lib/bumbleworks/workitem_spec.rb +28 -17
- data/spec/lib/bumbleworks_spec.rb +57 -51
- data/spec/spec_helper.rb +0 -1
- data/spec/support/shared_examples.rb +3 -3
- metadata +35 -54
@@ -8,46 +8,46 @@ describe Bumbleworks::Workitem do
|
|
8
8
|
it 'returns true if other object has same raw workitem' do
|
9
9
|
bw1 = described_class.new('in_da_sky')
|
10
10
|
bw2 = described_class.new('in_da_sky')
|
11
|
-
bw1.
|
11
|
+
expect(bw1).to eq(bw2)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
describe '#has_entity_fields?' do
|
16
16
|
it 'returns true if workitem fields include entity fields' do
|
17
|
-
workitem.
|
17
|
+
expect(workitem).to have_entity_fields
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'returns true if workitem fields include symbolized version of entity fields' do
|
21
21
|
ruote_workitem.fields = { :entity_id => '123', :entity_type => 'RainbowLoom' }
|
22
|
-
workitem.
|
22
|
+
expect(workitem).to have_entity_fields
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'returns false if workitem fields do not include entity fields' do
|
26
26
|
ruote_workitem.fields = {}
|
27
|
-
workitem.
|
27
|
+
expect(workitem).not_to have_entity_fields
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
31
|
describe '#has_entity?' do
|
32
32
|
it 'returns true if entity is not nil' do
|
33
|
-
workitem.
|
34
|
-
workitem.has_entity
|
33
|
+
allow(workitem).to receive(:entity).and_return(:a_real_boy_not_a_puppet)
|
34
|
+
expect(workitem.has_entity?).to be_truthy
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'returns false if EntityNotFound' do
|
38
|
-
workitem.
|
39
|
-
workitem.has_entity
|
38
|
+
allow(workitem).to receive(:entity).and_raise(Bumbleworks::EntityNotFound)
|
39
|
+
expect(workitem.has_entity?).to be_falsy
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
43
|
describe '#entity' do
|
44
44
|
it 'attempts to instantiate business entity from _id and _type fields' do
|
45
|
-
workitem.entity.identifier.
|
45
|
+
expect(workitem.entity.identifier).to eq('123')
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'works with symbolized _id and _type fields' do
|
49
49
|
ruote_workitem.fields = { :entity_id => '125', :entity_type => 'RainbowLoom' }
|
50
|
-
workitem.entity.identifier.
|
50
|
+
expect(workitem.entity.identifier).to eq('125')
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'throw exception if entity fields not present' do
|
@@ -66,37 +66,48 @@ describe Bumbleworks::Workitem do
|
|
66
66
|
|
67
67
|
it 'returns same instance when called twice' do
|
68
68
|
workitem.entity.identifier = 'nerfus'
|
69
|
-
workitem.entity.identifier.
|
69
|
+
expect(workitem.entity.identifier).to eq('nerfus')
|
70
70
|
end
|
71
71
|
|
72
72
|
it 'reloads instance when called with reload option' do
|
73
73
|
workitem.entity.identifier = 'pickles'
|
74
|
-
workitem.entity(:reload => true).identifier.
|
74
|
+
expect(workitem.entity(:reload => true).identifier).to eq('123')
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#tokenized_entity_type' do
|
79
|
+
it 'returns tokenized entity type' do
|
80
|
+
expect(workitem.tokenized_entity_type).to eq('rainbow_loom')
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'returns nil if no entity type' do
|
84
|
+
allow(workitem).to receive(:entity_type).and_return(nil)
|
85
|
+
expect(workitem.tokenized_entity_type).to be_nil
|
75
86
|
end
|
76
87
|
end
|
77
88
|
|
78
89
|
describe "#entity_fields" do
|
79
90
|
it 'returns empty hash if no entity' do
|
80
91
|
ruote_workitem.fields = {}
|
81
|
-
workitem.entity_fields.
|
92
|
+
expect(workitem.entity_fields).to eq({})
|
82
93
|
end
|
83
94
|
|
84
95
|
it 'returns class name and identifier by default' do
|
85
|
-
workitem.entity_fields.
|
96
|
+
expect(workitem.entity_fields).to eq({ :type => 'RainbowLoom', :identifier => '123' })
|
86
97
|
end
|
87
98
|
|
88
99
|
it 'humanizes class name when requested' do
|
89
|
-
workitem.entity_fields(:humanize => true).
|
100
|
+
expect(workitem.entity_fields(:humanize => true)).to eq({ :type => 'Rainbow loom', :identifier => '123' })
|
90
101
|
end
|
91
102
|
|
92
103
|
it 'titleizes class name when requested' do
|
93
|
-
workitem.entity_fields(:titleize => true).
|
104
|
+
expect(workitem.entity_fields(:titleize => true)).to eq({ :type => 'Rainbow Loom', :identifier => '123' })
|
94
105
|
end
|
95
106
|
end
|
96
107
|
|
97
108
|
describe "#entity_name" do
|
98
109
|
it 'returns entity fields in displayable string' do
|
99
|
-
workitem.entity_name.
|
110
|
+
expect(workitem.entity_name).to eq('Rainbow Loom 123')
|
100
111
|
end
|
101
112
|
end
|
102
113
|
end
|
@@ -16,8 +16,8 @@ describe Bumbleworks do
|
|
16
16
|
c.storage = 'nerfy'
|
17
17
|
end
|
18
18
|
|
19
|
-
described_class.configuration.root.
|
20
|
-
described_class.configuration.storage.
|
19
|
+
expect(described_class.configuration.root).to eq('pickles')
|
20
|
+
expect(described_class.configuration.storage).to eq('nerfy')
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'requires a block' do
|
@@ -39,7 +39,7 @@ describe Bumbleworks do
|
|
39
39
|
it 'resets configuration' do
|
40
40
|
old_config = described_class.configuration
|
41
41
|
described_class.clear_configuration!
|
42
|
-
described_class.configuration.
|
42
|
+
expect(described_class.configuration).not_to eq(old_config)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -55,69 +55,75 @@ describe Bumbleworks do
|
|
55
55
|
it 'can set directly' do
|
56
56
|
storage = double("Storage")
|
57
57
|
Bumbleworks.storage = storage
|
58
|
-
Bumbleworks.storage.
|
59
|
-
Bumbleworks.configuration.storage.
|
58
|
+
expect(Bumbleworks.storage).to eq(storage)
|
59
|
+
expect(Bumbleworks.configuration.storage).to eq(storage)
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'can set with a block' do
|
63
63
|
storage = double("Storage")
|
64
64
|
Bumbleworks.configure {|c| c.storage = storage }
|
65
|
-
Bumbleworks.storage.
|
66
|
-
Bumbleworks.configuration.storage.
|
65
|
+
expect(Bumbleworks.storage).to eq(storage)
|
66
|
+
expect(Bumbleworks.configuration.storage).to eq(storage)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
70
|
describe '.autoload_tasks' do
|
71
71
|
it 'autoloads task modules' do
|
72
|
-
Bumbleworks::Task.
|
72
|
+
expect(Bumbleworks::Task).to receive(:autoload_all)
|
73
73
|
described_class.autoload_tasks
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
77
|
describe '.autoload_participants' do
|
78
78
|
it 'autoloads participant classes' do
|
79
|
-
Bumbleworks::ParticipantRegistration.
|
79
|
+
expect(Bumbleworks::ParticipantRegistration).to receive(:autoload_all)
|
80
80
|
described_class.autoload_participants
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
84
|
describe '.initialize!' do
|
85
85
|
it 'autoloads task modules and participant classes' do
|
86
|
-
described_class.
|
87
|
-
described_class.
|
86
|
+
expect(described_class).to receive(:autoload_participants)
|
87
|
+
expect(described_class).to receive(:autoload_tasks)
|
88
88
|
described_class.initialize!
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
92
|
describe '.register_participants' do
|
93
93
|
it 'autoloads participant classes and registers given participant list' do
|
94
|
-
the_block =
|
95
|
-
|
96
|
-
|
94
|
+
the_block = Proc.new {
|
95
|
+
bees_honey 'BeesHoney'
|
96
|
+
}
|
97
|
+
expect(described_class).to receive(:autoload_participants)
|
97
98
|
described_class.register_participants &the_block
|
99
|
+
expect(described_class.dashboard.participant_list.map(&:classname)).to eq([
|
100
|
+
'Bumbleworks::ErrorDispatcher',
|
101
|
+
'Bumbleworks::EntityInteractor',
|
102
|
+
'BeesHoney',
|
103
|
+
'Bumbleworks::StorageParticipant'
|
104
|
+
])
|
98
105
|
end
|
99
106
|
end
|
100
107
|
|
101
108
|
describe '.register_default_participants' do
|
102
109
|
it 'registers default participants' do
|
103
|
-
described_class.
|
104
|
-
described_class.
|
110
|
+
expect(described_class).not_to receive(:autoload_participants)
|
111
|
+
expect(described_class).to receive(:register_participants)
|
105
112
|
described_class.register_default_participants
|
106
113
|
end
|
107
114
|
end
|
108
115
|
|
109
116
|
describe '.load_definitions!' do
|
110
117
|
it 'creates all definitions from directory' do
|
111
|
-
described_class.
|
112
|
-
|
113
|
-
Bumbleworks::ProcessDefinition.should_receive(:create_all_from_directory!).with(:defs_dir, :fake_options)
|
118
|
+
allow(described_class).to receive(:definitions_directory).and_return(:defs_dir)
|
119
|
+
expect(Bumbleworks::ProcessDefinition).to receive(:create_all_from_directory!).with(:defs_dir, :fake_options)
|
114
120
|
described_class.load_definitions!(:fake_options)
|
115
121
|
end
|
116
122
|
|
117
123
|
it 'does nothing if using default path and directory does not exist' do
|
118
124
|
described_class.reset!
|
119
125
|
described_class.root = File.join(fixtures_path, 'apps', 'minimal')
|
120
|
-
Bumbleworks::ProcessDefinition.
|
126
|
+
expect(Bumbleworks::ProcessDefinition).not_to receive(:create_all_from_directory!)
|
121
127
|
described_class.load_definitions!
|
122
128
|
end
|
123
129
|
|
@@ -133,8 +139,8 @@ describe Bumbleworks do
|
|
133
139
|
|
134
140
|
describe '.bootstrap!' do
|
135
141
|
it 'loads definitions and participant registration list' do
|
136
|
-
described_class.
|
137
|
-
Bumbleworks::ParticipantRegistration.
|
142
|
+
expect(described_class).to receive(:load_definitions!)
|
143
|
+
expect(Bumbleworks::ParticipantRegistration).to receive(:register!)
|
138
144
|
described_class.bootstrap!
|
139
145
|
end
|
140
146
|
end
|
@@ -145,56 +151,56 @@ describe Bumbleworks do
|
|
145
151
|
end
|
146
152
|
|
147
153
|
it 'creates an instance of Bumbleworks::Configuration' do
|
148
|
-
described_class.configuration.
|
154
|
+
expect(described_class.configuration).to be_an_instance_of(Bumbleworks::Configuration)
|
149
155
|
end
|
150
156
|
|
151
157
|
it 'returns the same instance when called multiple times' do
|
152
158
|
configuration = described_class.configuration
|
153
|
-
described_class.configuration.
|
159
|
+
expect(described_class.configuration).to eq(configuration)
|
154
160
|
end
|
155
161
|
|
156
162
|
it 'automatically adds Redis adapter if defined' do
|
157
163
|
stub_const('Bumbleworks::Redis::Adapter', Bumbleworks::StorageAdapter)
|
158
164
|
Bumbleworks.clear_configuration! # to reload storage adapters
|
159
|
-
described_class.configuration.storage_adapters.
|
165
|
+
expect(described_class.configuration.storage_adapters).to include(Bumbleworks::Redis::Adapter)
|
160
166
|
end
|
161
167
|
|
162
168
|
it 'automatically adds Sequel adapter if defined' do
|
163
169
|
stub_const('Bumbleworks::Sequel::Adapter', Bumbleworks::StorageAdapter)
|
164
170
|
Bumbleworks.clear_configuration! # to reload storage adapters
|
165
|
-
described_class.configuration.storage_adapters.
|
171
|
+
expect(described_class.configuration.storage_adapters).to include(Bumbleworks::Sequel::Adapter)
|
166
172
|
end
|
167
173
|
end
|
168
174
|
|
169
175
|
describe 'Bumbleworks::Ruote delegation' do
|
170
176
|
it 'includes dashboard' do
|
171
|
-
Bumbleworks::Ruote.
|
172
|
-
Bumbleworks.dashboard.
|
177
|
+
expect(Bumbleworks::Ruote).to receive(:dashboard).and_return(:oh_goodness_me)
|
178
|
+
expect(Bumbleworks.dashboard).to eq(:oh_goodness_me)
|
173
179
|
end
|
174
180
|
|
175
181
|
it 'includes start_worker' do
|
176
|
-
Bumbleworks::Ruote.
|
177
|
-
Bumbleworks.start_worker
|
182
|
+
expect(Bumbleworks::Ruote).to receive(:start_worker!).and_return(:lets_do_it)
|
183
|
+
expect(Bumbleworks.start_worker!).to eq(:lets_do_it)
|
178
184
|
end
|
179
185
|
|
180
186
|
it 'includes cancel_process!' do
|
181
|
-
Bumbleworks::Ruote.
|
182
|
-
Bumbleworks.cancel_process!(:wfid).
|
187
|
+
expect(Bumbleworks::Ruote).to receive(:cancel_process!).with(:wfid).and_return(:cancelling)
|
188
|
+
expect(Bumbleworks.cancel_process!(:wfid)).to eq(:cancelling)
|
183
189
|
end
|
184
190
|
|
185
191
|
it 'includes kill_process!' do
|
186
|
-
Bumbleworks::Ruote.
|
187
|
-
Bumbleworks.kill_process!(:wfid).
|
192
|
+
expect(Bumbleworks::Ruote).to receive(:kill_process!).with(:wfid).and_return(:killing)
|
193
|
+
expect(Bumbleworks.kill_process!(:wfid)).to eq(:killing)
|
188
194
|
end
|
189
195
|
|
190
196
|
it 'includes cancel_all_processes!' do
|
191
|
-
Bumbleworks::Ruote.
|
192
|
-
Bumbleworks.cancel_all_processes
|
197
|
+
expect(Bumbleworks::Ruote).to receive(:cancel_all_processes!).and_return(:cancelling)
|
198
|
+
expect(Bumbleworks.cancel_all_processes!).to eq(:cancelling)
|
193
199
|
end
|
194
200
|
|
195
201
|
it 'includes kill_all_processes!' do
|
196
|
-
Bumbleworks::Ruote.
|
197
|
-
Bumbleworks.kill_all_processes
|
202
|
+
expect(Bumbleworks::Ruote).to receive(:kill_all_processes!).and_return(:killing)
|
203
|
+
expect(Bumbleworks.kill_all_processes!).to eq(:killing)
|
198
204
|
end
|
199
205
|
end
|
200
206
|
|
@@ -213,25 +219,25 @@ describe Bumbleworks do
|
|
213
219
|
end
|
214
220
|
|
215
221
|
it 'delegates to Bumbleworks::Ruote.launch' do
|
216
|
-
Bumbleworks::Ruote.
|
222
|
+
expect(Bumbleworks::Ruote).to receive(:launch).with(:amazing_process, :hugs => :love)
|
217
223
|
Bumbleworks.launch!(:amazing_process, :hugs => :love)
|
218
224
|
end
|
219
225
|
|
220
226
|
it 'sends all args along' do
|
221
|
-
Bumbleworks::Ruote.
|
227
|
+
expect(Bumbleworks::Ruote).to receive(:launch).with(:amazing_process, { :hugs => :love }, { :whiny => :yup }, :peahen)
|
222
228
|
Bumbleworks.launch!(:amazing_process, { :hugs => :love }, { :whiny => :yup }, :peahen)
|
223
229
|
end
|
224
230
|
|
225
231
|
it 'expands entity params when entity object provided' do
|
226
|
-
Bumbleworks::Ruote.
|
232
|
+
expect(Bumbleworks::Ruote).to receive(:launch).with(:amazing_process, { :entity_id => :wiley_e_coyote, :entity_type => 'LovelyEntity' }, :et_cetera)
|
227
233
|
Bumbleworks.launch!(:amazing_process, { :entity => LovelyEntity.new(:wiley_e_coyote) }, :et_cetera)
|
228
234
|
end
|
229
235
|
|
230
236
|
it 'returns a Bumbleworks::Process instance with the wfid of the launched process' do
|
231
|
-
Bumbleworks::Ruote.
|
237
|
+
allow(Bumbleworks::Ruote).to receive(:launch).with(:amazing_process).and_return('18181818')
|
232
238
|
bp = Bumbleworks.launch!(:amazing_process)
|
233
|
-
bp.
|
234
|
-
bp.id.
|
239
|
+
expect(bp).to be_a(Bumbleworks::Process)
|
240
|
+
expect(bp.id).to eq('18181818')
|
235
241
|
end
|
236
242
|
|
237
243
|
it 'throws exception if entity has nil id' do
|
@@ -249,29 +255,29 @@ describe Bumbleworks do
|
|
249
255
|
|
250
256
|
describe '.logger' do
|
251
257
|
it 'delegates to configuration.logger' do
|
252
|
-
described_class.configuration.
|
253
|
-
described_class.logger.
|
258
|
+
allow(described_class.configuration).to receive(:logger).and_return(:a_logger)
|
259
|
+
expect(described_class.logger).to eq(:a_logger)
|
254
260
|
end
|
255
261
|
end
|
256
262
|
|
257
263
|
describe '.store_history' do
|
258
264
|
it 'delegates to configuration.logger' do
|
259
|
-
described_class.configuration.
|
260
|
-
described_class.store_history.
|
265
|
+
allow(described_class.configuration).to receive(:store_history).and_return(:why_not)
|
266
|
+
expect(described_class.store_history).to eq(:why_not)
|
261
267
|
end
|
262
268
|
end
|
263
269
|
|
264
270
|
describe '.store_history?' do
|
265
271
|
it 'returns true if store_history is true' do
|
266
272
|
described_class.store_history = true
|
267
|
-
described_class.store_history
|
273
|
+
expect(described_class.store_history?).to be_truthy
|
268
274
|
end
|
269
275
|
|
270
276
|
it 'returns false if store_history is anything but true' do
|
271
277
|
described_class.store_history = false
|
272
|
-
described_class.store_history
|
278
|
+
expect(described_class.store_history?).to be_falsy
|
273
279
|
described_class.store_history = 'penguins'
|
274
|
-
described_class.store_history
|
280
|
+
expect(described_class.store_history?).to be_falsy
|
275
281
|
end
|
276
282
|
end
|
277
283
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -8,7 +8,6 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
8
8
|
require './lib/bumbleworks'
|
9
9
|
|
10
10
|
RSpec.configure do |config|
|
11
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
12
11
|
config.run_all_when_everything_filtered = true
|
13
12
|
|
14
13
|
# Run specs in random order to surface order dependencies. If you find an
|
@@ -2,15 +2,15 @@ shared_examples "an entity holder" do
|
|
2
2
|
[:has_entity_fields?, :has_entity?, :entity, :entity_fields, :entity_name].each do |method|
|
3
3
|
describe "##{method}" do
|
4
4
|
it 'delegates to entity storage workitem' do
|
5
|
-
holder.entity_storage_workitem.
|
6
|
-
holder.send(method, 1, 2, 3).
|
5
|
+
allow(holder.entity_storage_workitem).to receive(method).with(1, 2, 3).and_return(:yay_for_bikes)
|
6
|
+
expect(holder.send(method, 1, 2, 3)).to eq(:yay_for_bikes)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
describe "#entity_storage_workitem" do
|
12
12
|
it 'returns the expected workitem' do
|
13
|
-
holder.entity_storage_workitem.
|
13
|
+
expect(holder.entity_storage_workitem).to eq(storage_workitem)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bumbleworks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.76
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Maher Hawash
|
@@ -12,134 +11,118 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2014-
|
14
|
+
date: 2014-07-11 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: ruote
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
|
-
- -
|
20
|
+
- - ">="
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: '0'
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: '0'
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: bundler
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
|
-
- - ~>
|
34
|
+
- - "~>"
|
39
35
|
- !ruby/object:Gem::Version
|
40
36
|
version: '1.3'
|
41
37
|
type: :development
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
|
-
- - ~>
|
41
|
+
- - "~>"
|
47
42
|
- !ruby/object:Gem::Version
|
48
43
|
version: '1.3'
|
49
44
|
- !ruby/object:Gem::Dependency
|
50
45
|
name: rake
|
51
46
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
47
|
requirements:
|
54
|
-
- -
|
48
|
+
- - ">="
|
55
49
|
- !ruby/object:Gem::Version
|
56
50
|
version: '0'
|
57
51
|
type: :development
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
54
|
requirements:
|
62
|
-
- -
|
55
|
+
- - ">="
|
63
56
|
- !ruby/object:Gem::Version
|
64
57
|
version: '0'
|
65
58
|
- !ruby/object:Gem::Dependency
|
66
59
|
name: rspec
|
67
60
|
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
61
|
requirements:
|
70
|
-
- -
|
62
|
+
- - "~>"
|
71
63
|
- !ruby/object:Gem::Version
|
72
|
-
version: '0'
|
64
|
+
version: '3.0'
|
73
65
|
type: :development
|
74
66
|
prerelease: false
|
75
67
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
68
|
requirements:
|
78
|
-
- -
|
69
|
+
- - "~>"
|
79
70
|
- !ruby/object:Gem::Version
|
80
|
-
version: '0'
|
71
|
+
version: '3.0'
|
81
72
|
- !ruby/object:Gem::Dependency
|
82
73
|
name: watchr
|
83
74
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
75
|
requirements:
|
86
|
-
- -
|
76
|
+
- - ">="
|
87
77
|
- !ruby/object:Gem::Version
|
88
78
|
version: '0'
|
89
79
|
type: :development
|
90
80
|
prerelease: false
|
91
81
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
82
|
requirements:
|
94
|
-
- -
|
83
|
+
- - ">="
|
95
84
|
- !ruby/object:Gem::Version
|
96
85
|
version: '0'
|
97
86
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
87
|
+
name: pry
|
99
88
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
89
|
requirements:
|
102
|
-
- -
|
90
|
+
- - ">="
|
103
91
|
- !ruby/object:Gem::Version
|
104
92
|
version: '0'
|
105
93
|
type: :development
|
106
94
|
prerelease: false
|
107
95
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
96
|
requirements:
|
110
|
-
- -
|
97
|
+
- - ">="
|
111
98
|
- !ruby/object:Gem::Version
|
112
99
|
version: '0'
|
113
100
|
- !ruby/object:Gem::Dependency
|
114
101
|
name: sqlite3
|
115
102
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
103
|
requirements:
|
118
|
-
- -
|
104
|
+
- - ">="
|
119
105
|
- !ruby/object:Gem::Version
|
120
106
|
version: '0'
|
121
107
|
type: :development
|
122
108
|
prerelease: false
|
123
109
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
110
|
requirements:
|
126
|
-
- -
|
111
|
+
- - ">="
|
127
112
|
- !ruby/object:Gem::Version
|
128
113
|
version: '0'
|
129
114
|
- !ruby/object:Gem::Dependency
|
130
115
|
name: simplecov
|
131
116
|
requirement: !ruby/object:Gem::Requirement
|
132
|
-
none: false
|
133
117
|
requirements:
|
134
|
-
- -
|
118
|
+
- - ">="
|
135
119
|
- !ruby/object:Gem::Version
|
136
120
|
version: '0'
|
137
121
|
type: :development
|
138
122
|
prerelease: false
|
139
123
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
-
none: false
|
141
124
|
requirements:
|
142
|
-
- -
|
125
|
+
- - ">="
|
143
126
|
- !ruby/object:Gem::Version
|
144
127
|
version: '0'
|
145
128
|
description: Bumbleworks adds a workflow engine (via ruote[http://github.com/jmettraux/ruote])
|
@@ -153,10 +136,10 @@ executables: []
|
|
153
136
|
extensions: []
|
154
137
|
extra_rdoc_files: []
|
155
138
|
files:
|
156
|
-
- .gitignore
|
157
|
-
- .rspec
|
158
|
-
- .ruby-version
|
159
|
-
- .watchr
|
139
|
+
- ".gitignore"
|
140
|
+
- ".rspec"
|
141
|
+
- ".ruby-version"
|
142
|
+
- ".watchr"
|
160
143
|
- Gemfile
|
161
144
|
- LICENSE.txt
|
162
145
|
- README.md
|
@@ -186,6 +169,7 @@ files:
|
|
186
169
|
- lib/bumbleworks/ruote.rb
|
187
170
|
- lib/bumbleworks/ruote/exp/broadcast_event_expression.rb
|
188
171
|
- lib/bumbleworks/ruote/exp/wait_for_event_expression.rb
|
172
|
+
- lib/bumbleworks/schedule.rb
|
189
173
|
- lib/bumbleworks/simple_logger.rb
|
190
174
|
- lib/bumbleworks/storage_adapter.rb
|
191
175
|
- lib/bumbleworks/support.rb
|
@@ -218,6 +202,7 @@ files:
|
|
218
202
|
- spec/fixtures/definitions/test_process.rb
|
219
203
|
- spec/fixtures/entities/rainbow_loom.rb
|
220
204
|
- spec/fixtures/participants/naughty_participant.rb
|
205
|
+
- spec/fixtures/schedules.rb
|
221
206
|
- spec/fixtures/trackers.rb
|
222
207
|
- spec/integration/entity_spec.rb
|
223
208
|
- spec/integration/example_configurations_spec.rb
|
@@ -240,6 +225,7 @@ files:
|
|
240
225
|
- spec/lib/bumbleworks/ruote/exp/broadcast_event_expression_spec.rb
|
241
226
|
- spec/lib/bumbleworks/ruote/exp/wait_for_event_expression_spec.rb
|
242
227
|
- spec/lib/bumbleworks/ruote_spec.rb
|
228
|
+
- spec/lib/bumbleworks/schedule_spec.rb
|
243
229
|
- spec/lib/bumbleworks/simple_logger_spec.rb
|
244
230
|
- spec/lib/bumbleworks/storage_adapter_spec.rb
|
245
231
|
- spec/lib/bumbleworks/support_spec.rb
|
@@ -259,33 +245,26 @@ files:
|
|
259
245
|
homepage: ''
|
260
246
|
licenses:
|
261
247
|
- MIT
|
248
|
+
metadata: {}
|
262
249
|
post_install_message:
|
263
250
|
rdoc_options: []
|
264
251
|
require_paths:
|
265
252
|
- lib
|
266
253
|
required_ruby_version: !ruby/object:Gem::Requirement
|
267
|
-
none: false
|
268
254
|
requirements:
|
269
|
-
- -
|
255
|
+
- - ">="
|
270
256
|
- !ruby/object:Gem::Version
|
271
257
|
version: '0'
|
272
|
-
segments:
|
273
|
-
- 0
|
274
|
-
hash: 1064429954326837811
|
275
258
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
276
|
-
none: false
|
277
259
|
requirements:
|
278
|
-
- -
|
260
|
+
- - ">="
|
279
261
|
- !ruby/object:Gem::Version
|
280
262
|
version: '0'
|
281
|
-
segments:
|
282
|
-
- 0
|
283
|
-
hash: 1064429954326837811
|
284
263
|
requirements: []
|
285
264
|
rubyforge_project:
|
286
|
-
rubygems_version:
|
265
|
+
rubygems_version: 2.2.2
|
287
266
|
signing_key:
|
288
|
-
specification_version:
|
267
|
+
specification_version: 4
|
289
268
|
summary: Framework around ruote[http://github.com/jmettraux/ruote] workflow engine
|
290
269
|
test_files:
|
291
270
|
- spec/fixtures/apps/with_default_directories/config_initializer.rb
|
@@ -306,6 +285,7 @@ test_files:
|
|
306
285
|
- spec/fixtures/definitions/test_process.rb
|
307
286
|
- spec/fixtures/entities/rainbow_loom.rb
|
308
287
|
- spec/fixtures/participants/naughty_participant.rb
|
288
|
+
- spec/fixtures/schedules.rb
|
309
289
|
- spec/fixtures/trackers.rb
|
310
290
|
- spec/integration/entity_spec.rb
|
311
291
|
- spec/integration/example_configurations_spec.rb
|
@@ -328,6 +308,7 @@ test_files:
|
|
328
308
|
- spec/lib/bumbleworks/ruote/exp/broadcast_event_expression_spec.rb
|
329
309
|
- spec/lib/bumbleworks/ruote/exp/wait_for_event_expression_spec.rb
|
330
310
|
- spec/lib/bumbleworks/ruote_spec.rb
|
311
|
+
- spec/lib/bumbleworks/schedule_spec.rb
|
331
312
|
- spec/lib/bumbleworks/simple_logger_spec.rb
|
332
313
|
- spec/lib/bumbleworks/storage_adapter_spec.rb
|
333
314
|
- spec/lib/bumbleworks/support_spec.rb
|