inst-jobs 0.14.6 → 0.14.7

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 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