bumbleworks 0.0.74 → 0.0.76

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +1 -1
  3. data/.ruby-version +1 -1
  4. data/bumbleworks.gemspec +2 -2
  5. data/lib/bumbleworks.rb +1 -0
  6. data/lib/bumbleworks/expression.rb +12 -1
  7. data/lib/bumbleworks/process.rb +10 -0
  8. data/lib/bumbleworks/process/error_record.rb +14 -0
  9. data/lib/bumbleworks/schedule.rb +58 -0
  10. data/lib/bumbleworks/task.rb +2 -1
  11. data/lib/bumbleworks/task/finder.rb +4 -0
  12. data/lib/bumbleworks/version.rb +1 -1
  13. data/lib/bumbleworks/workitem.rb +4 -0
  14. data/spec/fixtures/schedules.rb +40 -0
  15. data/spec/integration/entity_spec.rb +7 -7
  16. data/spec/integration/example_configurations_spec.rb +5 -5
  17. data/spec/integration/history_storage_spec.rb +9 -9
  18. data/spec/integration/sample_application_spec.rb +15 -15
  19. data/spec/lib/bumbleworks/configuration_spec.rb +52 -52
  20. data/spec/lib/bumbleworks/entity_spec.rb +66 -68
  21. data/spec/lib/bumbleworks/error_handler_spec.rb +1 -1
  22. data/spec/lib/bumbleworks/error_logger_spec.rb +5 -5
  23. data/spec/lib/bumbleworks/expression_spec.rb +34 -12
  24. data/spec/lib/bumbleworks/hash_storage_spec.rb +2 -2
  25. data/spec/lib/bumbleworks/participant/base_spec.rb +1 -1
  26. data/spec/lib/bumbleworks/participant/entity_interactor_spec.rb +20 -20
  27. data/spec/lib/bumbleworks/participant/error_dispatcher_spec.rb +3 -3
  28. data/spec/lib/bumbleworks/participant/local_participant_spec.rb +1 -1
  29. data/spec/lib/bumbleworks/participant_registration_spec.rb +4 -4
  30. data/spec/lib/bumbleworks/process/error_record_spec.rb +13 -0
  31. data/spec/lib/bumbleworks/process_definition_spec.rb +30 -24
  32. data/spec/lib/bumbleworks/process_spec.rb +86 -54
  33. data/spec/lib/bumbleworks/ruote/exp/broadcast_event_expression_spec.rb +2 -2
  34. data/spec/lib/bumbleworks/ruote/exp/wait_for_event_expression_spec.rb +4 -4
  35. data/spec/lib/bumbleworks/ruote_spec.rb +73 -71
  36. data/spec/lib/bumbleworks/schedule_spec.rb +124 -0
  37. data/spec/lib/bumbleworks/simple_logger_spec.rb +8 -8
  38. data/spec/lib/bumbleworks/storage_adapter_spec.rb +16 -16
  39. data/spec/lib/bumbleworks/support_spec.rb +23 -19
  40. data/spec/lib/bumbleworks/task/finder_spec.rb +46 -46
  41. data/spec/lib/bumbleworks/task_spec.rb +188 -167
  42. data/spec/lib/bumbleworks/tracker_spec.rb +41 -42
  43. data/spec/lib/bumbleworks/tree_builder_spec.rb +9 -7
  44. data/spec/lib/bumbleworks/user_spec.rb +35 -35
  45. data/spec/lib/bumbleworks/workitem_entity_storage_spec.rb +5 -5
  46. data/spec/lib/bumbleworks/workitem_spec.rb +28 -17
  47. data/spec/lib/bumbleworks_spec.rb +57 -51
  48. data/spec/spec_helper.rb +0 -1
  49. data/spec/support/shared_examples.rb +3 -3
  50. 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.should == bw2
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.should have_entity_fields
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.should have_entity_fields
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.should_not have_entity_fields
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.stub(:entity).and_return(:a_real_boy_not_a_puppet)
34
- workitem.has_entity?.should be_true
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.stub(:entity).and_raise(Bumbleworks::EntityNotFound)
39
- workitem.has_entity?.should be_false
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.should == '123'
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.should == '125'
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.should == 'nerfus'
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.should == '123'
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.should == {}
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.should == { :type => 'RainbowLoom', :identifier => '123' }
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).should == { :type => 'Rainbow loom', :identifier => '123' }
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).should == { :type => 'Rainbow Loom', :identifier => '123' }
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.should == 'Rainbow Loom 123'
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.should == 'pickles'
20
- described_class.configuration.storage.should == 'nerfy'
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.should_not == old_config
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.should == storage
59
- Bumbleworks.configuration.storage.should == 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.should == storage
66
- Bumbleworks.configuration.storage.should == 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.should_receive(:autoload_all)
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.should_receive(:autoload_all)
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.should_receive(:autoload_participants)
87
- described_class.should_receive(:autoload_tasks)
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 = lambda { }
95
- described_class.should_receive(:autoload_participants)
96
- Bumbleworks::Ruote.should_receive(:register_participants).with(&the_block)
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.should_receive(:autoload_participants).never
104
- described_class.should_receive(:register_participants)
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.stub(:definitions_directory).and_return(:defs_dir)
112
- # described_class.storage = {}
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.should_receive(:create_all_from_directory!).never
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.should_receive(:load_definitions!)
137
- Bumbleworks::ParticipantRegistration.should_receive(:register!)
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.should be_an_instance_of(Bumbleworks::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.should == 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.should include(Bumbleworks::Redis::Adapter)
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.should include(Bumbleworks::Sequel::Adapter)
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.should_receive(:dashboard).and_return(:oh_goodness_me)
172
- Bumbleworks.dashboard.should == :oh_goodness_me
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.should_receive(:start_worker!).and_return(:lets_do_it)
177
- Bumbleworks.start_worker!.should == :lets_do_it
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.should_receive(:cancel_process!).with(:wfid).and_return(:cancelling)
182
- Bumbleworks.cancel_process!(:wfid).should == :cancelling
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.should_receive(:kill_process!).with(:wfid).and_return(:killing)
187
- Bumbleworks.kill_process!(:wfid).should == :killing
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.should_receive(:cancel_all_processes!).and_return(:cancelling)
192
- Bumbleworks.cancel_all_processes!.should == :cancelling
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.should_receive(:kill_all_processes!).and_return(:killing)
197
- Bumbleworks.kill_all_processes!.should == :killing
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.should_receive(:launch).with(:amazing_process, :hugs => :love)
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.should_receive(:launch).with(:amazing_process, { :hugs => :love }, { :whiny => :yup }, :peahen)
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.should_receive(:launch).with(:amazing_process, { :entity_id => :wiley_e_coyote, :entity_type => 'LovelyEntity' }, :et_cetera)
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.stub(:launch).with(:amazing_process).and_return('18181818')
237
+ allow(Bumbleworks::Ruote).to receive(:launch).with(:amazing_process).and_return('18181818')
232
238
  bp = Bumbleworks.launch!(:amazing_process)
233
- bp.should be_a(Bumbleworks::Process)
234
- bp.id.should == '18181818'
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.stub(:logger).and_return(:a_logger)
253
- described_class.logger.should == :a_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.stub(:store_history).and_return(:why_not)
260
- described_class.store_history.should == :why_not
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?.should be_true
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?.should be_false
278
+ expect(described_class.store_history?).to be_falsy
273
279
  described_class.store_history = 'penguins'
274
- described_class.store_history?.should be_false
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.stub(method).with(1, 2, 3).and_return(:yay_for_bikes)
6
- holder.send(method, 1, 2, 3).should == :yay_for_bikes
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.should == 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.74
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-03-05 00:00:00.000000000 Z
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: debugger
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: 1.8.23
265
+ rubygems_version: 2.2.2
287
266
  signing_key:
288
- specification_version: 3
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