c66 0.1.0 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of c66 might be problematic. Click here for more details.

data/.gitignore CHANGED
@@ -2,6 +2,7 @@
2
2
  *.rbc
3
3
  .bundle
4
4
  .config
5
+ .cloud66
5
6
  .yardoc
6
7
  Gemfile.lock
7
8
  InstalledFiles
@@ -88,7 +88,7 @@ module C66
88
88
 
89
89
  def save_config
90
90
  if !File.directory?(c66_path)
91
- Dir.mkdir_p(c66_path)
91
+ Dir.mkdir(c66_path)
92
92
  end
93
93
 
94
94
  File.open(config_file,"w") do |f|
@@ -96,30 +96,19 @@ module C66
96
96
  end
97
97
  end
98
98
 
99
- def save_stack(stack_id)
100
- if !File.directory?(stack_path)
101
- Dir.mkdir(stack_path)
102
- end
103
- @stack_json = { :stack_id => stack_id}
104
- File.open(stack_file,"w") do |f|
105
- f.write(@stack_json.to_json)
106
- end
107
- @stack = stack_id
108
- say "Stack #{stack_id} saved to #{stack_file}"
109
- end
110
-
111
99
  def load_stack
112
100
  if File.exists?(stack_file)
113
101
  if @stack = JSON.load(IO.read(stack_file))['stack_id']
114
102
  say "Stack #{@stack} loaded."
115
- else
116
- abort "No stack id found at #{stack_file}"
117
103
  end
118
- else
119
- say("No stack saved at #{stack_file}.")
120
104
  end
121
105
  end
122
106
 
107
+ def abort_no_stack
108
+ abort "No stack provided or saved, please use '--stack' or '-s' option. "\
109
+ "You can also use the 'save' method with '--stack' or '-s' option."
110
+ end
111
+
123
112
  def load_params
124
113
  if File.exists?(params_file) && File.size(params_file)!=0
125
114
  begin
@@ -147,7 +136,7 @@ module C66
147
136
  end
148
137
 
149
138
  def get_stack(stack)
150
- save_stack(stack) if stack
139
+ @stack=stack
151
140
  load_stack if stack.nil?
152
141
  end
153
142
 
@@ -173,9 +162,21 @@ module C66
173
162
  end
174
163
  end
175
164
 
165
+ def error_message(error)
166
+ begin
167
+ if (error.response.parsed.has_key? 'details')
168
+ puts error.response.parsed['details']
169
+ else
170
+ puts error.response.parsed['error_description']
171
+ end
172
+ rescue => e
173
+ abort e.message
174
+ end
175
+ end
176
+
176
177
  def self.get_version
177
178
  begin
178
- JSON.load(HTTParty.get(VERSION_FILE)).fetch("version")
179
+ JSON.load(HTTParty.get(VERSION_FILE).response.body).fetch("version")
179
180
  rescue => e
180
181
  puts "Failed to retrieve the latest version of Cloud 66 Toolbelt, please contact us"
181
182
  end
@@ -190,7 +191,7 @@ module C66
190
191
  when -1
191
192
  puts "There is a new version of Cloud66 Toolbelt. Pease run \"gem update #{CLIENT_NAME}\"."
192
193
  end
193
- end
194
+ end
194
195
  }
195
196
 
196
197
  package_name "Cloud 66 Toolbelt"
@@ -226,14 +227,18 @@ module C66
226
227
 
227
228
  desc "list", "Lists all the stacks"
228
229
  def list
229
- response = parse_response(token.get("#{base_url}/stacks.json"))
230
+ begin
231
+ response = parse_response(token.get("#{base_url}/stacks.json"))
230
232
 
231
- if response['count'] != 0
232
- response['response'].each do |stack|
233
- say "#{stack['name']} (#{stack['uid']}) : #{stack['environment']} - #{STATUS[stack['status']]}"
233
+ if response['count'] != 0
234
+ response['response'].each do |stack|
235
+ say "#{stack['name']} (#{stack['uid']}) : #{stack['environment']} - #{STATUS[stack['status']]}"
236
+ end
237
+ else
238
+ say "No stacks found"
234
239
  end
235
- else
236
- say "No stacks found"
240
+ rescue OAuth2::Error => e
241
+ error_message(e)
237
242
  end
238
243
  end
239
244
 
@@ -242,7 +247,7 @@ module C66
242
247
  def settings()
243
248
  begin
244
249
  get_stack(options[:stack])
245
- abort "No stack provided or saved, please use '--stack' or '-s' option" if @stack.nil?
250
+ abort_no_stack if @stack.nil?
246
251
  response = token.get("#{base_url}/stacks/#{@stack}/settings.json")
247
252
  settings = JSON.parse(response.body)['response']
248
253
 
@@ -252,7 +257,7 @@ module C66
252
257
  say "#{setting['key']}\t\t#{setting['value']}\t#{setting['readonly'] ? '(readonly)' : ''}\r\n"
253
258
  end
254
259
  rescue OAuth2::Error => e
255
- abort e.message
260
+ error_message(e)
256
261
  end
257
262
  end
258
263
 
@@ -263,11 +268,11 @@ module C66
263
268
  def set()
264
269
  begin
265
270
  get_stack(options[:stack])
266
- abort "No stack provided or saved, please use '--stack' or '-s' option" if @stack.nil?
271
+ abort_no_stack if @stack.nil?
267
272
  response = token.post("#{base_url}/stacks/#{@stack}/setting.json", { :body => { :setting_name => options[:setting_name], :setting_value => options[:value] }})
268
- say "Setting applied" if JSON.parse(response.body)['response']['ok']
273
+ say "Setting applied: '#{options[:value]}' to '#{options[:setting_name]}'" if JSON.parse(response.body)['response']['ok']
269
274
  rescue OAuth2::Error => e
270
- abort e.message
275
+ error_message(e)
271
276
  end
272
277
  end
273
278
 
@@ -276,12 +281,27 @@ module C66
276
281
  def deploy()
277
282
  begin
278
283
  get_stack(options[:stack])
279
- abort "No stack provided or saved, please use '--stack' or '-s' option" if @stack.nil?
284
+ abort_no_stack if @stack.nil?
280
285
  response = token.post("#{base_url}/stacks/#{@stack}/redeploy.json", {})
281
286
  say JSON.parse(response.body)['response']['message']
282
287
  rescue OAuth2::Error => e
283
- abort "Could't find your stack, maybe it was moved, deleted or you accidentally mistyped the stack ID"
288
+ error_message(e)
289
+ end
290
+ end
291
+
292
+ desc "save", "Save the given stack to simplify following commands"
293
+ option :stack, :aliases => "-s", :required => true
294
+ def save()
295
+ if !File.directory?(stack_path)
296
+ Dir.mkdir(stack_path)
297
+ end
298
+ @stack_json = { :stack_id => options[:stack]}
299
+ File.open(stack_file,"w") do |f|
300
+ f.write(@stack_json.to_json)
284
301
  end
302
+ @stack = options[:stack]
303
+ say "Linked stack #{options[:stack]} to #{stack_file}. "\
304
+ "You are now able to use other commands without specify the stack UID."
285
305
  end
286
306
  end
287
307
  end
@@ -1,6 +1,6 @@
1
1
  module C66
2
2
  module Utils
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.6"
4
4
  end
5
5
  end
6
6
 
metadata CHANGED
@@ -1,123 +1,169 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: c66
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 6
10
+ version: 0.1.6
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Cloud 66
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2013-07-10 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-07-12 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: bundler
16
- requirement: &70093107966800 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '1.3'
27
+ - !ruby/object:Gem::Version
28
+ hash: 9
29
+ segments:
30
+ - 1
31
+ - 3
32
+ version: "1.3"
22
33
  type: :runtime
23
- prerelease: false
24
- version_requirements: *70093107966800
25
- - !ruby/object:Gem::Dependency
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
26
36
  name: rake
27
- requirement: &70093107966180 !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
28
39
  none: false
29
- requirements:
40
+ requirements:
30
41
  - - ~>
31
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
43
+ hash: 75
44
+ segments:
45
+ - 10
46
+ - 1
47
+ - 0
32
48
  version: 10.1.0
33
49
  type: :runtime
34
- prerelease: false
35
- version_requirements: *70093107966180
36
- - !ruby/object:Gem::Dependency
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
37
52
  name: thor
