hyper-operation 1.0.alpha1.8 → 1.0.0.lap28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -7
  3. data/.travis.yml +9 -21
  4. data/CODE_OF_CONDUCT.md +49 -0
  5. data/DOCS-POLICIES.md +582 -0
  6. data/DOCS.md +869 -0
  7. data/Gemfile +1 -5
  8. data/LICENSE.txt +21 -0
  9. data/README.md +77 -0
  10. data/Rakefile +2 -1
  11. data/dciy.toml +3 -0
  12. data/hyper-operation.gemspec +15 -19
  13. data/lib/hyper-operation.rb +6 -10
  14. data/lib/hyper-operation/api.rb +4 -8
  15. data/lib/hyper-operation/boot.rb +2 -3
  16. data/lib/hyper-operation/delay_and_interval.rb +9 -0
  17. data/lib/hyper-operation/engine.rb +2 -2
  18. data/lib/hyper-operation/exception.rb +4 -30
  19. data/lib/hyper-operation/filters/acting_user.rb +1 -1
  20. data/lib/hyper-operation/http.rb +2 -2
  21. data/lib/hyper-operation/promise.rb +2 -32
  22. data/lib/hyper-operation/railway.rb +1 -1
  23. data/lib/hyper-operation/railway/dispatcher.rb +5 -8
  24. data/lib/hyper-operation/railway/params_wrapper.rb +2 -2
  25. data/lib/hyper-operation/railway/run.rb +49 -58
  26. data/lib/hyper-operation/railway/validations.rb +3 -10
  27. data/lib/hyper-operation/server_op.rb +20 -46
  28. data/lib/hyper-operation/transport/action_cable.rb +8 -8
  29. data/lib/hyper-operation/transport/client_drivers.rb +55 -96
  30. data/lib/hyper-operation/transport/connection.rb +136 -58
  31. data/lib/hyper-operation/transport/{hyperstack.rb → hyperloop.rb} +15 -28
  32. data/lib/hyper-operation/transport/{hyperstack_controller.rb → hyperloop_controller.rb} +53 -59
  33. data/lib/hyper-operation/transport/policy.rb +49 -50
  34. data/lib/hyper-operation/version.rb +2 -2
  35. data/lib/sources/{hyperstack → hyperloop}/pusher.js +0 -0
  36. metadata +73 -94
  37. data/lib/hyper-operation/async_sleep.rb +0 -23
  38. data/lib/hyper-operation/transport/connection_adapter/active_record.rb +0 -113
  39. data/lib/hyper-operation/transport/connection_adapter/active_record/auto_create.rb +0 -26
  40. data/lib/hyper-operation/transport/connection_adapter/active_record/connection.rb +0 -47
  41. data/lib/hyper-operation/transport/connection_adapter/active_record/queued_message.rb +0 -42
  42. data/lib/hyper-operation/transport/connection_adapter/redis.rb +0 -94
  43. data/lib/hyper-operation/transport/connection_adapter/redis/connection.rb +0 -85
  44. data/lib/hyper-operation/transport/connection_adapter/redis/queued_message.rb +0 -34
  45. data/lib/hyper-operation/transport/connection_adapter/redis/redis_record.rb +0 -158
  46. data/lib/hyper-operation/transport/policy_diagnostics.rb +0 -106
@@ -1,18 +1,8 @@
1
- module Hyperstack
1
+ module Hyperloop
2
2
 
3
3
  class InternalClassPolicy
4
4
 
5
5
  def initialize(regulated_klass)
6
- unless regulated_klass.is_a?(Class)
7
- # attempt to constantize the class in case eager_loading in production
8
- # has loaded the policy before the class. THis will insure that if
9
- # there is a class being regulated, it is loaded first.
10
- begin
11
- regulated_klass.constantize
12
- rescue NameError
13
- nil
14
- end
15
- end
16
6
  @regulated_klass = regulated_klass
17
7
  end
18
8
 
