inst-jobs 0.14.6 → 0.14.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ec9affa830c1fb5922c5ea81efd26d212bbd8cb908d18091e48cd74868e6072
4
- data.tar.gz: 779ab5bfafed28893ad869cb808f868fba8c71beadf086da185fb63c695b46e4
3
+ metadata.gz: 5a80182a2c2ba0fbaa7ccd9e88a092f171c724c9e9fa01db2081d8ec00e03474
4
+ data.tar.gz: 1edd56027ef8cade2e9012945d3ec144d50b5315fc42867aed05179c4c9cbe05
5
5
  SHA512:
6
- metadata.gz: 533bc79fd0b62d9b8ec7b78101b7c091dfc03d4058573ffeabb1b676c737338c23c147013898232798d6bc0133c95ad5fdf0e84f0097cae4b62120edb000b8b2
7
- data.tar.gz: aae7b9910be09276daae00957cb2eb8cad0df903e13253f43d93003fe76cfe54df80214325aba3c27c9c033168a399b62ad879376b82574703515b0d8708b541
6
+ metadata.gz: f9726d3b6c5f47a7510e97ba00661c690f1c3dbb06219289fc3fca8ce11898cc99fd348cf222ac2ceab4bbc4e1c79b3cd9dcba606a5b39cf38346fe1fd5fdab3
7
+ data.tar.gz: 3056b193ca321a6c1db7e6e438538ceef74690fec95c7134cc9e21832eb4fea1cad884d2d9c69558fac562a7e725c9eb7acf1c3d2eec31d9ad87e387d09ebf5c
@@ -1,3 +1,3 @@
1
1
  module Delayed
2
- VERSION = "0.14.6"
2
+ VERSION = "0.14.7"
3
3
  end
@@ -10,18 +10,24 @@ module Delayed
10
10
  DEFAULT_SERVICE_NAME = 'inst-jobs_worker'.freeze
11
11
  attr_reader :agent_client, :catalog_client
12
12
 
13
+ STAT_LINUX = 'stat -f %%Y /proc/$WORKER_PID'
14
+ STAT_MAC = 'ps -o lstart -p $WORKER_PID'
15
+ STAT = RUBY_PLATFORM =~ /darwin/ ? STAT_MAC : STAT_LINUX
16
+ ALIVE_CHECK_LINUX = '[ -d "/proc/$WORKER_PID" ]'
17
+ ALIVE_CHECK_MAC = 'ps -p $WORKER_PID > /dev/null'
18
+ ALIVE_CHECK = RUBY_PLATFORM =~ /darwin/ ? ALIVE_CHECK_MAC : ALIVE_CHECK_LINUX
13
19
  SCRIPT_TEMPLATE = <<-BASH.freeze
14
20
  WORKER_PID="%<pid>d" # an example, filled from ruby when the check is created
15
- ORIGINAL_MTIME="%<mtime>d" # an example, filled from ruby when the check is created
21
+ ORIGINAL_MTIME="%<mtime>s" # an example, filled from ruby when the check is created
16
22
 
17
- if [ -d "/proc/$WORKER_PID" ]; then
18
- CURRENT_MTIME=$(stat -f %%Y /proc/$WORKER_PID)
23
+ if #{ALIVE_CHECK}; then
24
+ CURRENT_MTIME=$(#{STAT})
19
25
 
20
26
  if [ "$ORIGINAL_MTIME" = "$CURRENT_MTIME" ]; then
21
27
  exit 0 # Happy day
22
28
  else
23
29
  echo "PID still exists but procfs entry has changed, current command:"
24
- ps -p $PID -o 'command='
30
+ ps -p $WORKER_PID -o 'command='
25
31
  exit 1 # Something is wrong, trigger a "warning" state
26
32
  fi
27
33
  else
@@ -88,8 +94,12 @@ module Delayed
88
94
 
89
95
  def check_script
90
96
  return @check_script if @check_script
91
- stat = File::Stat.new("/proc/#{Process.pid}")
92
- @check_script = sprintf(SCRIPT_TEMPLATE, {pid: Process.pid, mtime: stat.mtime.to_i})
97
+ if RUBY_PLATFORM =~ /darwin/
98
+ mtime = `ps -o lstart -p #{Process.pid}`.sub(/\n$/, '')
99
+ else
100
+ mtime = File::Stat.new("/proc/#{Process.pid}").mtime.to_i.to_s
101
+ end
102
+ @check_script = sprintf(SCRIPT_TEMPLATE, {pid: Process.pid, mtime: mtime})
93
103
  end
94
104
 
95
105
  # This method is horrible, it takes advantage of the fact that docker uses
@@ -29,8 +29,15 @@ module Delayed
29
29
  live_workers = checker.live_workers
30
30
 
31
31
  Delayed::Job.running_jobs.each do |job|
32
+ # prefetched jobs have their own way of automatically unlocking themselves
33
+ next if job.locked_by.start_with?("prefetch:")
32
34
  unless live_workers.include?(job.locked_by)
33
- job.reschedule
35
+ Delayed::Job.transaction do
36
+ # double check that the job is still there. locked_by will immediately be reset
37
+ # to nil in this transaction by Job#reschedule
38
+ next unless Delayed::Job.where(id: job, locked_by: job.locked_by).update_all(locked_by: "abandoned job cleanup") == 1
39
+ job.reschedule
40
+ end
34
41
  end
35
42
  end
36
43
  end
@@ -66,7 +66,6 @@ RSpec.describe Delayed::Worker::HealthCheck do
66
66
  })
