pogo 2.39.2.1 → 2.39.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/pogo +1 -0
- data/lib/heroku/client.rb +37 -37
- data/lib/heroku/client/cisaurus.rb +1 -1
- data/lib/heroku/version.rb +1 -1
- metadata +2 -2
data/bin/pogo
CHANGED
@@ -6,6 +6,7 @@ ENV['HEROKU_HOST'] ||= 'pogoapp.com'
|
|
6
6
|
ENV['HEROKU_STATUS_HOST'] ||= 'status.pogoapp.com'
|
7
7
|
ENV['HEROKU_GIT_HOST'] ||= 'git.pogoapp.com'
|
8
8
|
ENV['HEROKU_SSL_VERIFY'] ||= 'disable' # StartCom cert + RestClient = :(
|
9
|
+
ENV['CISAURUS_HOST'] ||= 'https://cizoa.pogoapp.com'
|
9
10
|
|
10
11
|
# resolve bin path, ignoring symlinks
|
11
12
|
require "pathname"
|
data/lib/heroku/client.rb
CHANGED
@@ -122,33 +122,33 @@ class Heroku::Client
|
|
122
122
|
def maintenance(app_name, mode)
|
123
123
|
deprecate # 07/31/2012
|
124
124
|
mode = mode == :on ? '1' : '0'
|
125
|
-
post("/apps/#{app_name}/server/maintenance", :maintenance_mode => mode).to_s
|
125
|
+
post("/apps/#{escape app_name}/server/maintenance", :maintenance_mode => mode).to_s
|
126
126
|
end
|
127
127
|
|
128
128
|
def config_vars(app_name)
|
129
129
|
deprecate # 07/27/2012
|
130
|
-
json_decode get("/apps/#{app_name}/config_vars", :accept => :json).to_s
|
130
|
+
json_decode get("/apps/#{escape app_name}/config_vars", :accept => :json).to_s
|
131
131
|
end
|
132
132
|
|
133
133
|
def add_config_vars(app_name, new_vars)
|
134
134
|
deprecate # 07/27/2012
|
135
|
-
put("/apps/#{app_name}/config_vars", json_encode(new_vars), :accept => :json).to_s
|
135
|
+
put("/apps/#{escape app_name}/config_vars", json_encode(new_vars), :accept => :json).to_s
|
136
136
|
end
|
137
137
|
|
138
138
|
def remove_config_var(app_name, key)
|
139
139
|
deprecate # 07/27/2012
|
140
|
-
delete("/apps/#{app_name}/config_vars/#{escape(key)}", :accept => :json).to_s
|
140
|
+
delete("/apps/#{escape app_name}/config_vars/#{escape(key)}", :accept => :json).to_s
|
141
141
|
end
|
142
142
|
|
143
143
|
def clear_config_vars(app_name)
|
144
144
|
deprecate # 07/27/2012
|
145
|
-
delete("/apps/#{app_name}/config_vars").to_s
|
145
|
+
delete("/apps/#{escape app_name}/config_vars").to_s
|
146
146
|
end
|
147
147
|
|
148
148
|
# Get a list of collaborators on the app, returns an array of hashes each with :email
|
149
149
|
def list_collaborators(app_name)
|
150
150
|
deprecate # 07/31/2012
|
151
|
-
doc = xml(get("/apps/#{app_name}/collaborators").to_s)
|
151
|
+
doc = xml(get("/apps/#{escape app_name}/collaborators").to_s)
|
152
152
|
doc.elements.to_a("//collaborators/collaborator").map do |a|
|
153
153
|
{ :email => a.elements['email'].text }
|
154
154
|
end
|
@@ -157,18 +157,18 @@ class Heroku::Client
|
|
157
157
|
# Invite a person by email address to collaborate on the app.
|
158
158
|
def add_collaborator(app_name, email)
|
159
159
|
deprecate # 07/31/2012
|
160
|
-
xml(post("/apps/#{app_name}/collaborators", { 'collaborator[email]' => email }).to_s)
|
160
|
+
xml(post("/apps/#{escape app_name}/collaborators", { 'collaborator[email]' => email }).to_s)
|
161
161
|
end
|
162
162
|
|
163
163
|
# Remove a collaborator.
|
164
164
|
def remove_collaborator(app_name, email)
|
165
165
|
deprecate # 07/31/2012
|
166
|
-
delete("/apps/#{app_name}/collaborators/#{escape(email)}").to_s
|
166
|
+
delete("/apps/#{escape app_name}/collaborators/#{escape(email)}").to_s
|
167
167
|
end
|
168
168
|
|
169
169
|
def list_domains(app_name)
|
170
170
|
deprecate # 08/02/2012
|
171
|
-
doc = xml(get("/apps/#{app_name}/domains").to_s)
|
171
|
+
doc = xml(get("/apps/#{escape app_name}/domains").to_s)
|
172
172
|
doc.elements.to_a("//domain-names/*").map do |d|
|
173
173
|
attrs = { :domain => d.elements['domain'].text }
|
174
174
|
if cert = d.elements['cert']
|
@@ -184,18 +184,18 @@ class Heroku::Client
|
|
184
184
|
|
185
185
|
def add_domain(app_name, domain)
|
186
186
|
deprecate # 07/31/2012
|
187
|
-
post("/apps/#{app_name}/domains", domain).to_s
|
187
|
+
post("/apps/#{escape app_name}/domains", domain).to_s
|
188
188
|
end
|
189
189
|
|
190
190
|
def remove_domain(app_name, domain)
|
191
191
|
deprecate # 07/31/2012
|
192
192
|
raise ArgumentError.new("invalid domain: #{domain.inspect}") if domain.to_s.strip == ""
|
193
|
-
delete("/apps/#{app_name}/domains/#{domain}").to_s
|
193
|
+
delete("/apps/#{escape app_name}/domains/#{domain}").to_s
|
194
194
|
end
|
195
195
|
|
196
196
|
def remove_domains(app_name)
|
197
197
|
deprecate # 07/31/2012
|
198
|
-
delete("/apps/#{app_name}/domains").to_s
|
198
|
+
delete("/apps/#{escape app_name}/domains").to_s
|
199
199
|
end
|
200
200
|
|
201
201
|
# Get the list of ssh public keys for the current user.
|
@@ -228,37 +228,37 @@ class Heroku::Client
|
|
228
228
|
# Retreive ps list for the given app name.
|
229
229
|
def ps(app_name)
|
230
230
|
deprecate # 07/31/2012
|
231
|
-
json_decode get("/apps/#{app_name}/ps", :accept => 'application/json').to_s
|
231
|
+
json_decode get("/apps/#{escape app_name}/ps", :accept => 'application/json').to_s
|
232
232
|
end
|
233
233
|
|
234
234
|
# Restart the app servers.
|
235
235
|
def restart(app_name)
|
236
236
|
deprecate # 07/31/2012
|
237
|
-
delete("/apps/#{app_name}/server").to_s
|
237
|
+
delete("/apps/#{escape app_name}/server").to_s
|
238
238
|
end
|
239
239
|
|
240
240
|
def dynos(app_name)
|
241
241
|
deprecate # 07/31/2012
|
242
|
-
doc = xml(get("/apps/#{app_name}").to_s)
|
242
|
+
doc = xml(get("/apps/#{escape app_name}").to_s)
|
243
243
|
doc.elements["//app/dynos"].text.to_i
|
244
244
|
end
|
245
245
|
|
246
246
|
def workers(app_name)
|
247
247
|
deprecate # 07/31/2012
|
248
|
-
doc = xml(get("/apps/#{app_name}").to_s)
|
248
|
+
doc = xml(get("/apps/#{escape app_name}").to_s)
|
249
249
|
doc.elements["//app/workers"].text.to_i
|
250
250
|
end
|
251
251
|
|
252
252
|
# Scales the web dynos.
|
253
253
|
def set_dynos(app_name, qty)
|
254
254
|
deprecate # 07/31/2012
|
255
|
-
put("/apps/#{app_name}/dynos", :dynos => qty).to_s
|
255
|
+
put("/apps/#{escape app_name}/dynos", :dynos => qty).to_s
|
256
256
|
end
|
257
257
|
|
258
258
|
# Scales the background dynos.
|
259
259
|
def set_workers(app_name, qty)
|
260
260
|
deprecate # 07/31/2012
|
261
|
-
put("/apps/#{app_name}/workers", :workers => qty).to_s
|
261
|
+
put("/apps/#{escape app_name}/workers", :workers => qty).to_s
|
262
262
|
end
|
263
263
|
|
264
264
|
def ps_run(app, opts={})
|
@@ -299,7 +299,7 @@ class Heroku::Client
|
|
299
299
|
# Fetch recent logs from the app server.
|
300
300
|
def logs(app_name)
|
301
301
|
deprecate # 07/31/2012
|
302
|
-
get("/apps/#{app_name}/logs").to_s
|
302
|
+
get("/apps/#{escape app_name}/logs").to_s
|
303
303
|
end
|
304
304
|
|
305
305
|
def list_features(app)
|
@@ -327,7 +327,7 @@ class Heroku::Client
|
|
327
327
|
deprecate # 07/31/2012
|
328
328
|
include_deprecated = options.delete(:include_deprecated) || false
|
329
329
|
|
330
|
-
json_decode get("/apps/#{app_name}/stack",
|
330
|
+
json_decode get("/apps/#{escape app_name}/stack",
|
331
331
|
:params => { :include_deprecated => include_deprecated },
|
332
332
|
:accept => 'application/json'
|
333
333
|
).to_s
|
@@ -336,7 +336,7 @@ class Heroku::Client
|
|
336
336
|
# Request a stack migration.
|
337
337
|
def migrate_to_stack(app_name, stack)
|
338
338
|
deprecate # 07/31/2012
|
339
|
-
put("/apps/#{app_name}/stack", stack, :accept => 'text/plain').to_s
|
339
|
+
put("/apps/#{escape app_name}/stack", stack, :accept => 'text/plain').to_s
|
340
340
|
end
|
341
341
|
|
342
342
|
# Run a rake command on the Heroku app and return output as a string
|
@@ -419,15 +419,15 @@ class Heroku::Client
|
|
419
419
|
end
|
420
420
|
|
421
421
|
def add_ssl(app_name, pem, key)
|
422
|
-
json_decode(post("/apps/#{app_name}/ssl", :pem => pem, :key => key).to_s)
|
422
|
+
json_decode(post("/apps/#{escape app_name}/ssl", :pem => pem, :key => key).to_s)
|
423
423
|
end
|
424
424
|
|
425
425
|
def remove_ssl(app_name, domain)
|
426
|
-
delete("/apps/#{app_name}/domains/#{domain}/ssl").to_s
|
426
|
+
delete("/apps/#{escape app_name}/domains/#{domain}/ssl").to_s
|
427
427
|
end
|
428
428
|
|
429
429
|
def clear_ssl(app_name)
|
430
|
-
delete("/apps/#{app_name}/ssl")
|
430
|
+
delete("/apps/#{escape app_name}/ssl")
|
431
431
|
end
|
432
432
|
|
433
433
|
class AppCrashed < RuntimeError; end
|
@@ -447,11 +447,11 @@ class Heroku::Client
|
|
447
447
|
# cmd is nil.
|
448
448
|
def console(app_name, cmd=nil)
|
449
449
|
if block_given?
|
450
|
-
id = post("/apps/#{app_name}/consoles").to_s
|
450
|
+
id = post("/apps/#{escape app_name}/consoles").to_s
|
451
451
|
yield ConsoleSession.new(id, app_name, self)
|
452
|
-
delete("/apps/#{app_name}/consoles/#{id}").to_s
|
452
|
+
delete("/apps/#{escape app_name}/consoles/#{id}").to_s
|
453
453
|
else
|
454
|
-
run_console_command("/apps/#{app_name}/console", cmd)
|
454
|
+
run_console_command("/apps/#{escape app_name}/console", cmd)
|
455
455
|
end
|
456
456
|
rescue RestClient::BadGateway => e
|
457
457
|
raise(AppCrashed, <<-ERROR)
|
@@ -481,9 +481,9 @@ Check the output of "heroku ps" and "heroku logs" for more information.
|
|
481
481
|
|
482
482
|
def read_logs(app_name, options=[])
|
483
483
|
query = "&" + options.join("&") unless options.empty?
|
484
|
-
url = get("/apps/#{app_name}/logs?logplex=true#{query}").to_s
|
484
|
+
url = get("/apps/#{escape app_name}/logs?logplex=true#{query}").to_s
|
485
485
|
if url == 'Use old logs'
|
486
|
-
puts get("/apps/#{app_name}/logs").to_s
|
486
|
+
puts get("/apps/#{escape app_name}/logs").to_s
|
487
487
|
else
|
488
488
|
uri = URI.parse(url);
|
489
489
|
|
@@ -535,15 +535,15 @@ Check the output of "heroku ps" and "heroku logs" for more information.
|
|
535
535
|
end
|
536
536
|
|
537
537
|
def list_drains(app_name)
|
538
|
-
get("/apps/#{app_name}/logs/drains").to_s
|
538
|
+
get("/apps/#{escape app_name}/logs/drains").to_s
|
539
539
|
end
|
540
540
|
|
541
541
|
def add_drain(app_name, url)
|
542
|
-
post("/apps/#{app_name}/logs/drains", "url=#{url}").to_s
|
542
|
+
post("/apps/#{escape app_name}/logs/drains", "url=#{url}").to_s
|
543
543
|
end
|
544
544
|
|
545
545
|
def remove_drain(app_name, url)
|
546
|
-
delete("/apps/#{app_name}/logs/drains?url=#{URI.escape(url)}").to_s
|
546
|
+
delete("/apps/#{escape app_name}/logs/drains?url=#{URI.escape(url)}").to_s
|
547
547
|
end
|
548
548
|
|
549
549
|
def addons(filters = {})
|
@@ -554,7 +554,7 @@ Check the output of "heroku ps" and "heroku logs" for more information.
|
|
554
554
|
end
|
555
555
|
|
556
556
|
def installed_addons(app_name)
|
557
|
-
json_decode get("/apps/#{app_name}/addons", :accept => 'application/json').to_s
|
557
|
+
json_decode get("/apps/#{escape app_name}/addons", :accept => 'application/json').to_s
|
558
558
|
end
|
559
559
|
|
560
560
|
def install_addon(app_name, addon, config={})
|
@@ -571,15 +571,15 @@ Check the output of "heroku ps" and "heroku logs" for more information.
|
|
571
571
|
end
|
572
572
|
|
573
573
|
def database_session(app_name)
|
574
|
-
json_decode(post("/apps/#{app_name}/database/session2", '', :x_taps_version => ::Taps.version).to_s)
|
574
|
+
json_decode(post("/apps/#{escape app_name}/database/session2", '', :x_taps_version => ::Taps.version).to_s)
|
575
575
|
end
|
576
576
|
|
577
577
|
def database_reset(app_name)
|
578
|
-
post("/apps/#{app_name}/database/reset", '').to_s
|
578
|
+
post("/apps/#{escape app_name}/database/reset", '').to_s
|
579
579
|
end
|
580
580
|
|
581
581
|
def httpcache_purge(app_name)
|
582
|
-
delete("/apps/#{app_name}/httpcache").to_s
|
582
|
+
delete("/apps/#{escape app_name}/httpcache").to_s
|
583
583
|
end
|
584
584
|
|
585
585
|
def confirm_billing
|
@@ -685,7 +685,7 @@ Check the output of "heroku ps" and "heroku logs" for more information.
|
|
685
685
|
end
|
686
686
|
|
687
687
|
def addon_path(app_name, addon)
|
688
|
-
"/apps/#{app_name}/addons/#{escape(addon)}"
|
688
|
+
"/apps/#{escape app_name}/addons/#{escape(addon)}"
|
689
689
|
end
|
690
690
|
|
691
691
|
def update_addon(action, path, config)
|
@@ -16,7 +16,7 @@ class Heroku::Client::Cisaurus
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def copy_slug(from, to)
|
19
|
-
authenticated_resource("/v1/apps/#{from}/copy/#{to}").post(json_encode("description" => "Forked from #{from}"), :content_type => :json).headers[:location]
|
19
|
+
authenticated_resource("/v1/apps/#{CGI.escape from}/copy/#{CGI.escape to}").post(json_encode("description" => "Forked from #{from}"), :content_type => :json).headers[:location]
|
20
20
|
end
|
21
21
|
|
22
22
|
def job_done?(job_location)
|
data/lib/heroku/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pogo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.39.2.
|
4
|
+
version: 2.39.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pogoapp-api
|