bumbleworks 0.0.74 → 0.0.76
Sign up to get free protection for your applications and to get access to all the features.
- 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
|