67
67
  Delayed::Settings.worker_health_check_type = :fake
68
68
  Delayed::Settings.worker_health_check_config = {}
69
- Delayed::Worker::HealthCheck.reschedule_abandoned_jobs
70
69
  end
71
70
 
72
71
  after do
@@ -76,6 +75,7 @@ RSpec.describe Delayed::Worker::HealthCheck do
76
75
  end
77
76
 
78
77
  it 'must leave jobs locked by live workers alone' do
78
+ Delayed::Worker::HealthCheck.reschedule_abandoned_jobs
79
79
  @alive_job.reload
80
80
  expect(@alive_job.run_at.to_i).to eq initial_run_at.to_i
81
81
  expect(@alive_job.locked_at.to_i).to eq initial_run_at.to_i
@@ -83,11 +83,28 @@ RSpec.describe Delayed::Worker::HealthCheck do
83
83
  end
84
84
 
85
85
  it 'must reschedule jobs locked by dead workers' do
86
+ Delayed::Worker::HealthCheck.reschedule_abandoned_jobs
86
87
  @dead_job.reload
87
88
  expect(@dead_job.run_at).to be > initial_run_at
88
89
  expect(@dead_job.locked_at).to be_nil
89
90
  expect(@dead_job.locked_by).to be_nil
90
91
  end
92
+
93
+ it 'ignores jobs that are re-locked after fetching from db' do
94
+ Delayed::Job.where(id: @dead_job).update_all(locked_by: 'someone_else')
95
+ allow(Delayed::Job).to receive(:running_jobs).and_return([@dead_job])
96
+ Delayed::Worker::HealthCheck.reschedule_abandoned_jobs
97
+ @dead_job.reload
98
+ expect(@dead_job.locked_by).to eq 'someone_else'
99
+ end
100
+
101
+ it 'ignores jobs that are prefetched' do
102
+ Delayed::Job.where(id: @dead_job).update_all(locked_by: 'prefetch:some_node')
103
+ allow(Delayed::Job).to receive(:running_jobs).and_return([@dead_job])
104
+ Delayed::Worker::HealthCheck.reschedule_abandoned_jobs
105
+ @dead_job.reload
106
+ expect(@dead_job.locked_by).to eq 'prefetch:some_node'
107
+ end
91
108
  end
92
109
 
93
110
  describe '#initialize' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inst-jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.6
4
+ version: 0.14.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-05-17 00:00:00.000000000 Z
12
+ date: 2018-05-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -406,11 +406,8 @@ files:
406
406
  - spec/delayed/worker/health_check_spec.rb
407
407
  - spec/delayed/worker_spec.rb
408
408
  - spec/gemfiles/42.gemfile
409
- - spec/gemfiles/42.gemfile.lock
410
409
  - spec/gemfiles/50.gemfile
411
- - spec/gemfiles/50.gemfile.lock
412
410
  - spec/gemfiles/51.gemfile
413
- - spec/gemfiles/51.gemfile.lock
414
411
  - spec/migrate/20140924140513_add_story_table.rb
415
412
  - spec/redis_job_spec.rb
416
413
  - spec/sample_jobs.rb
@@ -441,7 +438,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
441
438
  version: '0'
442
439
  requirements: []
443
440
  rubyforge_project:
