shelly 0.0.62 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # shelly: Shelly Cloud command line tool [![Build Status](https://secure.travis-ci.org/Ragnarson/shelly.png)](http://travis-ci.org/Ragnarson/shelly.png)
1
+ # Shelly Cloud command line tool [![Build Status](https://secure.travis-ci.org/Ragnarson/shelly.png?branch=master)](http://travis-ci.org/Ragnarson/shelly)
2
2
 
3
3
  ## Installation
4
4
 
@@ -1,3 +1,3 @@
1
1
  module Shelly
2
- VERSION = "0.0.62"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,82 @@
1
+ @name = File.basename(File.expand_path("."))
2
+
3
+ gem_group :development do
4
+ gem 'shelly', '>= 0.0.62'
5
+ end
6
+
7
+ # check if user has account on shelly
8
+ `shelly list`
9
+ if $? != 0
10
+ say_custom "shellycloud", "Please log in or register with Shelly Cloud."
11
+ say_custom "shellycloud", "You can do that by running `shelly login` or `shelly register`"
12
+ exit 1
13
+ end
14
+
15
+ required_dbs = %w[postgresql mongodb redis]
16
+ required_app_servers = %w[thin]
17
+
18
+ selected_db = required_dbs.find { |db| scroll? db }
19
+ unless selected_db
20
+ say_custom "shellycloud", "Please include a DB choice from: #{required_dbs.join ", "}"
21
+ exit_now = true
22
+ end
23
+
24
+ selected_app_server = required_app_servers.find { |app| scroll? app }
25
+ unless selected_app_server
26
+ say_custom "shellycloud", "Please include an App Server choice from: #{required_app_servers.join ", "}"
27
+ exit_now = true
28
+ end
29
+
30
+ exit 1 if exit_now
31
+
32
+ after_everything do
33
+ framework_env = multiple_choice "Which framework environment?", [
34
+ ['Production', 'production'],
35
+ ['Staging', 'staging']
36
+ ]
37
+
38
+ app_name = (@repo_name && @repo_name.size > 0) ? @repo_name : @name
39
+ app_name.gsub!(/\W/, '') # only letters and numbers
40
+ app_name.gsub!("_", "-")
41
+
42
+ instance_size = "large"
43
+ if framework_env == "production"
44
+ say_custom "shellycloud", "Using large instances for production environment"
45
+ else
46
+ say_custom "shellycloud", "Using small instances for staging environment"
47
+ instance_size = "small"
48
+ end
49
+
50
+ code_name = "#{app_name}-#{framework_env}"
51
+
52
+ name = File.basename(".")
53
+ command = "bundle exec shelly add --code_name #{code_name} "
54
+ command += "--databases=#{selected_db} " if selected_db
55
+ command += "--size=#{instance_size}"
56
+
57
+ run command
58
+
59
+ say_custom "shellycloud", "Adding Cloudfile to your repo"
60
+ run "git add Cloudfile"
61
+ run "git commit -m 'Added Cloudfile'"
62
+
63
+ say_custom "shellycloud", "Pushing code to Shelly Cloud"
64
+ sleep(5) # sleep for ssh key to generate on shelly
65
+ run "git push #{code_name} master"
66
+
67
+ say_custom "shellycloud", "Your application in now configured for Shelly Cloud"
68
+ say_custom "shellycloud", "You can start it by running `shelly start`."
69
+ say_custom "shellycloud", "For more information, check https://shellycloud.com/documentation"
70
+ end
71
+
72
+ __END__
73
+
74
+ name: Shelly Cloud
75
+ description: Ruby Cloud Hosting in Europe
76
+ author: grk
77
+
78
+ category: deployment
79
+ exclusive: deployment
80
+
81
+ requires: [compile_assets, serve_static_assets, git, thin]
82
+ run_after: [git]
data/shelly.gemspec CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.add_runtime_dependency "json"
29
29
  s.add_runtime_dependency "progressbar"
30
30
  s.add_runtime_dependency "launchy"
31
+ s.add_runtime_dependency "shelly-dependencies", "~> 0.1.0"
31
32
 
32
33
  s.files = `git ls-files`.split("\n")
33
34
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shelly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.62
4
+ version: 0.1.0
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: 2012-04-11 00:00:00.000000000 Z
12
+ date: 2012-04-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -235,6 +235,22 @@ dependencies:
235
235
  - - ! '>='
236
236
  - !ruby/object:Gem::Version
237
237
  version: '0'
238
+ - !ruby/object:Gem::Dependency
239
+ name: shelly-dependencies
240
+ requirement: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ~>
244
+ - !ruby/object:Gem::Version
245
+ version: 0.1.0
246
+ type: :runtime
247
+ prerelease: false
248
+ version_requirements: !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ~>
252
+ - !ruby/object:Gem::Version
253
+ version: 0.1.0
238
254
  description: Tool for managing applications and clouds at shellycloud.com
239
255
  email:
240
256
  - support@shellycloud.com
@@ -274,6 +290,7 @@ files:
274
290
  - lib/thor/basic.rb
275
291
  - lib/thor/options.rb
276
292
  - lib/thor/thor.rb
293
+ - scrolls/shellycloud.rb
277
294
  - shelly.gemspec
278
295
  - spec/helpers.rb
279
296
  - spec/input_faker.rb
@@ -306,7 +323,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
306
323
  version: '0'
307
324
  segments:
308
325
  - 0
309
- hash: -3764225838662030696
326
+ hash: -3064116673417660281
310
327
  required_rubygems_version: !ruby/object:Gem::Requirement
311
328
  none: false
312
329
  requirements:
@@ -315,10 +332,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
315
332
  version: '0'
316
333
  segments:
317
334
  - 0
318
- hash: -3764225838662030696
335
+ hash: -3064116673417660281
319
336
  requirements: []
320
337
  rubyforge_project: shelly
321
- rubygems_version: 1.8.21
338
+ rubygems_version: 1.8.23
322
339
  signing_key:
323
340
  specification_version: 3
324
341
  summary: Shelly Cloud command line tool