wamp-worker 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +5 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +204 -0
  9. data/Rakefile +6 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/bin/wamp-worker +46 -0
  13. data/lib/wamp/worker.rb +132 -0
  14. data/lib/wamp/worker/config.rb +184 -0
  15. data/lib/wamp/worker/handler.rb +196 -0
  16. data/lib/wamp/worker/proxy/backgrounder.rb +38 -0
  17. data/lib/wamp/worker/proxy/base.rb +101 -0
  18. data/lib/wamp/worker/proxy/dispatcher.rb +115 -0
  19. data/lib/wamp/worker/proxy/requestor.rb +91 -0
  20. data/lib/wamp/worker/queue.rb +135 -0
  21. data/lib/wamp/worker/rails.rb +28 -0
  22. data/lib/wamp/worker/runner.rb +240 -0
  23. data/lib/wamp/worker/ticker.rb +30 -0
  24. data/lib/wamp/worker/version.rb +5 -0
  25. data/spec/spec_helper.rb +29 -0
  26. data/spec/support/client_stub.rb +47 -0
  27. data/spec/support/handler_stub.rb +105 -0
  28. data/spec/support/redis_stub.rb +89 -0
  29. data/spec/support/session_stub.rb +101 -0
  30. data/spec/wamp/worker/config_spec.rb +90 -0
  31. data/spec/wamp/worker/handler_spec.rb +162 -0
  32. data/spec/wamp/worker/proxy_spec.rb +153 -0
  33. data/spec/wamp/worker/queue_spec.rb +49 -0
  34. data/spec/wamp/worker/runner_spec.rb +108 -0
  35. data/spec/wamp/worker_spec.rb +8 -0
  36. data/test/app_test.rb +124 -0
  37. data/test/hello.py +50 -0
  38. data/test/sidekiq.yml +5 -0
  39. data/test/wamp_test/.generators +8 -0
  40. data/test/wamp_test/.ruby-version +1 -0
  41. data/test/wamp_test/Gemfile +65 -0
  42. data/test/wamp_test/Gemfile.lock +246 -0
  43. data/test/wamp_test/README.md +24 -0
  44. data/test/wamp_test/Rakefile +6 -0
  45. data/test/wamp_test/app/assets/config/manifest.js +3 -0
  46. data/test/wamp_test/app/assets/images/.keep +0 -0
  47. data/test/wamp_test/app/assets/javascripts/application.js +16 -0
  48. data/test/wamp_test/app/assets/javascripts/cable.js +13 -0
  49. data/test/wamp_test/app/assets/javascripts/channels/.keep +0 -0
  50. data/test/wamp_test/app/assets/stylesheets/application.css +15 -0
  51. data/test/wamp_test/app/channels/application_cable/channel.rb +4 -0
  52. data/test/wamp_test/app/channels/application_cable/connection.rb +4 -0
  53. data/test/wamp_test/app/controllers/add_controller.rb +11 -0
  54. data/test/wamp_test/app/controllers/application_controller.rb +3 -0
  55. data/test/wamp_test/app/controllers/concerns/.keep +0 -0
  56. data/test/wamp_test/app/controllers/ping_controller.rb +7 -0
  57. data/test/wamp_test/app/handlers/add_handler.rb +9 -0
  58. data/test/wamp_test/app/handlers/back_add_handler.rb +26 -0
  59. data/test/wamp_test/app/handlers/back_ping_handler.rb +10 -0
  60. data/test/wamp_test/app/handlers/ping_handler.rb +10 -0
  61. data/test/wamp_test/app/helpers/application_helper.rb +2 -0
  62. data/test/wamp_test/app/jobs/application_job.rb +2 -0
  63. data/test/wamp_test/app/mailers/application_mailer.rb +4 -0
  64. data/test/wamp_test/app/models/application_record.rb +3 -0
  65. data/test/wamp_test/app/models/concerns/.keep +0 -0
  66. data/test/wamp_test/app/views/layouts/application.html.erb +15 -0
  67. data/test/wamp_test/app/views/layouts/mailer.html.erb +13 -0
  68. data/test/wamp_test/app/views/layouts/mailer.text.erb +1 -0
  69. data/test/wamp_test/bin/bundle +3 -0
  70. data/test/wamp_test/bin/rails +9 -0
  71. data/test/wamp_test/bin/rake +9 -0
  72. data/test/wamp_test/bin/setup +36 -0
  73. data/test/wamp_test/bin/spring +17 -0
  74. data/test/wamp_test/bin/update +31 -0
  75. data/test/wamp_test/bin/yarn +11 -0
  76. data/test/wamp_test/config.ru +5 -0
  77. data/test/wamp_test/config/application.rb +19 -0
  78. data/test/wamp_test/config/boot.rb +4 -0
  79. data/test/wamp_test/config/cable.yml +10 -0
  80. data/test/wamp_test/config/credentials.yml.enc +1 -0
  81. data/test/wamp_test/config/database.yml +25 -0
  82. data/test/wamp_test/config/environment.rb +5 -0
  83. data/test/wamp_test/config/environments/development.rb +61 -0
  84. data/test/wamp_test/config/environments/production.rb +94 -0
  85. data/test/wamp_test/config/environments/test.rb +46 -0
  86. data/test/wamp_test/config/initializers/application_controller_renderer.rb +8 -0
  87. data/test/wamp_test/config/initializers/assets.rb +14 -0
  88. data/test/wamp_test/config/initializers/backtrace_silencers.rb +7 -0
  89. data/test/wamp_test/config/initializers/content_security_policy.rb +25 -0
  90. data/test/wamp_test/config/initializers/cookies_serializer.rb +5 -0
  91. data/test/wamp_test/config/initializers/filter_parameter_logging.rb +4 -0
  92. data/test/wamp_test/config/initializers/inflections.rb +16 -0
  93. data/test/wamp_test/config/initializers/mime_types.rb +4 -0
  94. data/test/wamp_test/config/initializers/wamp-worker.rb +8 -0
  95. data/test/wamp_test/config/initializers/wrap_parameters.rb +14 -0
  96. data/test/wamp_test/config/locales/en.yml +33 -0
  97. data/test/wamp_test/config/master.key +1 -0
  98. data/test/wamp_test/config/puma.rb +34 -0
  99. data/test/wamp_test/config/routes.rb +4 -0
  100. data/test/wamp_test/config/sidekiq.yml +6 -0
  101. data/test/wamp_test/config/spring.rb +6 -0
  102. data/test/wamp_test/config/storage.yml +34 -0
  103. data/test/wamp_test/db/development.sqlite3 +0 -0
  104. data/test/wamp_test/db/seeds.rb +7 -0
  105. data/test/wamp_test/lib/assets/.keep +0 -0
  106. data/test/wamp_test/lib/tasks/.keep +0 -0
  107. data/test/wamp_test/package.json +5 -0
  108. data/test/wamp_test/public/404.html +67 -0
  109. data/test/wamp_test/public/422.html +67 -0
  110. data/test/wamp_test/public/500.html +66 -0
  111. data/test/wamp_test/public/apple-touch-icon-precomposed.png +0 -0
  112. data/test/wamp_test/public/apple-touch-icon.png +0 -0
  113. data/test/wamp_test/public/favicon.ico +0 -0
  114. data/test/wamp_test/public/robots.txt +1 -0
  115. data/test/wamp_test/storage/.keep +0 -0
  116. data/test/wamp_test/test/application_system_test_case.rb +5 -0
  117. data/test/wamp_test/test/controllers/.keep +0 -0
  118. data/test/wamp_test/test/fixtures/.keep +0 -0
  119. data/test/wamp_test/test/fixtures/files/.keep +0 -0
  120. data/test/wamp_test/test/helpers/.keep +0 -0
  121. data/test/wamp_test/test/integration/.keep +0 -0
  122. data/test/wamp_test/test/mailers/.keep +0 -0
  123. data/test/wamp_test/test/models/.keep +0 -0
  124. data/test/wamp_test/test/system/.keep +0 -0
  125. data/test/wamp_test/test/test_helper.rb +10 -0
  126. data/test/wamp_test/vendor/.keep +0 -0
  127. data/test/web/index.html +101 -0
  128. data/wamp-worker.gemspec +32 -0
  129. metadata +395 -0
