dyno_scaler 0.2.0 → 0.3.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 +15 -0
- data/.rspec +0 -1
- data/.travis.yml +3 -1
- data/Gemfile +7 -1
- data/Gemfile.lock +108 -55
- data/README.md +4 -3
- data/dyno_scaler.gemspec +0 -4
- data/lib/dyno_scaler/version.rb +1 -1
- data/lib/dyno_scaler/workers/resque.rb +17 -1
- data/spec/dyno_scaler/heroku_spec.rb +2 -2
- data/spec/dyno_scaler/manager_spec.rb +3 -3
- data/spec/dyno_scaler/workers/resque_spec.rb +76 -5
- data/spec/spec_helper.rb +5 -0
- metadata +5 -65
checksums.yaml
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
!binary "U0hBMQ==":
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
N2RiYzBkZGQ3NDE1N2IwNzc0M2QyMTEwZDhjMmI1NTBmNjgxYmMzNA==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
ZWRhYjU2YzM4Y2U1MDFmYmVjOGUzNzU3NjI0YjdkMzM0OTJiOTgxMg==
|
|
7
|
+
SHA512:
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
YTc5Mjg1ZThiOGRlNjZhY2ZhYzY2NzQzYjU3ZWUyNGEzMjllNzAyZDVmNGZi
|
|
10
|
+
NGZmNWEwZTRjZDdjYTY1ZWYxYWIwNmQ3Mzg3OWEwODI5OTI2ZDA4ZGMxOGMw
|
|
11
|
+
Yjg2NTNkZGFiMmIwMzk5NjVkZDkwNDA3YzAyM2I4OTA0MGU1YzQ=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
ZDkwYzA2ZjdmNWNiOGZlZjkwOTMzMjVmMDg0NTI4ZTllMjAyZDkzMGM3NTMx
|
|
14
|
+
NjY2MjI2YThmYmZhOTAzNTQ4N2FhMjI4OWUwMzM0NDQzYzI1OTFmZjMyZGZk
|
|
15
|
+
YmQ1ZGM5N2M3Y2Q0N2IyNzExNjI2MjdiODgxMjkxYzY0Mzg0MDk=
|
data/.rspec
CHANGED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -10,11 +10,17 @@ group(:development) do
|
|
|
10
10
|
|
|
11
11
|
platforms :jruby do
|
|
12
12
|
gem 'ruby-debug'
|
|
13
|
-
gem 'jruby-openssl'
|
|
14
13
|
end
|
|
15
14
|
end
|
|
16
15
|
|
|
16
|
+
platforms :jruby do
|
|
17
|
+
gem 'jruby-openssl'
|
|
18
|
+
end
|
|
19
|
+
|
|
17
20
|
group(:test) do
|
|
18
21
|
gem 'simplecov', require: false
|
|
22
|
+
gem 'rspec'
|
|
23
|
+
gem 'resque'
|
|
24
|
+
gem 'girl_friday'
|
|
19
25
|
gem 'rails'
|
|
20
26
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,76 +1,112 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
dyno_scaler (0.
|
|
4
|
+
dyno_scaler (0.3.0)
|
|
5
5
|
activesupport
|
|
6
6
|
heroku-api
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
actionmailer (
|
|
12
|
-
actionpack (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
actionmailer (4.1.1)
|
|
12
|
+
actionpack (= 4.1.1)
|
|
13
|
+
actionview (= 4.1.1)
|
|
14
|
+
mail (~> 2.5.4)
|
|
15
|
+
actionpack (4.1.1)
|
|
16
|
+
actionview (= 4.1.1)
|
|
17
|
+
activesupport (= 4.1.1)
|
|
18
|
+
rack (~> 1.5.2)
|
|
19
|
+
rack-test (~> 0.6.2)
|
|
20
|
+
actionview (4.1.1)
|
|
21
|
+
activesupport (= 4.1.1)
|
|
22
|
+
builder (~> 3.1)
|
|
23
|
+
erubis (~> 2.7.0)
|
|
24
|
+
activemodel (4.1.1)
|
|
25
|
+
activesupport (= 4.1.1)
|
|
26
|
+
builder (~> 3.1)
|
|
27
|
+
activerecord (4.1.1)
|
|
28
|
+
activemodel (= 4.1.1)
|
|
29
|
+
activesupport (= 4.1.1)
|
|
30
|
+
arel (~> 5.0.0)
|
|
31
|
+
activesupport (4.1.1)
|
|
32
|
+
i18n (~> 0.6, >= 0.6.9)
|
|
33
|
+
json (~> 1.7, >= 1.7.7)
|
|
34
|
+
minitest (~> 5.1)
|
|
35
|
+
thread_safe (~> 0.1)
|
|
36
|
+
tzinfo (~> 1.1)
|
|
37
|
+
arel (5.0.1.20140414130214)
|
|
26
38
|
bouncy-castle-java (1.5.0147)
|
|
27
|
-
builder (3.
|
|
28
|
-
columnize (0.
|
|
29
|
-
connection_pool (1.
|
|
30
|
-
debugger (1.6.
|
|
39
|
+
builder (3.2.2)
|
|
40
|
+
columnize (0.8.9)
|
|
41
|
+
connection_pool (1.2.0)
|
|
42
|
+
debugger (1.6.7)
|
|
31
43
|
columnize (>= 0.3.1)
|
|
32
44
|
debugger-linecache (~> 1.2.0)
|
|
33
|
-
debugger-ruby_core_source (~> 1.
|
|
45
|
+
debugger-ruby_core_source (~> 1.3.5)
|
|
34
46
|
debugger-linecache (1.2.0)
|
|
35
|
-
debugger-ruby_core_source (1.
|
|
36
|
-
diff-lcs (1.2.
|
|
37
|
-
|
|
47
|
+
debugger-ruby_core_source (1.3.5)
|
|
48
|
+
diff-lcs (1.2.5)
|
|
49
|
+
docile (1.1.3)
|
|
50
|
+
erubis (2.7.0)
|
|
51
|
+
excon (0.33.0)
|
|
38
52
|
girl_friday (0.11.2)
|
|
39
53
|
connection_pool (~> 1.0)
|
|
40
54
|
rubinius-actor
|
|
41
|
-
heroku-api (0.3.
|
|
42
|
-
excon (~> 0.
|
|
43
|
-
|
|
44
|
-
|
|
55
|
+
heroku-api (0.3.18)
|
|
56
|
+
excon (~> 0.27)
|
|
57
|
+
multi_json (~> 1.8)
|
|
58
|
+
hike (1.2.3)
|
|
59
|
+
i18n (0.6.9)
|
|
60
|
+
jruby-openssl (0.9.4)
|
|
45
61
|
bouncy-castle-java (>= 1.5.0147)
|
|
62
|
+
json (1.8.1)
|
|
63
|
+
json (1.8.1-java)
|
|
64
|
+
mail (2.5.4)
|
|
65
|
+
mime-types (~> 1.16)
|
|
66
|
+
treetop (~> 1.4.8)
|
|
67
|
+
mime-types (1.25.1)
|
|
68
|
+
minitest (5.3.4)
|
|
46
69
|
mono_logger (1.1.0)
|
|
47
|
-
multi_json (1.
|
|
70
|
+
multi_json (1.10.1)
|
|
71
|
+
polyglot (0.3.4)
|
|
48
72
|
rack (1.5.2)
|
|
49
|
-
rack-protection (1.5.
|
|
73
|
+
rack-protection (1.5.3)
|
|
50
74
|
rack
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
75
|
+
rack-test (0.6.2)
|
|
76
|
+
rack (>= 1.0)
|
|
77
|
+
rails (4.1.1)
|
|
78
|
+
actionmailer (= 4.1.1)
|
|
79
|
+
actionpack (= 4.1.1)
|
|
80
|
+
actionview (= 4.1.1)
|
|
81
|
+
activemodel (= 4.1.1)
|
|
82
|
+
activerecord (= 4.1.1)
|
|
83
|
+
activesupport (= 4.1.1)
|
|
84
|
+
bundler (>= 1.3.0, < 2.0)
|
|
85
|
+
railties (= 4.1.1)
|
|
86
|
+
sprockets-rails (~> 2.0)
|
|
87
|
+
railties (4.1.1)
|
|
88
|
+
actionpack (= 4.1.1)
|
|
89
|
+
activesupport (= 4.1.1)
|
|
90
|
+
rake (>= 0.8.7)
|
|
91
|
+
thor (>= 0.18.1, < 2.0)
|
|
92
|
+
rake (10.3.2)
|
|
93
|
+
redis (3.0.7)
|
|
94
|
+
redis-namespace (1.4.1)
|
|
95
|
+
redis (~> 3.0.4)
|
|
96
|
+
resque (1.25.2)
|
|
61
97
|
mono_logger (~> 1.0)
|
|
62
98
|
multi_json (~> 1.0)
|
|
63
|
-
redis-namespace (~> 1.
|
|
99
|
+
redis-namespace (~> 1.3)
|
|
64
100
|
sinatra (>= 0.9.2)
|
|
65
101
|
vegas (~> 0.1.2)
|
|
66
|
-
rspec (2.
|
|
67
|
-
rspec-core (~> 2.
|
|
68
|
-
rspec-expectations (~> 2.
|
|
69
|
-
rspec-mocks (~> 2.
|
|
70
|
-
rspec-core (2.
|
|
71
|
-
rspec-expectations (2.
|
|
102
|
+
rspec (2.14.1)
|
|
103
|
+
rspec-core (~> 2.14.0)
|
|
104
|
+
rspec-expectations (~> 2.14.0)
|
|
105
|
+
rspec-mocks (~> 2.14.0)
|
|
106
|
+
rspec-core (2.14.8)
|
|
107
|
+
rspec-expectations (2.14.5)
|
|
72
108
|
diff-lcs (>= 1.1.3, < 2.0)
|
|
73
|
-
rspec-mocks (2.
|
|
109
|
+
rspec-mocks (2.14.6)
|
|
74
110
|
rubinius-actor (0.0.2)
|
|
75
111
|
rubinius-core-api
|
|
76
112
|
rubinius-core-api (0.0.1)
|
|
@@ -79,16 +115,33 @@ GEM
|
|
|
79
115
|
columnize (>= 0.1)
|
|
80
116
|
ruby-debug-base (~> 0.10.4.0)
|
|
81
117
|
ruby-debug-base (0.10.4-java)
|
|
82
|
-
simplecov (0.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
118
|
+
simplecov (0.8.2)
|
|
119
|
+
docile (~> 1.1.0)
|
|
120
|
+
multi_json
|
|
121
|
+
simplecov-html (~> 0.8.0)
|
|
122
|
+
simplecov-html (0.8.0)
|
|
123
|
+
sinatra (1.4.5)
|
|
124
|
+
rack (~> 1.4)
|
|
88
125
|
rack-protection (~> 1.4)
|
|
89
126
|
tilt (~> 1.3, >= 1.3.4)
|
|
127
|
+
sprockets (2.12.1)
|
|
128
|
+
hike (~> 1.2)
|
|
129
|
+
multi_json (~> 1.0)
|
|
130
|
+
rack (~> 1.0)
|
|
131
|
+
tilt (~> 1.1, != 1.3.0)
|
|
132
|
+
sprockets-rails (2.1.3)
|
|
133
|
+
actionpack (>= 3.0)
|
|
134
|
+
activesupport (>= 3.0)
|
|
135
|
+
sprockets (~> 2.8)
|
|
136
|
+
thor (0.19.1)
|
|
137
|
+
thread_safe (0.3.3)
|
|
138
|
+
thread_safe (0.3.3-java)
|
|
90
139
|
tilt (1.4.1)
|
|
91
|
-
|
|
140
|
+
treetop (1.4.15)
|
|
141
|
+
polyglot
|
|
142
|
+
polyglot (>= 0.3.1)
|
|
143
|
+
tzinfo (1.2.0)
|
|
144
|
+
thread_safe (~> 0.1)
|
|
92
145
|
vegas (0.1.11)
|
|
93
146
|
rack (>= 1.0.0)
|
|
94
147
|
|
data/README.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# DynoScaler
|
|
2
2
|
|
|
3
|
-
[![
|
|
3
|
+
[![build status][1]][2]
|
|
4
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
|
4
5
|
|
|
5
|
-
[1]: https://travis-ci.org/
|
|
6
|
-
[2]: http://travis-ci.org/
|
|
6
|
+
[1]: https://travis-ci.org/dtmtec/dyno_scaler.png
|
|
7
|
+
[2]: http://travis-ci.org/dtmtec/dyno_scaler
|
|
7
8
|
|
|
8
9
|
Scale your dyno workers on Heroku as needed, pay only for what you use!
|
|
9
10
|
|
data/dyno_scaler.gemspec
CHANGED
data/lib/dyno_scaler/version.rb
CHANGED
|
@@ -15,6 +15,10 @@ module DynoScaler
|
|
|
15
15
|
enable_scaling_down
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
def scale(&block)
|
|
19
|
+
self.class.scale(&block)
|
|
20
|
+
end
|
|
21
|
+
|
|
18
22
|
module ClassMethods
|
|
19
23
|
def after_perform_scale_down(*args)
|
|
20
24
|
info = ::Resque.info
|
|
@@ -27,7 +31,7 @@ module DynoScaler
|
|
|
27
31
|
end
|
|
28
32
|
|
|
29
33
|
def after_enqueue_scale_up(*args)
|
|
30
|
-
if scale_up_enabled?
|
|
34
|
+
if scale_up_enabled? && !scaling?
|
|
31
35
|
if DynoScaler.configuration.async?
|
|
32
36
|
DynoScaler.configuration.async.call(::Resque.info.merge(action: :scale_up))
|
|
33
37
|
else
|
|
@@ -54,6 +58,18 @@ module DynoScaler
|
|
|
54
58
|
self.scale_down_enabled = false
|
|
55
59
|
end
|
|
56
60
|
|
|
61
|
+
def scaling?
|
|
62
|
+
@scaling
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def scale(&block)
|
|
66
|
+
@scaling = true
|
|
67
|
+
result = block.call if block_given?
|
|
68
|
+
dyno_scaler_manager.scale_with(::Resque.info)
|
|
69
|
+
@scaling = false
|
|
70
|
+
result
|
|
71
|
+
end
|
|
72
|
+
|
|
57
73
|
private
|
|
58
74
|
def dyno_scaler_manager
|
|
59
75
|
@manager ||= DynoScaler::Manager.new
|
|
@@ -6,10 +6,10 @@ describe DynoScaler::Heroku do
|
|
|
6
6
|
subject(:heroku_client) { DynoScaler::Heroku.new application, options }
|
|
7
7
|
|
|
8
8
|
describe "scaling workers" do
|
|
9
|
-
let(:heroku_api) {
|
|
9
|
+
let(:heroku_api) { double(::Heroku::API, :post_ps_scale => false) }
|
|
10
10
|
|
|
11
11
|
before do
|
|
12
|
-
::Heroku::API.stub
|
|
12
|
+
::Heroku::API.stub(:new).and_return(heroku_api)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
let(:quantity) { 2 }
|
|
@@ -5,7 +5,7 @@ describe DynoScaler::Manager do
|
|
|
5
5
|
|
|
6
6
|
subject(:manager) { DynoScaler::Manager.new }
|
|
7
7
|
|
|
8
|
-
let(:heroku) {
|
|
8
|
+
let(:heroku) { double(DynoScaler::Heroku, scale_workers: false) }
|
|
9
9
|
|
|
10
10
|
let(:workers) { 0 }
|
|
11
11
|
let(:pending_jobs) { 0 }
|
|
@@ -27,7 +27,7 @@ describe DynoScaler::Manager do
|
|
|
27
27
|
config.application = 'my-app'
|
|
28
28
|
config.enabled = true
|
|
29
29
|
|
|
30
|
-
DynoScaler::Heroku.stub
|
|
30
|
+
DynoScaler::Heroku.stub(:new).with(config.application).and_return(heroku)
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
shared_examples_for "disabled" do
|
|
@@ -348,7 +348,7 @@ describe DynoScaler::Manager do
|
|
|
348
348
|
end
|
|
349
349
|
|
|
350
350
|
describe "running workers" do
|
|
351
|
-
let(:heroku) {
|
|
351
|
+
let(:heroku) { double(DynoScaler::Heroku, scale_workers: false, running_workers: 2) }
|
|
352
352
|
|
|
353
353
|
its(:running_workers) { should eq(heroku.running_workers) }
|
|
354
354
|
end
|
|
@@ -17,23 +17,25 @@ class SampleJob
|
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
describe DynoScaler::Workers::Resque do
|
|
20
|
-
let(:manager) {
|
|
20
|
+
let(:manager) { double(DynoScaler::Manager, scale_up: false, scale_down: false) }
|
|
21
21
|
|
|
22
22
|
let(:workers) { 0 }
|
|
23
23
|
let(:working) { 0 }
|
|
24
24
|
let(:pending) { 1 }
|
|
25
25
|
|
|
26
26
|
before do
|
|
27
|
-
Resque.stub
|
|
27
|
+
Resque.stub(:info).and_return({
|
|
28
28
|
workers: workers,
|
|
29
29
|
working: working,
|
|
30
30
|
pending: pending
|
|
31
31
|
})
|
|
32
32
|
|
|
33
33
|
SampleJob.reset!
|
|
34
|
-
DynoScaler::Manager.stub
|
|
34
|
+
DynoScaler::Manager.stub(:new).and_return(manager)
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
+
after { DynoScaler.configuration.async = false }
|
|
38
|
+
|
|
37
39
|
def work_off(queue)
|
|
38
40
|
job = Resque::Job.reserve(queue)
|
|
39
41
|
job ? job.perform : fail("No jobs for queue '#{queue}'.")
|
|
@@ -63,6 +65,25 @@ describe DynoScaler::Workers::Resque do
|
|
|
63
65
|
end
|
|
64
66
|
end
|
|
65
67
|
|
|
68
|
+
context "when it is scaling" do
|
|
69
|
+
before { SampleJob.stub(:scaling?).and_return(true) }
|
|
70
|
+
|
|
71
|
+
it "does not scales up" do
|
|
72
|
+
manager.should_not_receive(:scale_up)
|
|
73
|
+
Resque.enqueue(SampleJob)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
context "and async is configured" do
|
|
77
|
+
let(:config) { DynoScaler.configuration }
|
|
78
|
+
before { config.async = true }
|
|
79
|
+
|
|
80
|
+
it "does not calls the given async processor" do
|
|
81
|
+
config.async.should_not_receive(:call)
|
|
82
|
+
Resque.enqueue(SampleJob)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
66
87
|
context "when scaling up is disabled" do
|
|
67
88
|
before { SampleJob.disable_scaling_up }
|
|
68
89
|
after { SampleJob.enable_scaling_up }
|
|
@@ -75,7 +96,7 @@ describe DynoScaler::Workers::Resque do
|
|
|
75
96
|
|
|
76
97
|
context "when an error occurs while scaling up" do
|
|
77
98
|
before do
|
|
78
|
-
manager.stub
|
|
99
|
+
manager.stub(:scale_up).and_raise("error")
|
|
79
100
|
end
|
|
80
101
|
|
|
81
102
|
it "does not raises it" do
|
|
@@ -135,6 +156,56 @@ describe DynoScaler::Workers::Resque do
|
|
|
135
156
|
end
|
|
136
157
|
end
|
|
137
158
|
|
|
159
|
+
describe "#scale" do
|
|
160
|
+
it "calls the Klass.scale" do
|
|
161
|
+
block = Proc.new { |a| }
|
|
162
|
+
SampleJob.should_receive(:scale).and_yield(block)
|
|
163
|
+
SampleJob.new.scale(&block)
|
|
164
|
+
end
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
describe ".scale" do
|
|
168
|
+
before { manager.stub(:scale_with) }
|
|
169
|
+
|
|
170
|
+
it "should not be scaling before it is run" do
|
|
171
|
+
SampleJob.should_not be_scaling
|
|
172
|
+
SampleJob.scale { }
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
it "should not be scaling after it is run" do
|
|
176
|
+
SampleJob.scale { }
|
|
177
|
+
SampleJob.should_not be_scaling
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
it "calls the given block" do
|
|
181
|
+
called = false
|
|
182
|
+
SampleJob.scale do
|
|
183
|
+
called = true
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
called.should be_true
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
it "sets scaling? to true inside the given block" do
|
|
190
|
+
SampleJob.scale do
|
|
191
|
+
SampleJob.should be_scaling
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
it "returns the result of the block" do
|
|
196
|
+
result = SampleJob.scale do
|
|
197
|
+
'some value'
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
result.should eq('some value')
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
it "scales with Resque.info" do
|
|
204
|
+
manager.should_receive(:scale_with).with(Resque.info)
|
|
205
|
+
SampleJob.scale {}
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
|
|
138
209
|
describe "after performing" do
|
|
139
210
|
before do
|
|
140
211
|
Resque.enqueue(SampleJob)
|
|
@@ -184,7 +255,7 @@ describe DynoScaler::Workers::Resque do
|
|
|
184
255
|
|
|
185
256
|
context "when an error occurs while scaling down" do
|
|
186
257
|
before do
|
|
187
|
-
manager.stub
|
|
258
|
+
manager.stub(:scale_down).and_raise("error")
|
|
188
259
|
end
|
|
189
260
|
|
|
190
261
|
it "does not raises it" do
|
data/spec/spec_helper.rb
CHANGED
|
@@ -10,6 +10,11 @@ ENV['RACK_ENV'] ||= 'test'
|
|
|
10
10
|
|
|
11
11
|
Bundler.require :default, ENV['RACK_ENV']
|
|
12
12
|
|
|
13
|
+
begin
|
|
14
|
+
require 'debugger'
|
|
15
|
+
rescue LoadError
|
|
16
|
+
end
|
|
17
|
+
|
|
13
18
|
RSpec.configure do |config|
|
|
14
19
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
|
15
20
|
config.run_all_when_everything_filtered = true
|
metadata
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dyno_scaler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.3.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Vicente Mundim
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-05-30 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: heroku-api
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ! '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
@@ -22,7 +20,6 @@ dependencies:
|
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ! '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
@@ -30,7 +27,6 @@ dependencies:
|
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: activesupport
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ! '>='
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
@@ -38,55 +34,6 @@ dependencies:
|
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ! '>='
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
version: '0'
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: rspec
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - ! '>='
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - ! '>='
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: resque
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
|
-
requirements:
|
|
67
|
-
- - ! '>='
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: '0'
|
|
70
|
-
type: :development
|
|
71
|
-
prerelease: false
|
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
|
-
requirements:
|
|
75
|
-
- - ! '>='
|
|
76
|
-
- !ruby/object:Gem::Version
|
|
77
|
-
version: '0'
|
|
78
|
-
- !ruby/object:Gem::Dependency
|
|
79
|
-
name: girl_friday
|
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
|
-
requirements:
|
|
83
|
-
- - ! '>='
|
|
84
|
-
- !ruby/object:Gem::Version
|
|
85
|
-
version: '0'
|
|
86
|
-
type: :development
|
|
87
|
-
prerelease: false
|
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
37
|
requirements:
|
|
91
38
|
- - ! '>='
|
|
92
39
|
- !ruby/object:Gem::Version
|
|
@@ -124,33 +71,26 @@ files:
|
|
|
124
71
|
- spec/spec_helper.rb
|
|
125
72
|
homepage: ''
|
|
126
73
|
licenses: []
|
|
74
|
+
metadata: {}
|
|
127
75
|
post_install_message:
|
|
128
76
|
rdoc_options: []
|
|
129
77
|
require_paths:
|
|
130
78
|
- lib
|
|
131
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
|
-
none: false
|
|
133
80
|
requirements:
|
|
134
81
|
- - ! '>='
|
|
135
82
|
- !ruby/object:Gem::Version
|
|
136
83
|
version: '0'
|
|
137
|
-
segments:
|
|
138
|
-
- 0
|
|
139
|
-
hash: 2224126621468173424
|
|
140
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
|
-
none: false
|
|
142
85
|
requirements:
|
|
143
86
|
- - ! '>='
|
|
144
87
|
- !ruby/object:Gem::Version
|
|
145
88
|
version: '0'
|
|
146
|
-
segments:
|
|
147
|
-
- 0
|
|
148
|
-
hash: 2224126621468173424
|
|
149
89
|
requirements: []
|
|
150
90
|
rubyforge_project:
|
|
151
|
-
rubygems_version:
|
|
91
|
+
rubygems_version: 2.2.2
|
|
152
92
|
signing_key:
|
|
153
|
-
specification_version:
|
|
93
|
+
specification_version: 4
|
|
154
94
|
summary: Scale your dyno workers on Heroku as needed
|
|
155
95
|
test_files:
|
|
156
96
|
- spec/dyno_scaler/configuration_spec.rb
|