ubalo 0.15 → 0.16
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.
- data/bin/ubalo +14 -1
- data/lib/ubalo/account.rb +51 -2
- data/lib/ubalo/pod.rb +5 -0
- data/lib/ubalo/tailer.rb +1 -1
- data/lib/ubalo/util.rb +0 -55
- data/lib/ubalo/version.rb +1 -1
- metadata +14 -14
data/bin/ubalo
CHANGED
@@ -259,9 +259,13 @@ end
|
|
259
259
|
|
260
260
|
desc 'Push files to Ubalo'
|
261
261
|
command :push do |c|
|
262
|
+
c.switch :detached
|
263
|
+
|
262
264
|
c.action do |global_options,options,args|
|
263
265
|
pod.push_from(pod_dir)
|
264
|
-
|
266
|
+
unless options.detached
|
267
|
+
pod.tail_process
|
268
|
+
end
|
265
269
|
puts pod.printable_result
|
266
270
|
end
|
267
271
|
end
|
@@ -282,6 +286,15 @@ command 'push-run' do |c|
|
|
282
286
|
end
|
283
287
|
end
|
284
288
|
|
289
|
+
desc 'Cancel a pod compilation'
|
290
|
+
command 'push:cancel' do |c|
|
291
|
+
c.action do |global_options,options,args|
|
292
|
+
pod.cancel_push!
|
293
|
+
pod.tail_process
|
294
|
+
puts pod.printable_result
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
285
298
|
pre do |global,command,options,args|
|
286
299
|
@connect_url = ENV['UBALO_CONNECT_URL'] || "https://ubalo.com"
|
287
300
|
|
data/lib/ubalo/account.rb
CHANGED
@@ -12,10 +12,50 @@ module Ubalo
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def request method, path = nil, options = {}
|
15
|
+
url = url_for(path)
|
16
|
+
headers = ubalo_headers.merge({:accept => :json})
|
17
|
+
|
15
18
|
if authorization and !options[:skip_authorization]
|
16
|
-
|
19
|
+
headers[:authorization] = authorization
|
20
|
+
end
|
21
|
+
|
22
|
+
params = options.delete(:params) || {}
|
23
|
+
|
24
|
+
if Util.debug_mode?
|
25
|
+
$stderr.puts "request method=#{method.inspect} url=#{url.inspect} options=#{options.inspect} headers=#{headers.inspect} params=#{params.inspect}"
|
26
|
+
end
|
27
|
+
|
28
|
+
resource = RestClient::Resource.new url, :timeout => 60
|
29
|
+
case method
|
30
|
+
when :get
|
31
|
+
response = resource.get headers.merge(:params => params)
|
32
|
+
when :post
|
33
|
+
response = resource.post params, headers
|
34
|
+
when :put
|
35
|
+
response = resource.put params, headers
|
36
|
+
when :delete
|
37
|
+
response = resource.delete headers
|
38
|
+
else
|
39
|
+
raise "don't understand request method #{method.inspect}"
|
17
40
|
end
|
18
|
-
|
41
|
+
|
42
|
+
if response.code == 204
|
43
|
+
nil
|
44
|
+
elsif options.delete(:parse) == false
|
45
|
+
response
|
46
|
+
else
|
47
|
+
JSON.load(response)
|
48
|
+
end
|
49
|
+
rescue RestClient::Request::Unauthorized
|
50
|
+
raise Ubalo::Error, "Your credentials are invalid. #{Util.login_suggestion}"
|
51
|
+
rescue RestClient::BadRequest => e
|
52
|
+
if message = JSON.load(e.response.to_s)["upgrade_message"]
|
53
|
+
raise Ubalo::Error, message
|
54
|
+
else
|
55
|
+
raise e
|
56
|
+
end
|
57
|
+
rescue RestClient::BadGateway, RestClient::ServiceUnavailable => e
|
58
|
+
raise Ubalo::Error, "Ubalo is unable to handle your request at this time"
|
19
59
|
end
|
20
60
|
|
21
61
|
def url_for(path)
|
@@ -87,5 +127,14 @@ module Ubalo
|
|
87
127
|
def update_attributes(attributes)
|
88
128
|
@username = attributes['username']
|
89
129
|
end
|
130
|
+
|
131
|
+
def ubalo_headers
|
132
|
+
{
|
133
|
+
'X-Ubalo-Version' => Ubalo.version,
|
134
|
+
'User-Agent' => "ubalo-cli/#{Ubalo.version}",
|
135
|
+
'X-Ruby-Version' => RUBY_VERSION,
|
136
|
+
'X-Ruby-Platform' => RUBY_PLATFORM,
|
137
|
+
}
|
138
|
+
end
|
90
139
|
end
|
91
140
|
end
|
data/lib/ubalo/pod.rb
CHANGED
data/lib/ubalo/tailer.rb
CHANGED
data/lib/ubalo/util.rb
CHANGED
@@ -91,59 +91,6 @@ module Ubalo
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
-
def ubalo_headers
|
95
|
-
{
|
96
|
-
'X-Ubalo-Version' => Ubalo.version,
|
97
|
-
'User-Agent' => "ubalo-cli/#{Ubalo.version}",
|
98
|
-
'X-Ruby-Version' => RUBY_VERSION,
|
99
|
-
'X-Ruby-Platform' => RUBY_PLATFORM,
|
100
|
-
}
|
101
|
-
end
|
102
|
-
|
103
|
-
def http_request(method, url, options)
|
104
|
-
params = options.delete(:params) || {}
|
105
|
-
|
106
|
-
headers = ubalo_headers.merge({:accept => :json})
|
107
|
-
|
108
|
-
if authorization = options.delete(:authorization)
|
109
|
-
headers.merge!(:authorization => authorization)
|
110
|
-
end
|
111
|
-
|
112
|
-
if debug_mode?
|
113
|
-
$stderr.puts "about to #{method.inspect} to #{url.inspect} with #{options.inspect}"
|
114
|
-
end
|
115
|
-
|
116
|
-
resource = RestClient::Resource.new url, :timeout => 60
|
117
|
-
case method
|
118
|
-
when :get
|
119
|
-
response = resource.get headers.merge(:params => params)
|
120
|
-
when :post
|
121
|
-
response = resource.post params, headers
|
122
|
-
when :put
|
123
|
-
response = resource.put params, headers
|
124
|
-
when :delete
|
125
|
-
response = resource.delete headers
|
126
|
-
else
|
127
|
-
raise "don't understand request method #{method.inspect}"
|
128
|
-
end
|
129
|
-
|
130
|
-
if response.code == 204
|
131
|
-
nil
|
132
|
-
elsif options.delete(:parse) == false
|
133
|
-
response
|
134
|
-
else
|
135
|
-
JSON.load(response)
|
136
|
-
end
|
137
|
-
rescue RestClient::Request::Unauthorized
|
138
|
-
raise Ubalo::Error, "Your credentials are invalid. #{login_suggestion}"
|
139
|
-
rescue RestClient::BadRequest => e
|
140
|
-
if message = JSON.load(e.response.to_s)["upgrade_message"]
|
141
|
-
raise Ubalo::Error, message
|
142
|
-
else
|
143
|
-
raise e
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
94
|
def login_suggestion
|
148
95
|
"Please run ubalo login."
|
149
96
|
end
|
@@ -211,11 +158,9 @@ module Ubalo
|
|
211
158
|
end
|
212
159
|
end
|
213
160
|
|
214
|
-
private
|
215
161
|
def debug_mode?
|
216
162
|
ENV['UBALO_DEBUG'] == 'true'
|
217
163
|
end
|
218
|
-
|
219
164
|
end
|
220
165
|
end
|
221
166
|
end
|
data/lib/ubalo/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ubalo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.16'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: gli
|
16
|
-
requirement: &
|
16
|
+
requirement: &70197562743800 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70197562743800
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: highline
|
27
|
-
requirement: &
|
27
|
+
requirement: &70197562711140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70197562711140
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: json
|
38
|
-
requirement: &
|
38
|
+
requirement: &70197562707560 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70197562707560
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rest-client
|
49
|
-
requirement: &
|
49
|
+
requirement: &70197562706240 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.6.3
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70197562706240
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: archive-tar-minitar
|
60
|
-
requirement: &
|
60
|
+
requirement: &70197562705480 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70197562705480
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: launchy
|
71
|
-
requirement: &
|
71
|
+
requirement: &70197562704740 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70197562704740
|
80
80
|
description: CLI and API client for Ubalo
|
81
81
|
email: dev@ubalo.com
|
82
82
|
executables:
|