38
- requirement: &70093107965480 !ruby/object:Gem::Requirement
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
39
55
  none: false
40
- requirements:
56
+ requirements:
41
57
  - - ~>
42
- - !ruby/object:Gem::Version
58
+ - !ruby/object:Gem::Version
59
+ hash: 85
60
+ segments:
61
+ - 0
62
+ - 18
63
+ - 1
43
64
  version: 0.18.1
44
65
  type: :runtime
45
- prerelease: false
46
- version_requirements: *70093107965480
47
- - !ruby/object:Gem::Dependency
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
48
68
  name: oauth2
49
- requirement: &70093107964520 !ruby/object:Gem::Requirement
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
50
71
  none: false
51
- requirements:
72
+ requirements:
52
73
  - - ~>
53
- - !ruby/object:Gem::Version
74
+ - !ruby/object:Gem::Version
75
+ hash: 63
76
+ segments:
77
+ - 0
78
+ - 9
79
+ - 2
54
80
  version: 0.9.2
55
81
  type: :runtime
56
- prerelease: false
57
- version_requirements: *70093107964520
58
- - !ruby/object:Gem::Dependency
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
59
84
  name: json
60
- requirement: &70093107963280 !ruby/object:Gem::Requirement
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
61
87
  none: false
62
- requirements:
88
+ requirements:
63
89
  - - ~>
64
- - !ruby/object:Gem::Version
90
+ - !ruby/object:Gem::Version
91
+ hash: 5
92
+ segments:
93
+ - 1
94
+ - 7
95
+ - 7
65
96
  version: 1.7.7
66
97
  type: :runtime
67
- prerelease: false
68
- version_requirements: *70093107963280
69
- - !ruby/object:Gem::Dependency
98
+ version_requirements: *id005
99
+ - !ruby/object:Gem::Dependency
70
100
  name: httparty
71
- requirement: &70093107962820 !ruby/object:Gem::Requirement
101
+ prerelease: false
102
+ requirement: &id006 !ruby/object:Gem::Requirement
72
103
  none: false
73
- requirements:
104
+ requirements:
74
105
  - - ~>
75
- - !ruby/object:Gem::Version
106
+ - !ruby/object:Gem::Version
107
+ hash: 51
108
+ segments:
109
+ - 0
110
+ - 11
111
+ - 0
76
112
  version: 0.11.0
77
113
  type: :runtime
78
- prerelease: false
79
- version_requirements: *70093107962820
114
+ version_requirements: *id006
80
115
  description: See https://www.cloud66.com for more info
81
- email:
116
+ email:
82
117
  - hello@cloud66.com
83
- executables:
84
- - c66.rb
118
+ executables:
119
+ - c66
85
120
  extensions: []
121
+
86
122
  extra_rdoc_files: []
87
- files:
123
+
124
+ files:
88
125
  - .gitignore
89
126
  - Gemfile
90
127
  - LICENSE.txt
91
128
  - README.md
92
129
  - Rakefile
93
- - bin/c66.rb
130
+ - bin/c66
94
131
  - c66.gemspec
95
132
  - lib/c66.rb
96
133
  - lib/c66/commands/c66_toolbelt.rb
97
134
  - lib/c66/utils/version.rb
98
135
  homepage: https://www.cloud66.com
99
- licenses:
136
+ licenses:
100
137
  - MIT
101
138
  post_install_message:
102
139
  rdoc_options: []
103
- require_paths:
140
+
141
+ require_paths:
104
142
  - lib
105
- required_ruby_version: !ruby/object:Gem::Requirement
143
+ required_ruby_version: !ruby/object:Gem::Requirement
106
144
  none: false
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ hash: 3
149
+ segments:
150
+ - 0
151
+ version: "0"
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
153
  none: false
113
- requirements:
114
- - - ! '>='
115
- - !ruby/object:Gem::Version
116
- version: '0'
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 3
158
+ segments:
159
+ - 0
160
+ version: "0"
117
161
  requirements: []
162
+
118
163
  rubyforge_project:
119
- rubygems_version: 1.8.15
164
+ rubygems_version: 1.8.12
120
165
  signing_key:
121
166
  specification_version: 3
122
167
  summary: Cloud 66 Toolbelt
123
168
  test_files: []
169
+
File without changes