@@ -21,7 +11,7 @@ module Hyperstack
21
11
  EXPOSED_METHODS = [
22
12
  :regulate_class_connection, :always_allow_connection, :regulate_instance_connections,
23
13
  :regulate_all_broadcasts, :regulate_broadcast,
24
- :regulate_dispatches_from, :always_dispatch_from,
14
+ :dispatch_to, :regulate_dispatches_from, :always_dispatch_from,
25
15
  :allow_change, :allow_create, :allow_read, :allow_update, :allow_destroy
26
16
  ]
27
17
 
@@ -58,6 +48,21 @@ module Hyperstack
58
48
  regulate_dispatches_from(*args) { true }
59
49
  end
60
50
 
51
+ def dispatch_to(*args, &regulation)
52
+ actual_klass = if regulated_klass.is_a?(Class)
53
+ regulated_klass
54
+ else
55
+ begin
56
+ regulated_klass.constantize
57
+ rescue NameError
58
+ nil
59
+ end
60
+ end
61
+ raise 'you can only dispatch_to Operation classes' unless actual_klass.respond_to? :dispatch_to
62
+ actual_klass.dispatch_to(actual_klass)
63
+ actual_klass.dispatch_to(*args, &regulation)
64
+ end
65
+
61
66
  CHANGE_POLICIES = [:create, :update, :destroy]
62
67
 
63
68
  def self.allow_policy(policy, method)
@@ -90,7 +95,7 @@ module Hyperstack
90
95
  def get_ar_model(str)
91
96
  if str.is_a?(Class)
92
97
  unless str <= ActiveRecord::Base
93
- Hyperstack::InternalPolicy.raise_operation_access_violation(:non_ar_class, "#{str} is not a subclass of ActiveRecord::Base")
98
+ Hyperloop::InternalPolicy.raise_operation_access_violation
94
99
  end
95
100
  str
96
101
  else
@@ -99,12 +104,12 @@ module Hyperstack
99
104
  # def self.ar_base_descendants_map_cache
100
105
  # @ar_base_descendants_map_cache ||= ActiveRecord::Base.descendants.map(&:name)
101
106
  # end
102
- # if Rails.env.production? && !Hyperstack::InternalClassPolicy.ar_base_descendants_map_cache.include?(str)
107
+ # if Rails.env.production? && !Hyperloop::InternalClassPolicy.ar_base_descendants_map_cache.include?(str)
103
108
  if Rails.application.config.eager_load && !ActiveRecord::Base.descendants.map(&:name).include?(str)
104
109
  # AR::Base.descendants is eager loaded in production -> this guard works.
105
110
  # In development it may be empty or partially filled -> this guard may fail.
106
111
  # Thus guarded here only in production.
107
- Hyperstack::InternalPolicy.raise_operation_access_violation(:non_ar_class, "#{str} is either not defined or is not a subclass of ActiveRecord::Base")
112
+ Hyperloop::InternalPolicy.raise_operation_access_violation
108
113
  end
109
114
  Object.const_get(str)
110
115
  end
@@ -187,7 +192,7 @@ module Hyperstack
187
192
  raise "Could not determine the class when regulating. This is probably caused by doing something like &:send_all"
188
193
  end
189
194
  wrapped_policy = policy_klass.new(nil, nil)
190
- wrapped_policy.hyperstack_internal_policy_object = policy
195
+ wrapped_policy.hyperloop_internal_policy_object = policy
191
196
  wrapped_policy
192
197
  end
193
198
 
@@ -328,9 +333,9 @@ module Hyperstack
328
333
  regulations[instance].regulations.each do |regulation|
329
334
  instance.instance_exec wrap_policy(policy, regulation), &regulation
330
335
  end
331
- return if policy.has_to_been_called?
332
-
333
- raise "#{instance.class.name} instance broadcast policy not sent to any channel"
336
+ if policy.has_unassigned_sets?
337
+ raise "#{instance.class.name} instance broadcast policy not sent to any channel"
338
+ end
334
339
  end
335
340
  end
336
341
 
@@ -338,7 +343,7 @@ module Hyperstack
338
343
  def self.channels(session, acting_user)
339
344
  channels = ClassConnectionRegulation.connections_for(acting_user, true) +
340
345
  InstanceConnectionRegulation.connections_for(acting_user, true)