444
- rubygems_version: 2.7.6
441
+ rubygems_version: 2.7.3
445
442
  signing_key:
446
443
  specification_version: 4
447
444
  summary: Instructure-maintained fork of delayed_job
@@ -449,9 +446,6 @@ test_files:
449
446
  - spec/sample_jobs.rb
450
447
  - spec/spec_helper.rb
451
448
  - spec/redis_job_spec.rb
452
- - spec/gemfiles/51.gemfile.lock
453
- - spec/gemfiles/42.gemfile.lock
454
- - spec/gemfiles/50.gemfile.lock
455
449
  - spec/gemfiles/42.gemfile
456
450
  - spec/gemfiles/50.gemfile
457
451
  - spec/gemfiles/51.gemfile
@@ -1,182 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- inst-jobs (0.13.4)
5
- after_transaction_commit (>= 1.0, < 3)
6
- rails (>= 4.2)
7
- redis (> 3.0)
8
- redis-scripting (~> 1.0.1)
9
- rufus-scheduler (~> 3.4)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actionmailer (4.2.9)
15
- actionpack (= 4.2.9)
16
- actionview (= 4.2.9)
17
- activejob (= 4.2.9)
18
- mail (~> 2.5, >= 2.5.4)
19
- rails-dom-testing (~> 1.0, >= 1.0.5)
20
- actionpack (4.2.9)
21
- actionview (= 4.2.9)
22
- activesupport (= 4.2.9)
23
- rack (~> 1.6)
24
- rack-test (~> 0.6.2)
25
- rails-dom-testing (~> 1.0, >= 1.0.5)
26
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
- actionview (4.2.9)
28
- activesupport (= 4.2.9)
29
- builder (~> 3.1)
30
- erubis (~> 2.7.0)
31
- rails-dom-testing (~> 1.0, >= 1.0.5)
32
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
33
- activejob (4.2.9)
34
- activesupport (= 4.2.9)
35
- globalid (>= 0.3.0)
36
- activemodel (4.2.9)
37
- activesupport (= 4.2.9)
38
- builder (~> 3.1)
39
- activerecord (4.2.9)
40
- activemodel (= 4.2.9)
41
- activesupport (= 4.2.9)
42
- arel (~> 6.0)
43
- activesupport (4.2.9)
44
- i18n (~> 0.7)
45
- minitest (~> 5.1)
46
- thread_safe (~> 0.3, >= 0.3.4)
47
- tzinfo (~> 1.1)
48
- after_transaction_commit (1.1.2)
49
- activerecord (>= 4.0)
50
- arel (6.0.4)
51
- backports (3.8.0)
52
- builder (3.2.3)
53
- bump (0.5.4)
54
- byebug (9.0.6)
55
- coderay (1.1.1)
56
- concurrent-ruby (1.0.5)
57
- database_cleaner (1.6.1)
58
- diff-lcs (1.3)
59
- erubis (2.7.0)
60
- et-orbi (1.0.5)
61
- tzinfo
62
- globalid (0.4.0)
63
- activesupport (>= 4.2.0)
64
- i18n (0.8.6)
65
- loofah (2.0.3)
66
- nokogiri (>= 1.5.9)
67
- mail (2.6.6)
68
- mime-types (>= 1.16, < 4)
69
- method_source (0.8.2)
70
- mime-types (3.1)
71
- mime-types-data (~> 3.2015)
72
- mime-types-data (3.2016.0521)
73
- mini_portile2 (2.2.0)
74
- minitest (5.10.3)
75
- multi_json (1.12.1)
76
- nokogiri (1.8.0)
77
- mini_portile2 (~> 2.2.0)
78
- pg (0.21.0)
79
- pry (0.10.4)
80
- coderay (~> 1.1.0)
81
- method_source (~> 0.8.1)
82
- slop (~> 3.4)
83
- rack (1.6.8)
84
- rack-protection (1.5.3)
85
- rack
86
- rack-test (0.6.3)
87
- rack (>= 1.0)
88
- rails (4.2.9)
89
- actionmailer (= 4.2.9)
90
- actionpack (= 4.2.9)
91
- actionview (= 4.2.9)
92
- activejob (= 4.2.9)
93
- activemodel (= 4.2.9)
94
- activerecord (= 4.2.9)
95
- activesupport (= 4.2.9)
96
- bundler (>= 1.3.0, < 2.0)
97
- railties (= 4.2.9)
98
- sprockets-rails
99
- rails-deprecated_sanitizer (1.0.3)
100
- activesupport (>= 4.2.0.alpha)
101
- rails-dom-testing (1.0.8)
102
- activesupport (>= 4.2.0.beta, < 5.0)
103
- nokogiri (~> 1.6)
104
- rails-deprecated_sanitizer (>= 1.0.1)
105
- rails-html-sanitizer (1.0.3)
106
- loofah (~> 2.0)
107
- railties (4.2.9)
108
- actionpack (= 4.2.9)
109
- activesupport (= 4.2.9)
110
- rake (>= 0.8.7)
111
- thor (>= 0.18.1, < 2.0)
112
- rake (12.0.0)
113
- redis (3.3.3)
114
- redis-scripting (1.0.1)
115
- redis (>= 3.0)
116
- rspec (3.4.0)
117
- rspec-core (~> 3.4.0)
118
- rspec-expectations (~> 3.4.0)
119
- rspec-mocks (~> 3.4.0)
120
- rspec-core (3.4.4)
121
- rspec-support (~> 3.4.0)
122
- rspec-expectations (3.4.0)
123
- diff-lcs (>= 1.2.0, < 2.0)
124
- rspec-support (~> 3.4.0)
125
- rspec-mocks (3.4.1)
126
- diff-lcs (>= 1.2.0, < 2.0)
127
- rspec-support (~> 3.4.0)
128
- rspec-support (3.4.1)
129
- rufus-scheduler (3.4.2)
130
- et-orbi (~> 1.0)
131
- sinatra (1.4.8)
132
- rack (~> 1.5)
133
- rack-protection (~> 1.4)
134
- tilt (>= 1.3, < 3)
135
- sinatra-contrib (1.4.7)
136
- backports (>= 2.0)
137
- multi_json
138
- rack-protection
139
- rack-test
140
- sinatra (~> 1.4.0)
141
- tilt (>= 1.3, < 3)
142
- slop (3.6.0)
143
- sprockets (3.7.1)
144
- concurrent-ruby (~> 1.0)
145
- rack (> 1, < 3)
146
- sprockets-rails (3.2.0)
147
- actionpack (>= 4.0)
148
- activesupport (>= 4.0)
149
- sprockets (>= 3.0.0)
150
- test_after_commit (0.4.1)
151
- activerecord (>= 3.2)
152
- thor (0.19.4)
153
- thread_safe (0.3.6)
154
- tilt (2.0.8)
155
- timecop (0.7.1)
156
- tzinfo (1.2.3)
157
- thread_safe (~> 0.1)
158
- wwtd (1.3.0)
159
-
160
- PLATFORMS
161
- ruby
162
-
163
- DEPENDENCIES
164
- after_transaction_commit (< 2)
165
- bump
166
- byebug
167
- database_cleaner (= 1.6.1)
168
- inst-jobs!
169
- pg
170
- pry
171
- rack-test
172
- rails (~> 4.2.5)
173
- rake
174
- rspec (= 3.4.0)
175
- sinatra
176
- sinatra-contrib
177
- test_after_commit (= 0.4.1)
178
- timecop (= 0.7.1)
179
- wwtd (~> 1.3.0)
180
-
181
- BUNDLED WITH
182
- 1.15.3
@@ -1,187 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- inst-jobs (0.13.4)
5
- after_transaction_commit (>= 1.0, < 3)
6
- rails (>= 4.2)
7
- redis (> 3.0)
8
- redis-scripting (~> 1.0.1)
9
- rufus-scheduler (~> 3.4)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actioncable (5.0.5)
15
- actionpack (= 5.0.5)
16
- nio4r (>= 1.2, < 3.0)
17
- websocket-driver (~> 0.6.1)
18
- actionmailer (5.0.5)
19
- actionpack (= 5.0.5)
20
- actionview (= 5.0.5)
21
- activejob (= 5.0.5)
22
- mail (~> 2.5, >= 2.5.4)
23
- rails-dom-testing (~> 2.0)
24
- actionpack (5.0.5)
25
- actionview (= 5.0.5)
26
- activesupport (= 5.0.5)
27
- rack (~> 2.0)
28
- rack-test (~> 0.6.3)
29
- rails-dom-testing (~> 2.0)
30
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
31
- actionview (5.0.5)
32
- activesupport (= 5.0.5)
33
- builder (~> 3.1)
34
- erubis (~> 2.7.0)
35
- rails-dom-testing (~> 2.0)
36
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
37
- activejob (5.0.5)
38
- activesupport (= 5.0.5)
39
- globalid (>= 0.3.6)
40
- activemodel (5.0.5)
41
- activesupport (= 5.0.5)
42
- activerecord (5.0.5)
43
- activemodel (= 5.0.5)
44
- activesupport (= 5.0.5)
45
- arel (~> 7.0)
46
- activesupport (5.0.5)
47
- concurrent-ruby (~> 1.0, >= 1.0.2)
48
- i18n (~> 0.7)
49
- minitest (~> 5.1)
50
- tzinfo (~> 1.1)
51
- after_transaction_commit (2.0.0)
52
- activerecord (>= 5.0)
53
- arel (7.1.4)
54
- backports (3.8.0)
55
- builder (3.2.3)
56
- bump (0.5.4)
57
- byebug (9.0.6)
58
- coderay (1.1.1)
59
- concurrent-ruby (1.0.5)
60
- database_cleaner (1.6.1)
61
- diff-lcs (1.3)
62
- erubis (2.7.0)
63
- et-orbi (1.0.5)
64
- tzinfo
65
- globalid (0.4.0)
66
- activesupport (>= 4.2.0)
67
- i18n (0.8.6)
68
- loofah (2.0.3)
69
- nokogiri (>= 1.5.9)
70
- mail (2.6.6)
71
- mime-types (>= 1.16, < 4)
72
- method_source (0.8.2)
73
- mime-types (3.1)
74
- mime-types-data (~> 3.2015)
75
- mime-types-data (3.2016.0521)
76
- mini_portile2 (2.2.0)
77
- minitest (5.10.3)
78
- multi_json (1.12.1)
79
- mustermann (1.0.0.beta2)
80
- nio4r (2.1.0)
81
- nokogiri (1.8.0)
82
- mini_portile2 (~> 2.2.0)
83
- pg (0.21.0)
84
- pry (0.10.4)
85
- coderay (~> 1.1.0)
86
- method_source (~> 0.8.1)
87
- slop (~> 3.4)
88
- rack (2.0.3)
89
- rack-protection (2.0.0.beta2)
90
- rack
91
- rack-test (0.6.3)
92
- rack (>= 1.0)
93
- rails (5.0.5)
94
- actioncable (= 5.0.5)
95
- actionmailer (= 5.0.5)
96
- actionpack (= 5.0.5)
97
- actionview (= 5.0.5)
98
- activejob (= 5.0.5)
99
- activemodel (= 5.0.5)
100
- activerecord (= 5.0.5)
101
- activesupport (= 5.0.5)
102
- bundler (>= 1.3.0)
103
- railties (= 5.0.5)
104
- sprockets-rails (>= 2.0.0)
105
- rails-dom-testing (2.0.3)
106
- activesupport (>= 4.2.0)
107
- nokogiri (>= 1.6)
108
- rails-html-sanitizer (1.0.3)
109
- loofah (~> 2.0)
110
- railties (5.0.5)
111
- actionpack (= 5.0.5)
112
- activesupport (= 5.0.5)
113
- method_source
114
- rake (>= 0.8.7)
115
- thor (>= 0.18.1, < 2.0)
116
- rake (12.0.0)
117
- redis (3.3.3)
118
- redis-scripting (1.0.1)
119
- redis (>= 3.0)
120
- rspec (3.4.0)
121
- rspec-core (~> 3.4.0)
122
- rspec-expectations (~> 3.4.0)
123
- rspec-mocks (~> 3.4.0)
124
- rspec-core (3.4.4)
125
- rspec-support (~> 3.4.0)
126
- rspec-expectations (3.4.0)
127
- diff-lcs (>= 1.2.0, < 2.0)
128
- rspec-support (~> 3.4.0)
129
- rspec-mocks (3.4.1)
130
- diff-lcs (>= 1.2.0, < 2.0)
131
- rspec-support (~> 3.4.0)
132
- rspec-support (3.4.1)
133
- rufus-scheduler (3.4.2)
134
- et-orbi (~> 1.0)
135
- sinatra (2.0.0.beta2)
136
- mustermann (= 1.0.0.beta2)
137
- rack (~> 2.0)
138
- rack-protection (= 2.0.0.beta2)
139
- tilt (~> 2.0)
140
- sinatra-contrib (2.0.0.beta2)
141
- backports (>= 2.0)
142
- multi_json
143
- mustermann (= 1.0.0.beta2)
144
- rack-protection (= 2.0.0.beta2)
145
- rack-test
146
- sinatra (= 2.0.0.beta2)
147
- tilt (>= 1.3, < 3)
148
- slop (3.6.0)
149
- sprockets (3.7.1)
150
- concurrent-ruby (~> 1.0)
151
- rack (> 1, < 3)
152
- sprockets-rails (3.2.0)
153
- actionpack (>= 4.0)
154
- activesupport (>= 4.0)
155
- sprockets (>= 3.0.0)
156
- thor (0.19.4)
157
- thread_safe (0.3.6)
158
- tilt (2.0.8)
159
- timecop (0.7.1)
160
- tzinfo (1.2.3)
161
- thread_safe (~> 0.1)
162
- websocket-driver (0.6.5)
163
- websocket-extensions (>= 0.1.0)
164
- websocket-extensions (0.1.2)
165
- wwtd (1.3.0)
166
-
167
- PLATFORMS
168
- ruby
169
-
170
- DEPENDENCIES
171
- bump
172
- byebug
173
- database_cleaner (= 1.6.1)
174
- inst-jobs!
175
- pg
176
- pry
177
- rack-test
178
- rails (~> 5.0.0)
179
- rake
180
- rspec (= 3.4.0)
181
- sinatra (= 2.0.0.beta2)
182
- sinatra-contrib (= 2.0.0.beta2)
183
- timecop (= 0.7.1)
184
- wwtd (~> 1.3.0)
185
-
186
- BUNDLED WITH
187
- 1.15.3
@@ -1,187 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- inst-jobs (0.13.3)
5
- after_transaction_commit (~> 1.0)
6
- rails (>= 4.2)
7
- redis (> 3.0)
8
- redis-scripting (~> 1.0.1)
9
- rufus-scheduler (~> 3.4)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actioncable (5.1.1)
15
- actionpack (= 5.1.1)
16
- nio4r (~> 2.0)
17
- websocket-driver (~> 0.6.1)
18
- actionmailer (5.1.1)
19
- actionpack (= 5.1.1)
20
- actionview (= 5.1.1)
21
- activejob (= 5.1.1)
22
- mail (~> 2.5, >= 2.5.4)
23
- rails-dom-testing (~> 2.0)
24
- actionpack (5.1.1)
25
- actionview (= 5.1.1)
26
- activesupport (= 5.1.1)
27
- rack (~> 2.0)
28
- rack-test (~> 0.6.3)
29
- rails-dom-testing (~> 2.0)
30
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
31
- actionview (5.1.1)
32
- activesupport (= 5.1.1)
33
- builder (~> 3.1)
34
- erubi (~> 1.4)
35
- rails-dom-testing (~> 2.0)
36
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
37
- activejob (5.1.1)
38
- activesupport (= 5.1.1)
39
- globalid (>= 0.3.6)
40
- activemodel (5.1.1)
41
- activesupport (= 5.1.1)
42
- activerecord (5.1.1)
43
- activemodel (= 5.1.1)
44
- activesupport (= 5.1.1)
45
- arel (~> 8.0)
46
- activesupport (5.1.1)
47
- concurrent-ruby (~> 1.0, >= 1.0.2)
48
- i18n (~> 0.7)
49
- minitest (~> 5.1)
50
- tzinfo (~> 1.1)
51
- after_transaction_commit (1.1.2)
52
- activerecord (>= 4.0)
53
- arel (8.0.0)
54
- backports (3.7.0)
55
- builder (3.2.3)
56
- bump (0.5.3)
57
- byebug (9.0.6)
58
- coderay (1.1.1)
59
- concurrent-ruby (1.0.5)
60
- database_cleaner (1.6.1)
61
- diff-lcs (1.3)
62
- erubi (1.6.0)
63
- et-orbi (1.0.3)
64
- tzinfo
65
- globalid (0.4.0)
66
- activesupport (>= 4.2.0)
67
- i18n (0.8.4)
68
- loofah (2.0.3)
69
- nokogiri (>= 1.5.9)
70
- mail (2.6.6)
71
- mime-types (>= 1.16, < 4)
72
- method_source (0.8.2)
73
- mime-types (3.1)
74
- mime-types-data (~> 3.2015)
75
- mime-types-data (3.2016.0521)
76
- mini_portile2 (2.2.0)
77
- minitest (5.10.2)
78
- multi_json (1.12.1)
79
- mustermann (1.0.0.beta2)
80
- nio4r (2.1.0)
81
- nokogiri (1.8.0)
82
- mini_portile2 (~> 2.2.0)
83
- pg (0.21.0)
84
- pry (0.10.4)
85
- coderay (~> 1.1.0)
86
- method_source (~> 0.8.1)
87
- slop (~> 3.4)
88
- rack (2.0.3)
89
- rack-protection (2.0.0.beta2)
90
- rack
91
- rack-test (0.6.3)
92
- rack (>= 1.0)
93
- rails (5.1.1)
94
- actioncable (= 5.1.1)
95
- actionmailer (= 5.1.1)
96
- actionpack (= 5.1.1)
97
- actionview (= 5.1.1)
98
- activejob (= 5.1.1)
99
- activemodel (= 5.1.1)
100
- activerecord (= 5.1.1)
101
- activesupport (= 5.1.1)
102
- bundler (>= 1.3.0, < 2.0)
103
- railties (= 5.1.1)
104
- sprockets-rails (>= 2.0.0)
105
- rails-dom-testing (2.0.3)
106
- activesupport (>= 4.2.0)
107
- nokogiri (>= 1.6)
108
- rails-html-sanitizer (1.0.3)
109
- loofah (~> 2.0)
110
- railties (5.1.1)
111
- actionpack (= 5.1.1)
112
- activesupport (= 5.1.1)
113
- method_source
114
- rake (>= 0.8.7)
115
- thor (>= 0.18.1, < 2.0)
116
- rake (12.0.0)
117
- redis (3.3.3)
118
- redis-scripting (1.0.1)
119
- redis (>= 3.0)
120
- rspec (3.4.0)
121
- rspec-core (~> 3.4.0)
122
- rspec-expectations (~> 3.4.0)
123
- rspec-mocks (~> 3.4.0)
124
- rspec-core (3.4.4)
125
- rspec-support (~> 3.4.0)
126
- rspec-expectations (3.4.0)
127
- diff-lcs (>= 1.2.0, < 2.0)
128
- rspec-support (~> 3.4.0)
129
- rspec-mocks (3.4.1)
130
- diff-lcs (>= 1.2.0, < 2.0)
131
- rspec-support (~> 3.4.0)
132
- rspec-support (3.4.1)
133
- rufus-scheduler (3.4.0)
134
- et-orbi (~> 1.0)
135
- sinatra (2.0.0.beta2)
136
- mustermann (= 1.0.0.beta2)
137
- rack (~> 2.0)
138
- rack-protection (= 2.0.0.beta2)
139
- tilt (~> 2.0)
140
- sinatra-contrib (2.0.0.beta2)
141
- backports (>= 2.0)
142
- multi_json
143
- mustermann (= 1.0.0.beta2)
144
- rack-protection (= 2.0.0.beta2)
145
- rack-test
146
- sinatra (= 2.0.0.beta2)
147
- tilt (>= 1.3, < 3)
148
- slop (3.6.0)
149
- sprockets (3.7.1)
150
- concurrent-ruby (~> 1.0)
151
- rack (> 1, < 3)
152
- sprockets-rails (3.2.0)
153
- actionpack (>= 4.0)
154
- activesupport (>= 4.0)
155
- sprockets (>= 3.0.0)
156
- thor (0.19.4)
157
- thread_safe (0.3.6)
158
- tilt (2.0.7)
159
- timecop (0.7.1)
160
- tzinfo (1.2.3)
161
- thread_safe (~> 0.1)
162
- websocket-driver (0.6.5)
163
- websocket-extensions (>= 0.1.0)
164
- websocket-extensions (0.1.2)
165
- wwtd (1.3.0)
166
-
167
- PLATFORMS
168
- ruby
169
-
170
- DEPENDENCIES
171
- bump
172
- byebug
173
- database_cleaner (= 1.6.1)
174
- inst-jobs!
175
- pg
176
- pry
177
- rack-test
178
- rails (~> 5.1.0)
179
- rake
180
- rspec (= 3.4.0)
181
- sinatra (= 2.0.0.beta2)
182
- sinatra-contrib (= 2.0.0.beta2)
183
- timecop (= 0.7.1)
184
- wwtd (~> 1.3.0)
185
-
186
- BUNDLED WITH
187
- 1.14.6