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.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +204 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/bin/wamp-worker +46 -0
- data/lib/wamp/worker.rb +132 -0
- data/lib/wamp/worker/config.rb +184 -0
- data/lib/wamp/worker/handler.rb +196 -0
- data/lib/wamp/worker/proxy/backgrounder.rb +38 -0
- data/lib/wamp/worker/proxy/base.rb +101 -0
- data/lib/wamp/worker/proxy/dispatcher.rb +115 -0
- data/lib/wamp/worker/proxy/requestor.rb +91 -0
- data/lib/wamp/worker/queue.rb +135 -0
- data/lib/wamp/worker/rails.rb +28 -0
- data/lib/wamp/worker/runner.rb +240 -0
- data/lib/wamp/worker/ticker.rb +30 -0
- data/lib/wamp/worker/version.rb +5 -0
- data/spec/spec_helper.rb +29 -0
- data/spec/support/client_stub.rb +47 -0
- data/spec/support/handler_stub.rb +105 -0
- data/spec/support/redis_stub.rb +89 -0
- data/spec/support/session_stub.rb +101 -0
- data/spec/wamp/worker/config_spec.rb +90 -0
- data/spec/wamp/worker/handler_spec.rb +162 -0
- data/spec/wamp/worker/proxy_spec.rb +153 -0
- data/spec/wamp/worker/queue_spec.rb +49 -0
- data/spec/wamp/worker/runner_spec.rb +108 -0
- data/spec/wamp/worker_spec.rb +8 -0
- data/test/app_test.rb +124 -0
- data/test/hello.py +50 -0
- data/test/sidekiq.yml +5 -0
- data/test/wamp_test/.generators +8 -0
- data/test/wamp_test/.ruby-version +1 -0
- data/test/wamp_test/Gemfile +65 -0
- data/test/wamp_test/Gemfile.lock +246 -0
- data/test/wamp_test/README.md +24 -0
- data/test/wamp_test/Rakefile +6 -0
- data/test/wamp_test/app/assets/config/manifest.js +3 -0
- data/test/wamp_test/app/assets/images/.keep +0 -0
- data/test/wamp_test/app/assets/javascripts/application.js +16 -0
- data/test/wamp_test/app/assets/javascripts/cable.js +13 -0
- data/test/wamp_test/app/assets/javascripts/channels/.keep +0 -0
- data/test/wamp_test/app/assets/stylesheets/application.css +15 -0
- data/test/wamp_test/app/channels/application_cable/channel.rb +4 -0
- data/test/wamp_test/app/channels/application_cable/connection.rb +4 -0
- data/test/wamp_test/app/controllers/add_controller.rb +11 -0
- data/test/wamp_test/app/controllers/application_controller.rb +3 -0
- data/test/wamp_test/app/controllers/concerns/.keep +0 -0
- data/test/wamp_test/app/controllers/ping_controller.rb +7 -0
- data/test/wamp_test/app/handlers/add_handler.rb +9 -0
- data/test/wamp_test/app/handlers/back_add_handler.rb +26 -0
- data/test/wamp_test/app/handlers/back_ping_handler.rb +10 -0
- data/test/wamp_test/app/handlers/ping_handler.rb +10 -0
- data/test/wamp_test/app/helpers/application_helper.rb +2 -0
- data/test/wamp_test/app/jobs/application_job.rb +2 -0
- data/test/wamp_test/app/mailers/application_mailer.rb +4 -0
- data/test/wamp_test/app/models/application_record.rb +3 -0
- data/test/wamp_test/app/models/concerns/.keep +0 -0
- data/test/wamp_test/app/views/layouts/application.html.erb +15 -0
- data/test/wamp_test/app/views/layouts/mailer.html.erb +13 -0
- data/test/wamp_test/app/views/layouts/mailer.text.erb +1 -0
- data/test/wamp_test/bin/bundle +3 -0
- data/test/wamp_test/bin/rails +9 -0
- data/test/wamp_test/bin/rake +9 -0
- data/test/wamp_test/bin/setup +36 -0
- data/test/wamp_test/bin/spring +17 -0
- data/test/wamp_test/bin/update +31 -0
- data/test/wamp_test/bin/yarn +11 -0
- data/test/wamp_test/config.ru +5 -0
- data/test/wamp_test/config/application.rb +19 -0
- data/test/wamp_test/config/boot.rb +4 -0
- data/test/wamp_test/config/cable.yml +10 -0
- data/test/wamp_test/config/credentials.yml.enc +1 -0
- data/test/wamp_test/config/database.yml +25 -0
- data/test/wamp_test/config/environment.rb +5 -0
- data/test/wamp_test/config/environments/development.rb +61 -0
- data/test/wamp_test/config/environments/production.rb +94 -0
- data/test/wamp_test/config/environments/test.rb +46 -0
- data/test/wamp_test/config/initializers/application_controller_renderer.rb +8 -0
- data/test/wamp_test/config/initializers/assets.rb +14 -0
- data/test/wamp_test/config/initializers/backtrace_silencers.rb +7 -0
- data/test/wamp_test/config/initializers/content_security_policy.rb +25 -0
- data/test/wamp_test/config/initializers/cookies_serializer.rb +5 -0
- data/test/wamp_test/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/wamp_test/config/initializers/inflections.rb +16 -0
- data/test/wamp_test/config/initializers/mime_types.rb +4 -0
- data/test/wamp_test/config/initializers/wamp-worker.rb +8 -0
- data/test/wamp_test/config/initializers/wrap_parameters.rb +14 -0
- data/test/wamp_test/config/locales/en.yml +33 -0
- data/test/wamp_test/config/master.key +1 -0
- data/test/wamp_test/config/puma.rb +34 -0
- data/test/wamp_test/config/routes.rb +4 -0
- data/test/wamp_test/config/sidekiq.yml +6 -0
- data/test/wamp_test/config/spring.rb +6 -0
- data/test/wamp_test/config/storage.yml +34 -0
- data/test/wamp_test/db/development.sqlite3 +0 -0
- data/test/wamp_test/db/seeds.rb +7 -0
- data/test/wamp_test/lib/assets/.keep +0 -0
- data/test/wamp_test/lib/tasks/.keep +0 -0
- data/test/wamp_test/package.json +5 -0
- data/test/wamp_test/public/404.html +67 -0
- data/test/wamp_test/public/422.html +67 -0
- data/test/wamp_test/public/500.html +66 -0
- data/test/wamp_test/public/apple-touch-icon-precomposed.png +0 -0
- data/test/wamp_test/public/apple-touch-icon.png +0 -0
- data/test/wamp_test/public/favicon.ico +0 -0
- data/test/wamp_test/public/robots.txt +1 -0
- data/test/wamp_test/storage/.keep +0 -0
- data/test/wamp_test/test/application_system_test_case.rb +5 -0
- data/test/wamp_test/test/controllers/.keep +0 -0
- data/test/wamp_test/test/fixtures/.keep +0 -0
- data/test/wamp_test/test/fixtures/files/.keep +0 -0
- data/test/wamp_test/test/helpers/.keep +0 -0
- data/test/wamp_test/test/integration/.keep +0 -0
- data/test/wamp_test/test/mailers/.keep +0 -0
- data/test/wamp_test/test/models/.keep +0 -0
- data/test/wamp_test/test/system/.keep +0 -0
- data/test/wamp_test/test/test_helper.rb +10 -0
- data/test/wamp_test/vendor/.keep +0 -0
- data/test/web/index.html +101 -0
- data/wamp-worker.gemspec +32 -0
- metadata +395 -0
data/test/app_test.rb
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "wamp/client"
|
4
|
+
require 'open-uri'
|
5
|
+
|
6
|
+
class Check
|
7
|
+
attr_accessor :args, :kwargs, :details, :progress
|
8
|
+
|
9
|
+
@@singleton = nil
|
10
|
+
def self.shared
|
11
|
+
@@singleton ||= self.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
self.clear
|
16
|
+
end
|
17
|
+
|
18
|
+
def clear
|
19
|
+
self.args = nil
|
20
|
+
self.kwargs = nil
|
21
|
+
self.details = nil
|
22
|
+
self.progress = 0
|
23
|
+
end
|
24
|
+
|
25
|
+
def configure(args, kwargs, details)
|
26
|
+
self.args = args
|
27
|
+
self.kwargs = kwargs
|
28
|
+
self.details = details || {}
|
29
|
+
|
30
|
+
if self.details[:progress]
|
31
|
+
puts "PROGRESS: #{args.inspect}"
|
32
|
+
self.progress += 1
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def handler(args, kwargs, details)
|
38
|
+
Check.shared.configure args, kwargs, details
|
39
|
+
end
|
40
|
+
|
41
|
+
def callback(result, error, details)
|
42
|
+
if error
|
43
|
+
puts "ERROR"
|
44
|
+
puts error.inspect
|
45
|
+
else
|
46
|
+
Check.shared.configure result[:args], result[:kwargs], details
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def get_url(url, check=true)
|
51
|
+
string = open(url).read
|
52
|
+
if check
|
53
|
+
result = JSON.parse(string, :symbolize_names => true)[:result]
|
54
|
+
Check.shared.configure result[:args], result[:kwargs], {}
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def check(test, args, progress=nil)
|
59
|
+
progress ||= 0
|
60
|
+
error = false
|
61
|
+
|
62
|
+
if Check.shared.args != args
|
63
|
+
puts "#{test} ARGS FAIL, expected #{args.inspect}, got #{Check.shared.args.inspect}"
|
64
|
+
error = true
|
65
|
+
end
|
66
|
+
|
67
|
+
if Check.shared.progress != progress
|
68
|
+
puts "#{test} PROGRESS FAIL, expected #{progress}, got #{Check.shared.progress}"
|
69
|
+
error = true
|
70
|
+
end
|
71
|
+
|
72
|
+
puts "#{test} PASS" unless error
|
73
|
+
|
74
|
+
Check.shared.clear
|
75
|
+
end
|
76
|
+
|
77
|
+
def run_tests(tests, &complete)
|
78
|
+
test = tests.shift
|
79
|
+
if test
|
80
|
+
test[0].call
|
81
|
+
EM.add_timer(0.5) {
|
82
|
+
check(test[1], test[2], test[3])
|
83
|
+
run_tests(tests, &complete)
|
84
|
+
}
|
85
|
+
else
|
86
|
+
complete.call
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
Wamp::Client.log_level = :error
|
92
|
+
|
93
|
+
connection = Wamp::Client::Connection.new(uri: 'ws://127.0.0.1:8080/ws', realm: 'realm1')
|
94
|
+
connection.on(:join) do |session, details|
|
95
|
+
|
96
|
+
session.subscribe "com.example.pong", method(:handler)
|
97
|
+
session.subscribe "com.example.back.pong", method(:handler)
|
98
|
+
|
99
|
+
tests = [
|
100
|
+
[ -> { session.publish "com.example.ping", [1,2,3] }, "PING TEST", [1,2,3]],
|
101
|
+
[ -> { session.publish "com.example.back.ping", [4,5,6] }, "PING BACK TEST", [4,5,6]],
|
102
|
+
[ -> { session.call "com.example.add", [5,6] do |result, error, details|
|
103
|
+
callback result, error, details
|
104
|
+
end }, "ADD TEST", [11]],
|
105
|
+
[ -> { session.call "com.example.back.add", [7,8] do |result, error, details|
|
106
|
+
callback result, error, details
|
107
|
+
end}, "ADD BACK TEST", [15]],
|
108
|
+
[ -> { session.call "com.example.back.add.delay", [11,2], {}, { receive_progress: false } do |result, error, details|
|
109
|
+
callback result, error, details
|
110
|
+
end}, "NO PROGRESS DELAY ADD BACK TEST", [13], 0],
|
111
|
+
[ -> { session.call "com.example.back.add.delay", [3,2], {}, { receive_progress: true } do |result, error, details|
|
112
|
+
callback result, error, details
|
113
|
+
end}, "PROGRESS DELAY ADD BACK TEST", [5], 4],
|
114
|
+
[ -> { get_url "http://localhost:3000/add?a=4&b=5" }, "GET ADD TEST", [9]],
|
115
|
+
[ -> { get_url "http://localhost:3000/ping?a=7&b=8", false }, "GET PING TEST", [7,8]],
|
116
|
+
]
|
117
|
+
|
118
|
+
run_tests tests do
|
119
|
+
connection.close
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
connection.open
|
data/test/hello.py
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
###############################################################################
|
2
|
+
##
|
3
|
+
## Copyright (C) 2014, Tavendo GmbH and/or collaborators. All rights reserved.
|
4
|
+
##
|
5
|
+
## Redistribution and use in source and binary forms, with or without
|
6
|
+
## modification, are permitted provided that the following conditions are met:
|
7
|
+
##
|
8
|
+
## 1. Redistributions of source code must retain the above copyright notice,
|
9
|
+
## this list of conditions and the following disclaimer.
|
10
|
+
##
|
11
|
+
## 2. Redistributions in binary form must reproduce the above copyright notice,
|
12
|
+
## this list of conditions and the following disclaimer in the documentation
|
13
|
+
## and/or other materials provided with the distribution.
|
14
|
+
##
|
15
|
+
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
16
|
+
## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
17
|
+
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
18
|
+
## ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
19
|
+
## LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
20
|
+
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
21
|
+
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
22
|
+
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
23
|
+
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
24
|
+
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
25
|
+
## POSSIBILITY OF SUCH DAMAGE.
|
26
|
+
##
|
27
|
+
###############################################################################
|
28
|
+
|
29
|
+
from twisted.internet.defer import inlineCallbacks
|
30
|
+
from twisted.logger import Logger
|
31
|
+
|
32
|
+
from autobahn.twisted.util import sleep
|
33
|
+
from autobahn.twisted.wamp import ApplicationSession
|
34
|
+
from autobahn.wamp.exception import ApplicationError
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
class AppSession(ApplicationSession):
|
39
|
+
|
40
|
+
log = Logger()
|
41
|
+
|
42
|
+
@inlineCallbacks
|
43
|
+
def onJoin(self, details):
|
44
|
+
|
45
|
+
## PUBLISH and CALL every second .. forever
|
46
|
+
##
|
47
|
+
counter = 0
|
48
|
+
while True:
|
49
|
+
|
50
|
+
yield sleep(1)
|
data/test/sidekiq.yml
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<Settings><!--This file was automatically generated by Ruby plugin.
|
3
|
+
You are allowed to:
|
4
|
+
1. Reorder generators
|
5
|
+
2. Remove generators
|
6
|
+
3. Add installed generators
|
7
|
+
To add new installed generators automatically delete this file and reload the project.
|
8
|
+
--><GeneratorsGroup><Generator name="active_record:application_record" /><Generator name="application_record" /><Generator name="assets" /><Generator name="channel" /><Generator name="coffee:assets" /><Generator name="controller" /><Generator name="generator" /><Generator name="helper" /><Generator name="integration_test" /><Generator name="jbuilder" /><Generator name="job" /><Generator name="js:assets" /><Generator name="mailer" /><Generator name="migration" /><Generator name="model" /><Generator name="resource" /><Generator name="scaffold" /><Generator name="scaffold_controller" /><Generator name="sidekiq:worker" /><Generator name="system_test" /><Generator name="task" /><Generator name="test_unit:generator" /><Generator name="test_unit:plugin" /></GeneratorsGroup></Settings>
|
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.3.0
|
@@ -0,0 +1,65 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
+
|
4
|
+
ruby '2.3.0'
|
5
|
+
|
6
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
7
|
+
gem 'rails', '~> 5.2.1'
|
8
|
+
# Use sqlite3 as the database for Active Record
|
9
|
+
gem 'sqlite3'
|
10
|
+
# Use Puma as the app server
|
11
|
+
gem 'puma', '~> 3.11'
|
12
|
+
# Use SCSS for stylesheets
|
13
|
+
gem 'sass-rails', '~> 5.0'
|
14
|
+
# Use Uglifier as compressor for JavaScript assets
|
15
|
+
gem 'uglifier', '>= 1.3.0'
|
16
|
+
# See https://github.com/rails/execjs#readme for more supported runtimes
|
17
|
+
# gem 'mini_racer', platforms: :ruby
|
18
|
+
|
19
|
+
# Use CoffeeScript for .coffee assets and views
|
20
|
+
gem 'coffee-rails', '~> 4.2'
|
21
|
+
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
22
|
+
gem 'turbolinks', '~> 5'
|
23
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
24
|
+
gem 'jbuilder', '~> 2.5'
|
25
|
+
# Use Redis adapter to run Action Cable in production
|
26
|
+
# gem 'redis', '~> 4.0'
|
27
|
+
# Use ActiveModel has_secure_password
|
28
|
+
# gem 'bcrypt', '~> 3.1.7'
|
29
|
+
|
30
|
+
# Use ActiveStorage variant
|
31
|
+
# gem 'mini_magick', '~> 4.8'
|
32
|
+
|
33
|
+
# Use Capistrano for deployment
|
34
|
+
# gem 'capistrano-rails', group: :development
|
35
|
+
|
36
|
+
gem 'sidekiq'
|
37
|
+
gem 'wamp-worker'
|
38
|
+
|
39
|
+
# Reduces boot times through caching; required in config/boot.rb
|
40
|
+
gem 'bootsnap', '>= 1.1.0', require: false
|
41
|
+
|
42
|
+
group :development, :test do
|
43
|
+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
44
|
+
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
|
45
|
+
end
|
46
|
+
|
47
|
+
group :development do
|
48
|
+
# Access an interactive console on exception pages or by calling 'console' anywhere in the code.
|
49
|
+
gem 'web-console', '>= 3.3.0'
|
50
|
+
gem 'listen', '>= 3.0.5', '< 3.2'
|
51
|
+
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
52
|
+
gem 'spring'
|
53
|
+
gem 'spring-watcher-listen', '~> 2.0.0'
|
54
|
+
end
|
55
|
+
|
56
|
+
group :test do
|
57
|
+
# Adds support for Capybara system testing and selenium driver
|
58
|
+
gem 'capybara', '>= 2.15'
|
59
|
+
gem 'selenium-webdriver'
|
60
|
+
# Easy installation and use of chromedriver to run system tests with Chrome
|
61
|
+
gem 'chromedriver-helper'
|
62
|
+
end
|
63
|
+
|
64
|
+
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
65
|
+
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
@@ -0,0 +1,246 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
actioncable (5.2.1.1)
|
5
|
+
actionpack (= 5.2.1.1)
|
6
|
+
nio4r (~> 2.0)
|
7
|
+
websocket-driver (>= 0.6.1)
|
8
|
+
actionmailer (5.2.1.1)
|
9
|
+
actionpack (= 5.2.1.1)
|
10
|
+
actionview (= 5.2.1.1)
|
11
|
+
activejob (= 5.2.1.1)
|
12
|
+
mail (~> 2.5, >= 2.5.4)
|
13
|
+
rails-dom-testing (~> 2.0)
|
14
|
+
actionpack (5.2.1.1)
|
15
|
+
actionview (= 5.2.1.1)
|
16
|
+
activesupport (= 5.2.1.1)
|
17
|
+
rack (~> 2.0)
|
18
|
+
rack-test (>= 0.6.3)
|
19
|
+
rails-dom-testing (~> 2.0)
|
20
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
21
|
+
actionview (5.2.1.1)
|
22
|
+
activesupport (= 5.2.1.1)
|
23
|
+
builder (~> 3.1)
|
24
|
+
erubi (~> 1.4)
|
25
|
+
rails-dom-testing (~> 2.0)
|
26
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
27
|
+
activejob (5.2.1.1)
|
28
|
+
activesupport (= 5.2.1.1)
|
29
|
+
globalid (>= 0.3.6)
|
30
|
+
activemodel (5.2.1.1)
|
31
|
+
activesupport (= 5.2.1.1)
|
32
|
+
activerecord (5.2.1.1)
|
33
|
+
activemodel (= 5.2.1.1)
|
34
|
+
activesupport (= 5.2.1.1)
|
35
|
+
arel (>= 9.0)
|
36
|
+
activestorage (5.2.1.1)
|
37
|
+
actionpack (= 5.2.1.1)
|
38
|
+
activerecord (= 5.2.1.1)
|
39
|
+
marcel (~> 0.3.1)
|
40
|
+
activesupport (5.2.1.1)
|
41
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
42
|
+
i18n (>= 0.7, < 2)
|
43
|
+
minitest (~> 5.1)
|
44
|
+
tzinfo (~> 1.1)
|
45
|
+
addressable (2.5.2)
|
46
|
+
public_suffix (>= 2.0.2, < 4.0)
|
47
|
+
archive-zip (0.11.0)
|
48
|
+
io-like (~> 0.3.0)
|
49
|
+
arel (9.0.0)
|
50
|
+
bindex (0.5.0)
|
51
|
+
bootsnap (1.3.2)
|
52
|
+
msgpack (~> 1.0)
|
53
|
+
builder (3.2.3)
|
54
|
+
byebug (10.0.2)
|
55
|
+
capybara (3.12.0)
|
56
|
+
addressable
|
57
|
+
mini_mime (>= 0.1.3)
|
58
|
+
nokogiri (~> 1.8)
|
59
|
+
rack (>= 1.6.0)
|
60
|
+
rack-test (>= 0.6.3)
|
61
|
+
regexp_parser (~> 1.2)
|
62
|
+
xpath (~> 3.2)
|
63
|
+
childprocess (0.9.0)
|
64
|
+
ffi (~> 1.0, >= 1.0.11)
|
65
|
+
chromedriver-helper (2.1.0)
|
66
|
+
archive-zip (~> 0.10)
|
67
|
+
nokogiri (~> 1.8)
|
68
|
+
coffee-rails (4.2.2)
|
69
|
+
coffee-script (>= 2.2.0)
|
70
|
+
railties (>= 4.0.0)
|
71
|
+
coffee-script (2.4.1)
|
72
|
+
coffee-script-source
|
73
|
+
execjs
|
74
|
+
coffee-script-source (1.12.2)
|
75
|
+
concurrent-ruby (1.1.3)
|
76
|
+
connection_pool (2.2.2)
|
77
|
+
crass (1.0.4)
|
78
|
+
erubi (1.7.1)
|
79
|
+
eventmachine (1.2.7)
|
80
|
+
execjs (2.7.0)
|
81
|
+
ffi (1.9.25)
|
82
|
+
globalid (0.4.1)
|
83
|
+
activesupport (>= 4.2.0)
|
84
|
+
i18n (1.1.1)
|
85
|
+
concurrent-ruby (~> 1.0)
|
86
|
+
io-like (0.3.0)
|
87
|
+
jbuilder (2.8.0)
|
88
|
+
activesupport (>= 4.2.0)
|
89
|
+
multi_json (>= 1.2)
|
90
|
+
json (2.1.0)
|
91
|
+
listen (3.1.5)
|
92
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
93
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
94
|
+
ruby_dep (~> 1.2)
|
95
|
+
loofah (2.2.3)
|
96
|
+
crass (~> 1.0.2)
|
97
|
+
nokogiri (>= 1.5.9)
|
98
|
+
mail (2.7.1)
|
99
|
+
mini_mime (>= 0.1.1)
|
100
|
+
marcel (0.3.3)
|
101
|
+
mimemagic (~> 0.3.2)
|
102
|
+
method_source (0.9.2)
|
103
|
+
mimemagic (0.3.2)
|
104
|
+
mini_mime (1.0.1)
|
105
|
+
mini_portile2 (2.3.0)
|
106
|
+
minitest (5.11.3)
|
107
|
+
msgpack (1.2.4)
|
108
|
+
multi_json (1.13.1)
|
109
|
+
nio4r (2.3.1)
|
110
|
+
nokogiri (1.8.5)
|
111
|
+
mini_portile2 (~> 2.3.0)
|
112
|
+
public_suffix (3.0.3)
|
113
|
+
puma (3.12.0)
|
114
|
+
rack (2.0.6)
|
115
|
+
rack-protection (2.0.4)
|
116
|
+
rack
|
117
|
+
rack-test (1.1.0)
|
118
|
+
rack (>= 1.0, < 3)
|
119
|
+
rails (5.2.1.1)
|
120
|
+
actioncable (= 5.2.1.1)
|
121
|
+
actionmailer (= 5.2.1.1)
|
122
|
+
actionpack (= 5.2.1.1)
|
123
|
+
actionview (= 5.2.1.1)
|
124
|
+
activejob (= 5.2.1.1)
|
125
|
+
activemodel (= 5.2.1.1)
|
126
|
+
activerecord (= 5.2.1.1)
|
127
|
+
activestorage (= 5.2.1.1)
|
128
|
+
activesupport (= 5.2.1.1)
|
129
|
+
bundler (>= 1.3.0)
|
130
|
+
railties (= 5.2.1.1)
|
131
|
+
sprockets-rails (>= 2.0.0)
|
132
|
+
rails-dom-testing (2.0.3)
|
133
|
+
activesupport (>= 4.2.0)
|
134
|
+
nokogiri (>= 1.6)
|
135
|
+
rails-html-sanitizer (1.0.4)
|
136
|
+
loofah (~> 2.2, >= 2.2.2)
|
137
|
+
railties (5.2.1.1)
|
138
|
+
actionpack (= 5.2.1.1)
|
139
|
+
activesupport (= 5.2.1.1)
|
140
|
+
method_source
|
141
|
+
rake (>= 0.8.7)
|
142
|
+
thor (>= 0.19.0, < 2.0)
|
143
|
+
rake (12.3.1)
|
144
|
+
rb-fsevent (0.10.3)
|
145
|
+
rb-inotify (0.9.10)
|
146
|
+
ffi (>= 0.5.0, < 2)
|
147
|
+
redis (4.0.3)
|
148
|
+
regexp_parser (1.3.0)
|
149
|
+
ruby_dep (1.5.0)
|
150
|
+
rubyzip (1.2.2)
|
151
|
+
sass (3.7.2)
|
152
|
+
sass-listen (~> 4.0.0)
|
153
|
+
sass-listen (4.0.0)
|
154
|
+
rb-fsevent (~> 0.9, >= 0.9.4)
|
155
|
+
rb-inotify (~> 0.9, >= 0.9.7)
|
156
|
+
sass-rails (5.0.7)
|
157
|
+
railties (>= 4.0.0, < 6)
|
158
|
+
sass (~> 3.1)
|
159
|
+
sprockets (>= 2.8, < 4.0)
|
160
|
+
sprockets-rails (>= 2.0, < 4.0)
|
161
|
+
tilt (>= 1.1, < 3)
|
162
|
+
selenium-webdriver (3.141.0)
|
163
|
+
childprocess (~> 0.5)
|
164
|
+
rubyzip (~> 1.2, >= 1.2.2)
|
165
|
+
sidekiq (5.2.3)
|
166
|
+
connection_pool (~> 2.2, >= 2.2.2)
|
167
|
+
rack-protection (>= 1.5.0)
|
168
|
+
redis (>= 3.3.5, < 5)
|
169
|
+
spring (2.0.2)
|
170
|
+
activesupport (>= 4.2)
|
171
|
+
spring-watcher-listen (2.0.1)
|
172
|
+
listen (>= 2.7, < 4.0)
|
173
|
+
spring (>= 1.2, < 3.0)
|
174
|
+
sprockets (3.7.2)
|
175
|
+
concurrent-ruby (~> 1.0)
|
176
|
+
rack (> 1, < 3)
|
177
|
+
sprockets-rails (3.2.1)
|
178
|
+
actionpack (>= 4.0)
|
179
|
+
activesupport (>= 4.0)
|
180
|
+
sprockets (>= 3.0.0)
|
181
|
+
sqlite3 (1.3.13)
|
182
|
+
thor (0.20.3)
|
183
|
+
thread_safe (0.3.6)
|
184
|
+
tilt (2.0.9)
|
185
|
+
turbolinks (5.2.0)
|
186
|
+
turbolinks-source (~> 5.2)
|
187
|
+
turbolinks-source (5.2.0)
|
188
|
+
tzinfo (1.2.5)
|
189
|
+
thread_safe (~> 0.1)
|
190
|
+
uglifier (4.1.20)
|
191
|
+
execjs (>= 0.3.0, < 3)
|
192
|
+
wamp-worker (0.1.0)
|
193
|
+
redis
|
194
|
+
wamp_client (>= 0.1.2)
|
195
|
+
wamp_client (0.2.0)
|
196
|
+
json (~> 2.0)
|
197
|
+
websocket-eventmachine-client (~> 1.1)
|
198
|
+
web-console (3.7.0)
|
199
|
+
actionview (>= 5.0)
|
200
|
+
activemodel (>= 5.0)
|
201
|
+
bindex (>= 0.4.0)
|
202
|
+
railties (>= 5.0)
|
203
|
+
websocket (1.2.8)
|
204
|
+
websocket-driver (0.7.0)
|
205
|
+
websocket-extensions (>= 0.1.0)
|
206
|
+
websocket-eventmachine-base (1.2.0)
|
207
|
+
eventmachine (~> 1.0)
|
208
|
+
websocket (~> 1.0)
|
209
|
+
websocket-native (~> 1.0)
|
210
|
+
websocket-eventmachine-client (1.2.0)
|
211
|
+
websocket-eventmachine-base (~> 1.0)
|
212
|
+
websocket-extensions (0.1.3)
|
213
|
+
websocket-native (1.0.0)
|
214
|
+
xpath (3.2.0)
|
215
|
+
nokogiri (~> 1.8)
|
216
|
+
|
217
|
+
PLATFORMS
|
218
|
+
ruby
|
219
|
+
|
220
|
+
DEPENDENCIES
|
221
|
+
bootsnap (>= 1.1.0)
|
222
|
+
byebug
|
223
|
+
capybara (>= 2.15)
|
224
|
+
chromedriver-helper
|
225
|
+
coffee-rails (~> 4.2)
|
226
|
+
jbuilder (~> 2.5)
|
227
|
+
listen (>= 3.0.5, < 3.2)
|
228
|
+
puma (~> 3.11)
|
229
|
+
rails (~> 5.2.1)
|
230
|
+
sass-rails (~> 5.0)
|
231
|
+
selenium-webdriver
|
232
|
+
sidekiq
|
233
|
+
spring
|
234
|
+
spring-watcher-listen (~> 2.0.0)
|
235
|
+
sqlite3
|
236
|
+
turbolinks (~> 5)
|
237
|
+
tzinfo-data
|
238
|
+
uglifier (>= 1.3.0)
|
239
|
+
wamp-worker
|
240
|
+
web-console (>= 3.3.0)
|
241
|
+
|
242
|
+
RUBY VERSION
|
243
|
+
ruby 2.3.0p0
|
244
|
+
|
245
|
+
BUNDLED WITH
|
246
|
+
1.17.1
|