341
- channels << "Hyperstack::Session-#{session.split('-').last}" if Hyperstack.connect_session && session
346
+ channels << "Hyperloop::Session-#{session.split('-').last}" if Hyperloop.connect_session && session
342
347
  channels.uniq.each { |channel| Connection.open(channel, session) }
343
348
  end
344
349
  end
@@ -363,16 +368,16 @@ module Hyperstack
363
368
  @obj
364
369
  end
365
370
 
366
- def self.raise_operation_access_violation(message, details)
367
- raise Hyperstack::AccessViolation.new(message, details)
371
+ def self.raise_operation_access_violation
372
+ raise Hyperloop::AccessViolation
368
373
  end
369
374
 
370
375
  def self.regulate_connection(acting_user, channel_string)
371
376
  channel = channel_string.split("-")
372
377
  if channel.length > 1
373
378
  id = channel[1..-1].join("-")
374
- unless Hyperstack::InternalClassPolicy.regulated_klasses.include?(channel[0])
375
- Hyperstack::InternalPolicy.raise_operation_access_violation(:not_a_channel, "#{channel[0]} is not regulated channel class")
379
+ unless Hyperloop::InternalClassPolicy.regulated_klasses.include?(channel[0])
380
+ Hyperloop::InternalPolicy.raise_operation_access_violation
376
381
  end
377
382
  object = Object.const_get(channel[0]).find(id)
378
383
  InstanceConnectionRegulation.connect(object, acting_user)
@@ -390,17 +395,16 @@ module Hyperstack
390
395
  internal_policy.broadcast &block
391
396
  end
392
397
 
393
- def initialize(obj, attribute_names, available_channels = :all)
398
+ def initialize(obj, attribute_names, available_channels)
394
399
  @obj = obj
395
- @attribute_names = attribute_names.map(&:to_sym).to_set
400
+ attribute_names = attribute_names.map(&:to_sym).to_set
396
401
  @unassigned_send_sets = []
397
- @channel_sets = Hash.new { |hash, key| hash[key] = @attribute_names }
402
+ @channel_sets = Hash.new { |hash, key| hash[key] = attribute_names }
398
403
  @available_channels = available_channels
399
404
  end
400
405
 
401
406
  def channel_available?(channel)
402
- return false unless channel
403
- @available_channels == :all || @available_channels.include?(channel_to_string(channel))
407
+ channel && @available_channels.include?(channel_to_string(channel))
404
408
  end
405
409
 
406
410
  def id
@@ -425,17 +429,12 @@ module Hyperstack
425
429
  end
426
430
 
427
431
  def send_set_to(send_set, channels)
428
- @to_has_been_called = true
429
432
  channels.flatten(1).each do |channel|
430
433
  merge_set(send_set, channel) if channel_available? channel
431
434
  @unassigned_send_sets.delete(send_set)
432
435
  end
433
436
  end
434
437
 
435
- def has_to_been_called?
436
- !has_unassigned_sets? || @to_has_been_called
437
- end
438
-
439
438
  def merge_set(send_set, channel)
440
439
  return unless channel
441
440
  channel = channel.name if channel.is_a?(Class) && channel.name
@@ -472,7 +471,7 @@ module Hyperstack
472
471
 
473
472
  def send_message(header, channel, attribute_set, &block)
474
473
  record = filter(@obj.react_serializer, attribute_set)
475
- previous_changes = filter(@obj.saved_changes, attribute_set)
474
+ previous_changes = filter(@obj.previous_changes, attribute_set)
476
475
  return if record.empty? && previous_changes.empty?
