ubalo 0.0.23 → 0.0.24

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.
Files changed (4) hide show
  1. data/bin/ubalo +13 -11
  2. data/lib/ubalo.rb +19 -9
  3. data/lib/ubalo/version.rb +1 -1
  4. metadata +11 -10
data/bin/ubalo CHANGED
@@ -120,11 +120,13 @@ command :tasks do |c|
120
120
  end
121
121
  end
122
122
 
123
- def process_download response, destination_path=nil
124
- name = response.fetch('name')
125
- fullname = response.fetch('fullname')
126
- url = response.fetch('url')
127
- files = response.fetch('files')
123
+ def process_download pod_response, files_response, destination_path=nil
124
+ name = pod_response.fetch('name')
125
+ fullname = pod_response.fetch('fullname')
126
+ url = pod_response.fetch('url')
127
+
128
+ files = files_response.fetch('files')
129
+
128
130
  destination_path ||= name
129
131
 
130
132
  if File.exists?(destination_path)
@@ -142,7 +144,7 @@ def process_download response, destination_path=nil
142
144
  local_filename = File.join(destination_path, filename)
143
145
  FileUtils.mkdir_p(File.dirname(local_filename))
144
146
  File.open(local_filename, "w") do |f|
145
- f.puts content
147
+ f.write content
146
148
  end
147
149
  end
148
150
 
@@ -157,9 +159,9 @@ command :get do |c|
157
159
  destination_path = args.shift
158
160
 
159
161
  $stderr.print "Fetching files for #{pod_name}..."
160
- response = ubalo.download(pod_name)
162
+ pod_response, files_response = ubalo.download(pod_name)
161
163
 
162
- fullname, destination_path = process_download(response)
164
+ fullname, destination_path = process_download(pod_response, files_response)
163
165
  $stderr.puts " done."
164
166
  $stderr.puts "Retrieved #{fullname} into #{destination_path}."
165
167
  end
@@ -207,9 +209,9 @@ command :create do |c|
207
209
  end
208
210
 
209
211
  $stderr.print "Creating a new #{template_name} pod called #{pod_name}..."
210
- response = ubalo.create_pod(pod_name, template_name)
212
+ pod_response, files_response = ubalo.create_pod(pod_name, template_name)
211
213
 
212
- fullname, destination_path = process_download(response)
214
+ fullname, destination_path = process_download(pod_response, files_response)
213
215
 
214
216
  $stderr.puts " done."
215
217
  $stderr.puts "Created #{fullname} and placed in #{destination_path}/."
@@ -323,7 +325,7 @@ command :pull do |c|
323
325
  menu.prompt = "Changes made to #{filename}. Overwrite your copy? "
324
326
  menu.choice :yes do
325
327
  open(filename, 'w') do |f|
326
- f.puts files.fetch(filename)
328
+ f.write files.fetch(filename)
327
329
  end
328
330
  puts "Changes saved to #{filename}."
329
331
  end
data/lib/ubalo.rb CHANGED
@@ -131,19 +131,22 @@ class Ubalo
131
131
  @base_url = base_url
132
132
  end
133
133
 
134
- def request(method, url, params)
134
+ def raw_request(method, url, params)
135
135
  if method == :get
136
- response = RestClient.get url, add_headers(:params => params, :accept => :json)
136
+ RestClient.get url, add_headers(:params => params, :accept => :json)
137
137
  elsif method == :post
138
- response = RestClient.post url, params, add_headers(:accept => :json)
138
+ RestClient.post url, params, add_headers(:accept => :json)
139
139
  elsif method == :put
140
- response = RestClient.put url, params, add_headers(:accept => :json)
140
+ RestClient.put url, params, add_headers(:accept => :json)
141
141
  elsif method == :delete
142
- response = RestClient.delete url, add_headers(:accept => :json)
142
+ RestClient.delete url, add_headers(:accept => :json)
143
143
  else
144
144
  raise "don't understand request method #{method.inspect}"
145
145
  end
146
- parse(response)
146
+ end
147
+
148
+ def request(method, url, params)
149
+ parse(raw_request(method, url, params))
147
150
  end
148
151
 
149
152
  def post(url, params={})
@@ -199,7 +202,7 @@ class Ubalo
199
202
  end
200
203
 
201
204
  def download(pod_name)
202
- get("#{base_url}/pods/#{pod_name}/files")
205
+ [get("#{base_url}/pods/#{pod_name}"), get_files(pod_name)]
203
206
  end
204
207
 
205
208
  def pods
@@ -243,11 +246,18 @@ class Ubalo
243
246
  end
244
247
 
245
248
  def create_pod name, template
246
- post("#{base_url}/templates/#{template}/pods", :pod => {:name => name})
249
+ pod_response = post("#{base_url}/templates/#{template}/pods", :pod => {:name => name})
250
+ files_response = get_files(pod_response.fetch('fullname'))
251
+
252
+ [pod_response, files_response]
253
+ end
254
+
255
+ def get_files fullname
256
+ get("#{base_url}/pods/#{fullname}/files")
247
257
  end
248
258
 
249
259
  def push pod_url, files
250
- post("#{pod_url}/files", :files => files)
260
+ raw_request(:put, "#{pod_url}/files", :files => files)
251
261
  end
252
262
 
253
263
  def pull pod_url
data/lib/ubalo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class Ubalo
2
2
  unless const_defined?('VERSION')
3
- VERSION = "0.0.23"
3
+ VERSION = "0.0.24"
4
4
  end
5
5
  end
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.0.23
4
+ version: 0.0.24
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-03-14 00:00:00.000000000 Z
12
+ date: 2012-03-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: gli
16
- requirement: &70245226856660 !ruby/object:Gem::Requirement
16
+ requirement: &70365296916080 !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: *70245226856660
24
+ version_requirements: *70365296916080
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: highline
27
- requirement: &70245226856180 !ruby/object:Gem::Requirement
27
+ requirement: &70365296914740 !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: *70245226856180
35
+ version_requirements: *70365296914740
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &70245226855760 !ruby/object:Gem::Requirement
38
+ requirement: &70365296913720 !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: *70245226855760
46
+ version_requirements: *70365296913720
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rest-client
49
- requirement: &70245226855240 !ruby/object:Gem::Requirement
49
+ requirement: &70365296909400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 1.6.3
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70245226855240
57
+ version_requirements: *70365296909400
58
58
  description: CLI and API client for Ubalo
59
59
  email: dev@ubalo.com
60
60
  executables:
@@ -90,3 +90,4 @@ signing_key:
90
90
  specification_version: 3
91
91
  summary: CLI and API client for Ubalo
92
92
  test_files: []
93
+ has_rdoc: