hyper-operation 1.0.alpha1.1 → 1.0.alpha1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.travis.yml +1 -0
  4. data/hyper-operation.gemspec +6 -4
  5. data/lib/hyper-operation.rb +4 -1
  6. data/lib/hyper-operation/api.rb +6 -2
  7. data/lib/hyper-operation/async_sleep.rb +23 -0
  8. data/lib/hyper-operation/exception.rb +29 -3
  9. data/lib/hyper-operation/promise.rb +28 -2
  10. data/lib/hyper-operation/railway/dispatcher.rb +0 -1
  11. data/lib/hyper-operation/railway/run.rb +55 -49
  12. data/lib/hyper-operation/railway/validations.rb +9 -2
  13. data/lib/hyper-operation/server_op.rb +31 -9
  14. data/lib/hyper-operation/transport/client_drivers.rb +45 -11
  15. data/lib/hyper-operation/transport/connection.rb +58 -136
  16. data/lib/hyper-operation/transport/connection_adapter/active_record.rb +113 -0
  17. data/lib/hyper-operation/transport/connection_adapter/active_record/auto_create.rb +26 -0
  18. data/lib/hyper-operation/transport/connection_adapter/active_record/connection.rb +47 -0
  19. data/lib/hyper-operation/transport/connection_adapter/active_record/queued_message.rb +42 -0
  20. data/lib/hyper-operation/transport/connection_adapter/redis.rb +94 -0
  21. data/lib/hyper-operation/transport/connection_adapter/redis/connection.rb +85 -0
  22. data/lib/hyper-operation/transport/connection_adapter/redis/queued_message.rb +34 -0
  23. data/lib/hyper-operation/transport/connection_adapter/redis/redis_record.rb +158 -0
  24. data/lib/hyper-operation/transport/hyperstack.rb +15 -2
  25. data/lib/hyper-operation/transport/hyperstack_controller.rb +6 -2
  26. data/lib/hyper-operation/transport/policy.rb +16 -26
  27. data/lib/hyper-operation/transport/policy_diagnostics.rb +106 -0
  28. data/lib/hyper-operation/version.rb +1 -1
  29. metadata +79 -38
  30. data/Gemfile.lock +0 -385
  31. data/lib/hyper-operation/delay_and_interval.rb +0 -9