File without changes
@@ -0,0 +1,7 @@
1
+ # This file should contain all the record creation needed to seed the database with its default values.
2
+ # The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
3
+ #
4
+ # Examples:
5
+ #
6
+ # movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
7
+ # Character.create(name: 'Luke', movie: movies.first)
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "wamp_test",
3
+ "private": true,
4
+ "dependencies": {}
5
+ }
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ .rails-default-error-page {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ .rails-default-error-page div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ .rails-default-error-page div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ .rails-default-error-page h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ .rails-default-error-page div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body class="rails-default-error-page">
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ .rails-default-error-page {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ .rails-default-error-page div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ .rails-default-error-page div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ .rails-default-error-page h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ .rails-default-error-page div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body class="rails-default-error-page">
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ .rails-default-error-page {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ .rails-default-error-page div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ .rails-default-error-page div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ .rails-default-error-page h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ .rails-default-error-page div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body class="rails-default-error-page">
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1 @@
1
+ # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
File without changes
@@ -0,0 +1,5 @@
1
+ require "test_helper"
2
+
3
+ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
4
+ driven_by :selenium, using: :chrome, screen_size: [1400, 1400]
5
+ end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,10 @@
1
+ ENV['RAILS_ENV'] ||= 'test'
2
+ require_relative '../config/environment'
3
+ require 'rails/test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7
+ fixtures :all
8
+
9
+ # Add more helper methods to be used by all tests here...
10
+ end
File without changes
@@ -0,0 +1,101 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <body>
4
+ <h1>Hello WAMP</h1>
5
+ <p>Open JavaScript console to watch output.</p>
6
+ <script>AUTOBAHN_DEBUG = false;</script>
7
+ <script src="/shared/autobahn/autobahn.min.js"></script>
8
+
9
+ <script>
10
+ // the URL of the WAMP Router (Crossbar.io)
11
+ //
12
+ var wsuri;
13
+ if (document.location.origin === "null" || document.location.origin === "file://") {
14
+ wsuri = "ws://127.0.0.1:8080/ws";
15
+ } else {
16
+ wsuri = (document.location.protocol === "http:" ? "ws:" : "wss:") + "//" +
17
+ document.location.host + "/ws";
18
+ }
19
+ // the WAMP connection to the Router
20
+ //
21
+ var connection = new autobahn.Connection({
22
+ url: wsuri,
23
+ realm: "realm1"
24
+ });
25
+ // timers
26
+ //
27
+ var t1, t2;
28
+ // fired when connection is established and session attached
29
+ //
30
+ connection.onopen = function (session, details) {
31
+ console.log("Connected");
32
+ // SUBSCRIBE to a topic and receive events
33
+ //
34
+ function on_counter (args) {
35
+ var counter = args[0];
36
+ console.log("on_counter() event received with counter " + counter);
37
+ }
38
+ session.subscribe('com.example.oncounter', on_counter).then(
39
+ function (sub) {
40
+ console.log('subscribed to topic');
41
+ },
42
+ function (err) {
43
+ console.log('failed to subscribe to topic', err);
44
+ }
45
+ );
46
+ // PUBLISH an event every second
47
+ //
48
+ t1 = setInterval(function () {
49
+ session.publish('com.example.onhello', ['Hello from JavaScript (browser)']);
50
+ console.log("published to topic 'com.example.onhello'");
51
+ }, 1000);
52
+ // REGISTER a procedure for remote calling
53
+ //
54
+ function mul2 (args) {
55
+ var x = args[0];
56
+ var y = args[1];
57
+ console.log("mul2() called with " + x + " and " + y);
58
+ return x * y;
59
+ }
60
+ session.register('com.example.mul2', mul2).then(
61
+ function (reg) {
62
+ console.log('procedure registered');
63
+ },
64
+ function (err) {
65
+ console.log('failed to register procedure', err);
66
+ }
67
+ );
68
+ // CALL a remote procedure every second
69
+ //
70
+ var x = 0;
71
+ t2 = setInterval(function () {
72
+ session.call('com.example.add2', [x, 18]).then(
73
+ function (res) {
74
+ console.log("add2() result:", res);
75
+ },
76
+ function (err) {
77
+ console.log("add2() error:", err);
78
+ }
79
+ );
80
+ x += 3;
81
+ }, 1000);
82
+ };
83
+ // fired when connection was lost (or could not be established)
84
+ //
85
+ connection.onclose = function (reason, details) {
86
+ console.log("Connection lost: " + reason);
87
+ if (t1) {
88
+ clearInterval(t1);
89
+ t1 = null;
90
+ }
91
+ if (t2) {
92
+ clearInterval(t2);
93
+ t2 = null;
94
+ }
95
+ }
96
+ // now actually open the connection
97
+ //
98
+ connection.open();
99
+ </script>
100
+ </body>
101
+ </html>
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require 'wamp/worker/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "wamp-worker"
8
+ spec.version = Wamp::Worker::VERSION
9
+ spec.authors = ["Eric Chapman"]
10
+ spec.email = ["eric.chappy@gmail.com"]
11
+
12
+ spec.summary = %q{Web Application Messaging Protocol Client worker for Rails}
13
+ spec.homepage = "https://github.com/ericchapman/ruby_wamp_worker"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.17"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "rspec", "~> 3.5"
24
+ spec.add_development_dependency 'simplecov', '~> 0.12'
25
+ spec.add_development_dependency 'codecov', '~> 0.1.9'
26
+ spec.add_development_dependency 'sidekiq', '~> 5.2'
27
+
28
+ spec.required_ruby_version = '>= 2.3'
29
+
30
+ spec.add_dependency 'wamp_client', '~> 0.2.0'
31
+ spec.add_dependency 'redis', '~> 4.0'
32
+ end
metadata ADDED
@@ -0,0 +1,395 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wamp-worker
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Eric Chapman
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-12-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.17'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.17'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.12'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: codecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.1.9
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.1.9
83
+ - !ruby/object:Gem::Dependency
84
+ name: sidekiq
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '5.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '5.2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: wamp_client
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.2.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.2.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: redis
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '4.0'
125
+ description:
126
+ email:
127
+ - eric.chappy@gmail.com
128
+ executables:
129
+ - console
130
+ - setup
131
+ - wamp-worker
132
+ extensions: []
133
+ extra_rdoc_files: []
134
+ files:
135
+ - ".gitignore"
136
+ - ".rspec"
137
+ - ".ruby-version"
138
+ - ".travis.yml"
139
+ - Gemfile
140
+ - LICENSE.txt
141
+ - README.md
142
+ - Rakefile
143
+ - bin/console
144
+ - bin/setup
145
+ - bin/wamp-worker
146
+ - lib/wamp/worker.rb
147
+ - lib/wamp/worker/config.rb
148
+ - lib/wamp/worker/handler.rb
149
+ - lib/wamp/worker/proxy/backgrounder.rb
150
+ - lib/wamp/worker/proxy/base.rb
151
+ - lib/wamp/worker/proxy/dispatcher.rb
152
+ - lib/wamp/worker/proxy/requestor.rb
153
+ - lib/wamp/worker/queue.rb
154
+ - lib/wamp/worker/rails.rb
155
+ - lib/wamp/worker/runner.rb
156
+ - lib/wamp/worker/ticker.rb
157
+ - lib/wamp/worker/version.rb
158
+ - spec/spec_helper.rb
159
+ - spec/support/client_stub.rb
160
+ - spec/support/handler_stub.rb
161
+ - spec/support/redis_stub.rb
162
+ - spec/support/session_stub.rb
163
+ - spec/wamp/worker/config_spec.rb
164
+ - spec/wamp/worker/handler_spec.rb
165
+ - spec/wamp/worker/proxy_spec.rb
166
+ - spec/wamp/worker/queue_spec.rb
167
+ - spec/wamp/worker/runner_spec.rb
168
+ - spec/wamp/worker_spec.rb
169
+ - test/.crossbar/config.json
170
+ - test/app_test.rb
171
+ - test/hello.py
172
+ - test/sidekiq.yml
173
+ - test/wamp_test/.generators
174
+ - test/wamp_test/.ruby-version
175
+ - test/wamp_test/Gemfile
176
+ - test/wamp_test/Gemfile.lock
177
+ - test/wamp_test/README.md
178
+ - test/wamp_test/Rakefile
179
+ - test/wamp_test/app/assets/config/manifest.js
180
+ - test/wamp_test/app/assets/images/.keep
181
+ - test/wamp_test/app/assets/javascripts/application.js
182
+ - test/wamp_test/app/assets/javascripts/cable.js
183
+ - test/wamp_test/app/assets/javascripts/channels/.keep
184
+ - test/wamp_test/app/assets/stylesheets/application.css
185
+ - test/wamp_test/app/channels/application_cable/channel.rb
186
+ - test/wamp_test/app/channels/application_cable/connection.rb
187
+ - test/wamp_test/app/controllers/add_controller.rb
188
+ - test/wamp_test/app/controllers/application_controller.rb
189
+ - test/wamp_test/app/controllers/concerns/.keep
190
+ - test/wamp_test/app/controllers/ping_controller.rb
191
+ - test/wamp_test/app/handlers/add_handler.rb
192
+ - test/wamp_test/app/handlers/back_add_handler.rb
193
+ - test/wamp_test/app/handlers/back_ping_handler.rb
194
+ - test/wamp_test/app/handlers/ping_handler.rb
195
+ - test/wamp_test/app/helpers/application_helper.rb
196
+ - test/wamp_test/app/jobs/application_job.rb
197
+ - test/wamp_test/app/mailers/application_mailer.rb
198
+ - test/wamp_test/app/models/application_record.rb
199
+ - test/wamp_test/app/models/concerns/.keep
200
+ - test/wamp_test/app/views/layouts/application.html.erb
201
+ - test/wamp_test/app/views/layouts/mailer.html.erb
202
+ - test/wamp_test/app/views/layouts/mailer.text.erb
203
+ - test/wamp_test/bin/bundle
204
+ - test/wamp_test/bin/rails
205
+ - test/wamp_test/bin/rake
206
+ - test/wamp_test/bin/setup
207
+ - test/wamp_test/bin/spring
208
+ - test/wamp_test/bin/update
209
+ - test/wamp_test/bin/yarn
210
+ - test/wamp_test/config.ru
211
+ - test/wamp_test/config/application.rb
212
+ - test/wamp_test/config/boot.rb
213
+ - test/wamp_test/config/cable.yml
214
+ - test/wamp_test/config/credentials.yml.enc
215
+ - test/wamp_test/config/database.yml
216
+ - test/wamp_test/config/environment.rb
217
+ - test/wamp_test/config/environments/development.rb
218
+ - test/wamp_test/config/environments/production.rb
219
+ - test/wamp_test/config/environments/test.rb
220
+ - test/wamp_test/config/initializers/application_controller_renderer.rb
221
+ - test/wamp_test/config/initializers/assets.rb
222
+ - test/wamp_test/config/initializers/backtrace_silencers.rb
223
+ - test/wamp_test/config/initializers/content_security_policy.rb
224
+ - test/wamp_test/config/initializers/cookies_serializer.rb
225
+ - test/wamp_test/config/initializers/filter_parameter_logging.rb
226
+ - test/wamp_test/config/initializers/inflections.rb
227
+ - test/wamp_test/config/initializers/mime_types.rb
228
+ - test/wamp_test/config/initializers/wamp-worker.rb
229
+ - test/wamp_test/config/initializers/wrap_parameters.rb
230
+ - test/wamp_test/config/locales/en.yml
231
+ - test/wamp_test/config/master.key
232
+ - test/wamp_test/config/puma.rb
233
+ - test/wamp_test/config/routes.rb
234
+ - test/wamp_test/config/sidekiq.yml
235
+ - test/wamp_test/config/spring.rb
236
+ - test/wamp_test/config/storage.yml
237
+ - test/wamp_test/db/development.sqlite3
238
+ - test/wamp_test/db/seeds.rb
239
+ - test/wamp_test/lib/assets/.keep
240
+ - test/wamp_test/lib/tasks/.keep
241
+ - test/wamp_test/log/.keep
242
+ - test/wamp_test/package.json
243
+ - test/wamp_test/public/404.html
244
+ - test/wamp_test/public/422.html
245
+ - test/wamp_test/public/500.html
246
+ - test/wamp_test/public/apple-touch-icon-precomposed.png
247
+ - test/wamp_test/public/apple-touch-icon.png
248
+ - test/wamp_test/public/favicon.ico
249
+ - test/wamp_test/public/robots.txt
250
+ - test/wamp_test/storage/.keep
251
+ - test/wamp_test/test/application_system_test_case.rb
252
+ - test/wamp_test/test/controllers/.keep
253
+ - test/wamp_test/test/fixtures/.keep
254
+ - test/wamp_test/test/fixtures/files/.keep
255
+ - test/wamp_test/test/helpers/.keep
256
+ - test/wamp_test/test/integration/.keep
257
+ - test/wamp_test/test/mailers/.keep
258
+ - test/wamp_test/test/models/.keep
259
+ - test/wamp_test/test/system/.keep
260
+ - test/wamp_test/test/test_helper.rb
261
+ - test/wamp_test/tmp/.keep
262
+ - test/wamp_test/vendor/.keep
263
+ - test/web/index.html
264
+ - wamp-worker.gemspec
265
+ homepage: https://github.com/ericchapman/ruby_wamp_worker
266
+ licenses:
267
+ - MIT
268
+ metadata: {}
269
+ post_install_message:
270
+ rdoc_options: []
271
+ require_paths:
272
+ - lib
273
+ required_ruby_version: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '2.3'
278
+ required_rubygems_version: !ruby/object:Gem::Requirement
279
+ requirements:
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ version: '0'
283
+ requirements: []
284
+ rubyforge_project:
285
+ rubygems_version: 2.5.1
286
+ signing_key:
287
+ specification_version: 4
288
+ summary: Web Application Messaging Protocol Client worker for Rails
289
+ test_files:
290
+ - spec/spec_helper.rb
291
+ - spec/support/client_stub.rb
292
+ - spec/support/handler_stub.rb
293
+ - spec/support/redis_stub.rb
294
+ - spec/support/session_stub.rb
295
+ - spec/wamp/worker/config_spec.rb
296
+ - spec/wamp/worker/handler_spec.rb
297
+ - spec/wamp/worker/proxy_spec.rb
298
+ - spec/wamp/worker/queue_spec.rb
299
+ - spec/wamp/worker/runner_spec.rb
300
+ - spec/wamp/worker_spec.rb
301
+ - test/.crossbar/config.json
302
+ - test/app_test.rb
303
+ - test/hello.py
304
+ - test/sidekiq.yml
305
+ - test/wamp_test/.generators
306
+ - test/wamp_test/.ruby-version
307
+ - test/wamp_test/Gemfile
308
+ - test/wamp_test/Gemfile.lock
309
+ - test/wamp_test/README.md
310
+ - test/wamp_test/Rakefile
311
+ - test/wamp_test/app/assets/config/manifest.js
312
+ - test/wamp_test/app/assets/images/.keep
313
+ - test/wamp_test/app/assets/javascripts/application.js
314
+ - test/wamp_test/app/assets/javascripts/cable.js
315
+ - test/wamp_test/app/assets/javascripts/channels/.keep
316
+ - test/wamp_test/app/assets/stylesheets/application.css
317
+ - test/wamp_test/app/channels/application_cable/channel.rb
318
+ - test/wamp_test/app/channels/application_cable/connection.rb
319
+ - test/wamp_test/app/controllers/add_controller.rb
320
+ - test/wamp_test/app/controllers/application_controller.rb
321
+ - test/wamp_test/app/controllers/concerns/.keep
322
+ - test/wamp_test/app/controllers/ping_controller.rb
323
+ - test/wamp_test/app/handlers/add_handler.rb
324
+ - test/wamp_test/app/handlers/back_add_handler.rb
325
+ - test/wamp_test/app/handlers/back_ping_handler.rb
326
+ - test/wamp_test/app/handlers/ping_handler.rb
327
+ - test/wamp_test/app/helpers/application_helper.rb
328
+ - test/wamp_test/app/jobs/application_job.rb
329
+ - test/wamp_test/app/mailers/application_mailer.rb
330
+ - test/wamp_test/app/models/application_record.rb
331
+ - test/wamp_test/app/models/concerns/.keep
332
+ - test/wamp_test/app/views/layouts/application.html.erb
333
+ - test/wamp_test/app/views/layouts/mailer.html.erb
334
+ - test/wamp_test/app/views/layouts/mailer.text.erb
335
+ - test/wamp_test/bin/bundle
336
+ - test/wamp_test/bin/rails
337
+ - test/wamp_test/bin/rake
338
+ - test/wamp_test/bin/setup
339
+ - test/wamp_test/bin/spring
340
+ - test/wamp_test/bin/update
341
+ - test/wamp_test/bin/yarn
342
+ - test/wamp_test/config.ru
343
+ - test/wamp_test/config/application.rb
344
+ - test/wamp_test/config/boot.rb
345
+ - test/wamp_test/config/cable.yml
346
+ - test/wamp_test/config/credentials.yml.enc
347
+ - test/wamp_test/config/database.yml
348
+ - test/wamp_test/config/environment.rb
349
+ - test/wamp_test/config/environments/development.rb
350
+ - test/wamp_test/config/environments/production.rb
351
+ - test/wamp_test/config/environments/test.rb
352
+ - test/wamp_test/config/initializers/application_controller_renderer.rb
353
+ - test/wamp_test/config/initializers/assets.rb
354
+ - test/wamp_test/config/initializers/backtrace_silencers.rb
355
+ - test/wamp_test/config/initializers/content_security_policy.rb
356
+ - test/wamp_test/config/initializers/cookies_serializer.rb
357
+ - test/wamp_test/config/initializers/filter_parameter_logging.rb
358
+ - test/wamp_test/config/initializers/inflections.rb
359
+ - test/wamp_test/config/initializers/mime_types.rb
360
+ - test/wamp_test/config/initializers/wamp-worker.rb
361
+ - test/wamp_test/config/initializers/wrap_parameters.rb
362
+ - test/wamp_test/config/locales/en.yml
363
+ - test/wamp_test/config/master.key
364
+ - test/wamp_test/config/puma.rb
365
+ - test/wamp_test/config/routes.rb
366
+ - test/wamp_test/config/sidekiq.yml
367
+ - test/wamp_test/config/spring.rb
368
+ - test/wamp_test/config/storage.yml
369
+ - test/wamp_test/db/development.sqlite3
370
+ - test/wamp_test/db/seeds.rb
371
+ - test/wamp_test/lib/assets/.keep
372
+ - test/wamp_test/lib/tasks/.keep
373
+ - test/wamp_test/log/.keep
374
+ - test/wamp_test/package.json
375
+ - test/wamp_test/public/404.html
376
+ - test/wamp_test/public/422.html
377
+ - test/wamp_test/public/500.html
378
+ - test/wamp_test/public/apple-touch-icon-precomposed.png
379
+ - test/wamp_test/public/apple-touch-icon.png
380
+ - test/wamp_test/public/favicon.ico
381
+ - test/wamp_test/public/robots.txt
382
+ - test/wamp_test/storage/.keep
383
+ - test/wamp_test/test/application_system_test_case.rb
384
+ - test/wamp_test/test/controllers/.keep
385
+ - test/wamp_test/test/fixtures/.keep
386
+ - test/wamp_test/test/fixtures/files/.keep
387
+ - test/wamp_test/test/helpers/.keep
388
+ - test/wamp_test/test/integration/.keep
389
+ - test/wamp_test/test/mailers/.keep
390
+ - test/wamp_test/test/models/.keep
391
+ - test/wamp_test/test/system/.keep
392
+ - test/wamp_test/test/test_helper.rb
393
+ - test/wamp_test/tmp/.keep
394
+ - test/wamp_test/vendor/.keep
395
+ - test/web/index.html