477
476
  message = header.merge(
478
477
  channel: channel_to_string(channel),
@@ -513,12 +512,12 @@ module Hyperstack
513
512
  end
514
513
 
515
514
  module ClassPolicyMethods
516
- def hyperstack_internal_policy_object
517
- @hyperstack_internal_policy_object ||= InternalClassPolicy.new(name || self)
515
+ def hyperloop_internal_policy_object
516
+ @hyperloop_internal_policy_object ||= InternalClassPolicy.new(name || self)
518
517
  end
519
518
  InternalClassPolicy::EXPOSED_METHODS.each do |policy_method|
520
519
  define_method policy_method do |*klasses, &block|
521
- hyperstack_internal_policy_object.send policy_method, *klasses, &block
520
+ hyperloop_internal_policy_object.send policy_method, *klasses, &block
522
521
  end unless respond_to? policy_method
523
522
  end
524
523
  end
@@ -529,10 +528,10 @@ module Hyperstack
529
528
  extend ClassPolicyMethods
530
529
  end
531
530
  end
532
- attr_accessor :hyperstack_internal_policy_object
531
+ attr_accessor :hyperloop_internal_policy_object
533
532
  InternalPolicy::EXPOSED_METHODS.each do |method|
534
533
  define_method method do |*args, &block|
535
- hyperstack_internal_policy_object.send method, *args, &block
534
+ hyperloop_internal_policy_object.send method, *args, &block
536
535
  end unless respond_to? method
537
536
  end
538
537
  define_method :initialize do |*args|
@@ -549,34 +548,34 @@ module Hyperstack
549
548
  end
550
549
 
551
550
  class Module
552
- alias pre_hyperstack_const_set const_set
551
+ alias pre_hyperloop_const_set const_set
553
552
 
554
553
  def const_set(name, value)
555
- pre_hyperstack_const_set(name, value).tap do
556
- Hyperstack::PolicyAutoLoader.load(name, value)
554
+ pre_hyperloop_const_set(name, value).tap do
555
+ Hyperloop::PolicyAutoLoader.load(name, value)
557
556
  end
558
557
  end
559
558
  end
560
559
 
561
560
  class Class
562
561
 
563
- alias pre_hyperstack_inherited inherited
562
+ alias pre_hyperloop_inherited inherited
564
563
 
565
564
  def inherited(child_class)
566
- pre_hyperstack_inherited(child_class).tap do
567
- Hyperstack::PolicyAutoLoader.load(child_class.name, child_class)
565
+ pre_hyperloop_inherited(child_class).tap do
566
+ Hyperloop::PolicyAutoLoader.load(child_class.name, child_class)
568
567
  end
569
568
  end
570
569
 
571
- Hyperstack::ClassPolicyMethods.instance_methods.each do |method|
570
+ Hyperloop::ClassPolicyMethods.instance_methods.each do |method|
572
571
  define_method method do |*args, &block|
573
572
  if name.end_with?("Policy".freeze)
574
- @hyperstack_internal_policy_object = Hyperstack::InternalClassPolicy.new(name.sub(/Policy$/,""))
575
- include Hyperstack::PolicyMethods
573
+ @hyperloop_internal_policy_object = Hyperloop::InternalClassPolicy.new(name.sub(/Policy$/,""))
574
+ include Hyperloop::PolicyMethods
576
575
  send method, *args, &block
577
576
  else
578
577
  class << self
579
- Hyperstack::ClassPolicyMethods.instance_methods.each do |method|
578
+ Hyperloop::ClassPolicyMethods.instance_methods.each do |method|
580
579
  undef_method method
581
580
  end
582
581
  end
@@ -1,5 +1,5 @@
1
- module Hyperstack
1
+ module Hyperloop
2
2
  class Operation
3
- VERSION = '1.0.alpha1.8'
3
+ VERSION = '1.0.0.lap28'
4
4
  end
5
5
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper-operation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.alpha1.8
4
+ version: 1.0.0.lap28
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitch VanDuyn
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-04-13 00:00:00.000000000 Z
12
+ date: 2018-05-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -31,14 +31,28 @@ dependencies:
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 1.0.alpha1.8
34
+ version: 1.0.0.lap28
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 1.0.alpha1.8
41
+ version: 1.0.0.lap28
42
+ - !ruby/object:Gem::Dependency
43
+ name: hyperloop-config
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '='
47
+ - !ruby/object:Gem::Version
48
+ version: 1.0.0.lap28
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '='
54
+ - !ruby/object:Gem::Version
55
+ version: 1.0.0.lap28
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: mutations
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -67,20 +81,6 @@ dependencies:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
83
  version: 0.3.1
70
- - !ruby/object:Gem::Dependency
71
- name: tty-table
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :runtime
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: bundler
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +96,7 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: chromedriver-helper
99
+ name: database_cleaner
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
@@ -110,33 +110,33 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: database_cleaner
113
+ name: hyper-react
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
- - - ">="
116
+ - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: '0'
118
+ version: 1.0.0.lap28
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
- - - ">="
123
+ - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: '0'
125
+ version: 1.0.0.lap28
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: hyper-spec
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: 1.0.alpha1.8
132
+ version: 1.0.0.lap28
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - '='
138
138
  - !ruby/object:Gem::Version
139
- version: 1.0.alpha1.8
139
+ version: 1.0.0.lap28
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: mysql2
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -152,67 +152,67 @@ dependencies:
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
- name: opal-browser
155
+ name: opal
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - "~>"
158
+ - - ">="
159
159
  - !ruby/object:Gem::Version
160
- version: 0.2.0
160
+ version: 0.11.0
161
+ - - "<"
162
+ - !ruby/object:Gem::Version
163
+ version: 0.12.0
161
164
  type: :development
162
165
  prerelease: false
163
166
  version_requirements: !ruby/object:Gem::Requirement
164
167
  requirements:
165
- - - "~>"
168
+ - - ">="
166
169
  - !ruby/object:Gem::Version
167
- version: 0.2.0
170
+ version: 0.11.0
171
+ - - "<"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.12.0
168
174
  - !ruby/object:Gem::Dependency
169
- name: opal-rails
175
+ name: opal-browser
170
176
  requirement: !ruby/object:Gem::Requirement
171
177
  requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: 0.9.4
175
- - - "<"
178
+ - - "~>"
176
179
  - !ruby/object:Gem::Version
177
- version: '2.0'
180
+ version: 0.2.0
178
181
  type: :development
179
182
  prerelease: false
180
183
  version_requirements: !ruby/object:Gem::Requirement
181
184
  requirements:
182
- - - ">="
183
- - !ruby/object:Gem::Version
184
- version: 0.9.4
185
- - - "<"
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '2.0'
187
+ version: 0.2.0
188
188
  - !ruby/object:Gem::Dependency
189
- name: pry-rescue
189
+ name: opal-rails
190
190
  requirement: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ">="
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '0'
194
+ version: 0.9.4
195
195
  type: :development
196
196
  prerelease: false
197
197
  version_requirements: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ">="
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
- version: '0'
201
+ version: 0.9.4
202
202
  - !ruby/object:Gem::Dependency
203
- name: pry-stack_explorer
203
+ name: mini_racer
204
204
  requirement: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ">="
206
+ - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '0'
208
+ version: 0.1.15
209
209
  type: :development
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - ">="
213
+ - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '0'
215
+ version: 0.1.15
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: puma
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -261,20 +261,14 @@ dependencies:
261
261
  requirements:
262
262
  - - ">="
263
263
  - !ruby/object:Gem::Version
264
- version: 5.0.0
265
- - - "<"
266
- - !ruby/object:Gem::Version
267
- version: '7.0'
264
+ version: 4.0.0
268
265
  type: :development
269
266
  prerelease: false
270
267
  version_requirements: !ruby/object:Gem::Requirement
271
268
  requirements:
272
269
  - - ">="
273
270
  - !ruby/object:Gem::Version
274
- version: 5.0.0
275
- - - "<"
276
- - !ruby/object:Gem::Version
277
- version: '7.0'
271
+ version: 4.0.0
278
272
  - !ruby/object:Gem::Dependency
279
273
  name: rake
280
274
  requirement: !ruby/object:Gem::Requirement
@@ -309,20 +303,6 @@ dependencies:
309
303
  - - "<"
310
304
  - !ruby/object:Gem::Version
311
305
  version: 2.5.0
312
- - !ruby/object:Gem::Dependency
313
- name: redis
314
- requirement: !ruby/object:Gem::Requirement
315
- requirements:
316
- - - ">="
317
- - !ruby/object:Gem::Version
318
- version: '0'
319
- type: :development
320
- prerelease: false
321
- version_requirements: !ruby/object:Gem::Requirement
322
- requirements:
323
- - - ">="
324
- - !ruby/object:Gem::Version
325
- version: '0'
326
306
  - !ruby/object:Gem::Dependency
327
307
  name: rspec-rails
328
308
  requirement: !ruby/object:Gem::Requirement
@@ -369,16 +349,16 @@ dependencies:
369
349
  name: sqlite3
370
350
  requirement: !ruby/object:Gem::Requirement
371
351
  requirements:
372
- - - "~>"
352
+ - - ">="
373
353
  - !ruby/object:Gem::Version
374
- version: 1.4.2
354
+ version: '0'
375
355
  type: :development
376
356
  prerelease: false
377
357
  version_requirements: !ruby/object:Gem::Requirement
378
358
  requirements:
379
- - - "~>"
359
+ - - ">="
380
360
  - !ruby/object:Gem::Version
381
- version: 1.4.2
361
+ version: '0'
382
362
  - !ruby/object:Gem::Dependency
383
363
  name: timecop
384
364
  requirement: !ruby/object:Gem::Requirement
@@ -403,13 +383,19 @@ extra_rdoc_files: []
403
383
  files:
404
384
  - ".gitignore"
405
385
  - ".travis.yml"
386
+ - CODE_OF_CONDUCT.md
387
+ - DOCS-POLICIES.md
388
+ - DOCS.md
406
389
  - Gemfile
390
+ - LICENSE.txt
391
+ - README.md
407
392
  - Rakefile
393
+ - dciy.toml
408
394
  - hyper-operation.gemspec
409
395
  - lib/hyper-operation.rb
410
396
  - lib/hyper-operation/api.rb
411
- - lib/hyper-operation/async_sleep.rb
412
397
  - lib/hyper-operation/boot.rb
398
+ - lib/hyper-operation/delay_and_interval.rb
413
399
  - lib/hyper-operation/engine.rb
414
400
  - lib/hyper-operation/exception.rb
415
401
  - lib/hyper-operation/filters/acting_user.rb
@@ -429,22 +415,13 @@ files:
429
415
  - lib/hyper-operation/transport/active_record.rb
430
416
  - lib/hyper-operation/transport/client_drivers.rb
431
417
  - lib/hyper-operation/transport/connection.rb
432
- - lib/hyper-operation/transport/connection_adapter/active_record.rb
433
- - lib/hyper-operation/transport/connection_adapter/active_record/auto_create.rb
434
- - lib/hyper-operation/transport/connection_adapter/active_record/connection.rb
435
- - lib/hyper-operation/transport/connection_adapter/active_record/queued_message.rb
436
- - lib/hyper-operation/transport/connection_adapter/redis.rb
437
- - lib/hyper-operation/transport/connection_adapter/redis/connection.rb
438
- - lib/hyper-operation/transport/connection_adapter/redis/queued_message.rb
439
- - lib/hyper-operation/transport/connection_adapter/redis/redis_record.rb
440
- - lib/hyper-operation/transport/hyperstack.rb
441
- - lib/hyper-operation/transport/hyperstack_controller.rb
418
+ - lib/hyper-operation/transport/hyperloop.rb
419
+ - lib/hyper-operation/transport/hyperloop_controller.rb
442
420
  - lib/hyper-operation/transport/pluck.rb
443
421
  - lib/hyper-operation/transport/policy.rb
444
- - lib/hyper-operation/transport/policy_diagnostics.rb
445
422
  - lib/hyper-operation/version.rb
446
- - lib/sources/hyperstack/pusher.js
447
- homepage: http://ruby-hyperstack.org
423
+ - lib/sources/hyperloop/pusher.js
424
+ homepage: http://ruby-hyperloop.org
448
425
  licenses:
449
426
  - MIT
450
427
  metadata: {}
@@ -463,8 +440,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
463
440
  - !ruby/object:Gem::Version
464
441
  version: 1.3.1
465
442
  requirements: []
466
- rubygems_version: 3.0.8
443
+ rubyforge_project:
444
+ rubygems_version: 2.7.6
467
445
  signing_key:
468
446
  specification_version: 4
469
- summary: HyperOperations are the swiss army knife of the Hyperstack
447
+ summary: Compose your business logic into isomorphic commands that sanitize and validate
448
+ input. Write safe, reusable, and maintainable code for Ruby and Rails app
470
449
  test_files: []