data/Gemfile.lock DELETED
@@ -1,385 +0,0 @@
1
- PATH
2
- remote: ../hyper-component
3
- specs:
4
- hyper-component (0.1)
5
- hyper-state (= 0.1)
6
- hyperstack-config (= 0.1)
7
- libv8 (~> 6.3.0)
8
- mini_racer (~> 0.1.15)
9
- opal (>= 0.11.0, < 0.12.0)
10
- opal-activesupport (~> 0.3.1)
11
- react-rails (>= 2.4.0, < 2.5.0)
12
-
13
- PATH
14
- remote: ../hyper-spec
15
- specs:
16
- hyper-spec (0.1)
17
- capybara
18
- chromedriver-helper (= 1.2.0)
19
- libv8 (~> 6.3.0)
20
- method_source
21
- mini_racer (~> 0.1.15)
22
- opal (>= 0.11.0, < 0.12.0)
23
- parser (>= 2.3.3.1)
24
- pry
25
- rspec-rails
26
- selenium-webdriver
27
- timecop (~> 0.8.1)
28
- uglifier
29
- unparser
30
- webdrivers
31
-
32
- PATH
33
- remote: ../hyper-state
34
- specs:
35
- hyper-state (0.1)
36
- hyperstack-config (= 0.1)
37
- opal (>= 0.11.0, < 0.12.0)
38
-
39
- PATH
40
- remote: ../hyperstack-config
41
- specs:
42
- hyperstack-config (0.1)
43
- libv8 (~> 6.3.0)
44
- listen (~> 3.0)
45
- mini_racer (~> 0.1.15)
46
- opal (>= 0.11.0, < 0.12.0)
47
- opal-browser (~> 0.2.0)
48
- uglifier
49
- websocket
50
-
51
- PATH
52
- remote: .
53
- specs:
54
- hyper-operation (0.1)
55
- activerecord (>= 4.0.0)
56
- hyper-component (= 0.1)
57
- mutations
58
- opal-activesupport (~> 0.3.1)
59
-
60
- GEM
61
- remote: https://rubygems.org/
62
- specs:
63
- abstract_type (0.0.7)
64
- actioncable (5.2.1)
65
- actionpack (= 5.2.1)
66
- nio4r (~> 2.0)
67
- websocket-driver (>= 0.6.1)
68
- actionmailer (5.2.1)
69
- actionpack (= 5.2.1)
70
- actionview (= 5.2.1)
71
- activejob (= 5.2.1)
72
- mail (~> 2.5, >= 2.5.4)
73
- rails-dom-testing (~> 2.0)
74
- actionpack (5.2.1)
75
- actionview (= 5.2.1)
76
- activesupport (= 5.2.1)
77
- rack (~> 2.0)
78
- rack-test (>= 0.6.3)
79
- rails-dom-testing (~> 2.0)
80
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
81
- actionview (5.2.1)
82
- activesupport (= 5.2.1)
83
- builder (~> 3.1)
84
- erubi (~> 1.4)
85
- rails-dom-testing (~> 2.0)
86
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
87
- activejob (5.2.1)
88
- activesupport (= 5.2.1)
89
- globalid (>= 0.3.6)
90
- activemodel (5.2.1)
91
- activesupport (= 5.2.1)
92
- activerecord (5.2.1)
93
- activemodel (= 5.2.1)
94
- activesupport (= 5.2.1)
95
- arel (>= 9.0)
96
- activestorage (5.2.1)
97
- actionpack (= 5.2.1)
98
- activerecord (= 5.2.1)
99
- marcel (~> 0.3.1)
100
- activesupport (5.2.1)
101
- concurrent-ruby (~> 1.0, >= 1.0.2)
102
- i18n (>= 0.7, < 2)
103
- minitest (~> 5.1)
104
- tzinfo (~> 1.1)
105
- adamantium (0.2.0)
106
- ice_nine (~> 0.11.0)
107
- memoizable (~> 0.4.0)
108
- addressable (2.5.2)
109
- public_suffix (>= 2.0.2, < 4.0)
110
- archive-zip (0.11.0)
111
- io-like (~> 0.3.0)
112
- arel (9.0.0)
113
- ast (2.4.0)
114
- babel-source (5.8.35)
115
- babel-transpiler (0.7.0)
116
- babel-source (>= 4.0, < 6)
117
- execjs (~> 2.0)
118
- builder (3.2.3)
119
- capybara (3.10.0)
120
- addressable
121
- mini_mime (>= 0.1.3)
122
- nokogiri (~> 1.8)
123
- rack (>= 1.6.0)
124
- rack-test (>= 0.6.3)
125
- regexp_parser (~> 1.2)
126
- xpath (~> 3.2)
127
- childprocess (0.9.0)
128
- ffi (~> 1.0, >= 1.0.11)
129
- chromedriver-helper (1.2.0)
130
- archive-zip (~> 0.10)
131
- nokogiri (~> 1.8)
132
- coderay (1.1.2)
133
- concord (0.1.5)
134
- adamantium (~> 0.2.0)
135
- equalizer (~> 0.0.9)
136
- concurrent-ruby (1.0.5)
137
- connection_pool (2.2.2)
138
- cookiejar (0.3.3)
139
- crass (1.0.4)
140
- daemons (1.2.6)
141
- database_cleaner (1.7.0)
142
- diff-lcs (1.3)
143
- em-http-request (1.1.5)
144
- addressable (>= 2.3.4)
145
- cookiejar (!= 0.3.1)
146
- em-socksify (>= 0.3)
147
- eventmachine (>= 1.0.3)
148
- http_parser.rb (>= 0.6.0)
149
- em-socksify (0.3.2)
150
- eventmachine (>= 1.0.0.beta.4)
151
- em-websocket (0.5.1)
152
- eventmachine (>= 0.12.9)
153
- http_parser.rb (~> 0.6.0)
154
- equalizer (0.0.11)
155
- erubi (1.7.1)
156
- eventmachine (1.2.7)
157
- execjs (2.7.0)
158
- ffi (1.9.25)
159
- globalid (0.4.1)
160
- activesupport (>= 4.2.0)
161
- hike (1.2.3)
162
- http_parser.rb (0.6.0)
163
- httpclient (2.8.3)
164
- i18n (1.1.0)
165
- concurrent-ruby (~> 1.0)
166
- ice_nine (0.11.2)
167
- interception (0.5)
168
- io-like (0.3.0)
169
- jquery-rails (4.3.3)
170
- rails-dom-testing (>= 1, < 3)
171
- railties (>= 4.2.0)
172
- thor (>= 0.14, < 2.0)
173
- libv8 (6.3.292.48.1-x86_64-darwin-15)
174
- listen (3.1.5)
175
- rb-fsevent (~> 0.9, >= 0.9.4)
176
- rb-inotify (~> 0.9, >= 0.9.7)
177
- ruby_dep (~> 1.2)
178
- loofah (2.2.2)
179
- crass (~> 1.0.2)
180
- nokogiri (>= 1.5.9)
181
- mail (2.7.0)
182
- mini_mime (>= 0.1.1)
183
- marcel (0.3.2)
184
- mimemagic (~> 0.3.2)
185
- memoizable (0.4.2)
186
- thread_safe (~> 0.3, >= 0.3.1)
187
- method_source (0.9.0)
188
- mimemagic (0.3.2)
189
- mini_mime (1.0.1)
190
- mini_portile2 (2.3.0)
191
- mini_racer (0.1.15)
192
- libv8 (~> 6.3)
193
- minitest (5.11.3)
194
- multi_json (1.13.1)
195
- mutations (0.8.3)
196
- activesupport
197
- mysql2 (0.5.2)
198
- nio4r (2.3.1)
199
- nokogiri (1.8.4)
200
- mini_portile2 (~> 2.3.0)
201
- opal (0.11.3)
202
- ast (>= 2.3.0)
203
- hike (~> 1.2)
204
- parser (= 2.3.3.1)
205
- sourcemap (~> 0.1.0)
206
- opal-activesupport (0.3.1)
207
- opal (>= 0.5.0, < 1.0.0)
208
- opal-browser (0.2.0)
209
- opal
210
- paggio
211
- opal-jquery (0.4.3)
212
- opal (>= 0.10.0, < 0.12.0)
213
- opal-rails (0.9.5)
214
- jquery-rails
215
- opal (>= 0.11.0, < 0.12)
216
- opal-activesupport (>= 0.0.5)
217
- opal-jquery (~> 0.4.0)
218
- opal-sprockets (~> 0.4.2)
219
- rails (>= 4.1, < 6.0)
220
- sprockets-rails (>= 2.3.3, < 4.0)
221
- opal-sprockets (0.4.2.0.11.0.3.1)
222
- opal (~> 0.11.0)
223
- sprockets (~> 3.1)
224
- tilt (>= 1.4)
225
- paggio (0.2.6)
226
- parser (2.3.3.1)
227
- ast (~> 2.2)
228
- procto (0.0.3)
229
- pry (0.11.3)
230
- coderay (~> 1.1.0)
231
- method_source (~> 0.9.0)
232
- pry-rescue (1.4.5)
233
- interception (>= 0.5)
234
- pry
235
- public_suffix (3.0.3)
236
- puma (3.12.0)
237
- pusher (1.3.1)
238
- httpclient (~> 2.7)
239
- multi_json (~> 1.0)
240
- pusher-signature (~> 0.1.8)
241
- pusher-fake (1.10.0)
242
- em-http-request (~> 1.1)
243
- em-websocket (~> 0.5)
244
- multi_json (~> 1.6)
245
- thin (~> 1.5)
246
- pusher-signature (0.1.8)
247
- rack (2.0.5)
248
- rack-test (1.1.0)
249
- rack (>= 1.0, < 3)
250
- rails (5.2.1)
251
- actioncable (= 5.2.1)
252
- actionmailer (= 5.2.1)
253
- actionpack (= 5.2.1)
254
- actionview (= 5.2.1)
255
- activejob (= 5.2.1)
256
- activemodel (= 5.2.1)
257
- activerecord (= 5.2.1)
258
- activestorage (= 5.2.1)
259
- activesupport (= 5.2.1)
260
- bundler (>= 1.3.0)
261
- railties (= 5.2.1)
262
- sprockets-rails (>= 2.0.0)
263
- rails-dom-testing (2.0.3)
264
- activesupport (>= 4.2.0)
265
- nokogiri (>= 1.6)
266
- rails-html-sanitizer (1.0.4)
267
- loofah (~> 2.2, >= 2.2.2)
268
- railties (5.2.1)
269
- actionpack (= 5.2.1)
270
- activesupport (= 5.2.1)
271
- method_source
272
- rake (>= 0.8.7)
273
- thor (>= 0.19.0, < 2.0)
274
- rake (12.3.1)
275
- rb-fsevent (0.10.3)
276
- rb-inotify (0.9.10)
277
- ffi (>= 0.5.0, < 2)
278
- react-rails (2.4.7)
279
- babel-transpiler (>= 0.7.0)
280
- connection_pool
281
- execjs
282
- railties (>= 3.2)
283
- tilt
284
- regexp_parser (1.2.0)
285
- rspec (3.8.0)
286
- rspec-core (~> 3.8.0)
287
- rspec-expectations (~> 3.8.0)
288
- rspec-mocks (~> 3.8.0)
289
- rspec-core (3.8.0)
290
- rspec-support (~> 3.8.0)
291
- rspec-expectations (3.8.1)
292
- diff-lcs (>= 1.2.0, < 2.0)
293
- rspec-support (~> 3.8.0)
294
- rspec-mocks (3.8.0)
295
- diff-lcs (>= 1.2.0, < 2.0)
296
- rspec-support (~> 3.8.0)
297
- rspec-rails (3.8.0)
298
- actionpack (>= 3.0)
299
- activesupport (>= 3.0)
300
- railties (>= 3.0)
301
- rspec-core (~> 3.8.0)
302
- rspec-expectations (~> 3.8.0)
303
- rspec-mocks (~> 3.8.0)
304
- rspec-support (~> 3.8.0)
305
- rspec-steps (2.1.1)
306
- rspec (>= 3.0, < 3.99)
307
- rspec-support (3.8.0)
308
- rspec-wait (0.0.9)
309
- rspec (>= 3, < 4)
310
- ruby_dep (1.5.0)
311
- rubyzip (1.2.2)
312
- selenium-webdriver (3.14.1)
313
- childprocess (~> 0.5)
314
- rubyzip (~> 1.2, >= 1.2.2)
315
- sourcemap (0.1.1)
316
- sprockets (3.7.2)
317
- concurrent-ruby (~> 1.0)
318
- rack (> 1, < 3)
319
- sprockets-rails (3.2.1)
320
- actionpack (>= 4.0)
321
- activesupport (>= 4.0)
322
- sprockets (>= 3.0.0)
323
- sqlite3 (1.3.13)
324
- thin (1.7.2)
325
- daemons (~> 1.0, >= 1.0.9)
326
- eventmachine (~> 1.0, >= 1.0.4)
327
- rack (>= 1, < 3)
328
- thor (0.20.0)
329
- thread_safe (0.3.6)
330
- tilt (2.0.8)
331
- timecop (0.8.1)
332
- tzinfo (1.2.5)
333
- thread_safe (~> 0.1)
334
- uglifier (4.1.19)
335
- execjs (>= 0.3.0, < 3)
336
- unparser (0.2.8)
337
- abstract_type (~> 0.0.7)
338
- adamantium (~> 0.2.0)
339
- concord (~> 0.1.5)
340
- diff-lcs (~> 1.3)
341
- equalizer (~> 0.0.9)
342
- parser (>= 2.3.1.2, < 2.6)
343
- procto (~> 0.0.2)
344
- webdrivers (3.4.3)
345
- nokogiri (~> 1.6)
346
- rubyzip (~> 1.0)
347
- selenium-webdriver (~> 3.0)
348
- websocket (1.2.8)
349
- websocket-driver (0.7.0)
350
- websocket-extensions (>= 0.1.0)
351
- websocket-extensions (0.1.3)
352
- xpath (3.2.0)
353
- nokogiri (~> 1.8)
354
-
355
- PLATFORMS
356
- ruby
357
-
358
- DEPENDENCIES
359
- bundler
360
- chromedriver-helper
361
- database_cleaner
362
- hyper-component!
363
- hyper-operation!
364
- hyper-spec!
365
- hyper-state!
366
- hyperstack-config!
367
- mysql2
368
- opal (>= 0.11.0, < 0.12.0)
369
- opal-browser (~> 0.2.0)
370
- opal-rails (~> 0.9.4)
371
- pry-rescue
372
- puma
373
- pusher
374
- pusher-fake
375
- rails (>= 4.0.0)
376
- rake
377
- react-rails (>= 2.4.0, < 2.5.0)
378
- rspec-rails
379
- rspec-steps (~> 2.1.1)
380
- rspec-wait
381
- sqlite3
382
- timecop (~> 0.8.1)
383
-
384
- BUNDLED WITH
385
- 1.16.1
@@ -1,9 +0,0 @@
1
- module Kernel
2
- def every(time, &block)
3
- Thread.new { loop { sleep time; block.call }}
4
- end
5
-
6
- def after(time, &block)
7
- Thread.new { sleep time; block.call }
8
- end
9
- end