tol 0.0.6 → 0.0.9

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ab6e6a19ac970ed9d4bc706e4b8438d6730f0a8c
4
+ data.tar.gz: 2457cfa0d43abedcbce76b1e3de68c5d157d4597
5
+ SHA512:
6
+ metadata.gz: d6ce0d708e2a1b3ef00306aef74ae8158c65b112213617f8d69e970aa4a58a0b41a485a207e616cb752dad29ef2036bb4d680457d2a52f89a58267fe580efa29
7
+ data.tar.gz: 9533bfb7334f3a2b27431802c19aa0b9347ae52607fcdebd96ea9e03a9e35cfcd82390574b9d92fcc21b9efacbfac24a438998b8cb89e5935659254625b2db05
@@ -1,5 +1,7 @@
1
1
  require 'tol/database'
2
2
  require 'tol/codecheck'
3
+ require 'tol/newapp'
4
+ require 'tol/heroku'
3
5
 
4
6
  module Tol
5
7
  class CLI
@@ -14,6 +16,14 @@ class CLI
14
16
  Tol::Database.new.run
15
17
  when "codecheck"
16
18
  Tol::Codecheck.new.run
19
+ when "newapp:aws"
20
+ Tol::Newapp.new.awsbuckets
21
+ when "newapp:heroku"
22
+ Tol::Newapp.new.heroku
23
+ when "newapp:www"
24
+ Tol::Newapp.new.www_redirect
25
+ when "heroku:deploy"
26
+ Tol::Heroku.new.deploy
17
27
  else
18
28
  help
19
29
  end
@@ -21,24 +31,36 @@ class CLI
21
31
  end
22
32
 
23
33
  def help
24
- puts " #{"Take Off Labs".foreground(:green).underline} :: " +
25
- "#{"A collection of useful tools for Rails development".underline}\n\n"
34
+ puts " #{Rainbow("Take Off Labs").foreground(:green).underline} :: " +
35
+ "#{Rainbow("A collection of useful tools for Rails development").underline}\n\n"
26
36
 
27
37
  database_help
28
38
  codecheck_help
39
+ newapp_help
40
+ heroku_help
29
41
  help_help
30
42
  end
31
43
 
32
44
  def database_help
33
- puts " #{"tol db".foreground(:red)} \# Copies the latest version of the database from Heroku to the local development system."
45
+ puts " #{Rainbow("tol db").foreground(:red)} \# Copies the latest version of the database from Heroku to the local development system."
34
46
  end
35
47
 
36
48
  def codecheck_help
37
- puts " #{"tol codecheck".foreground(:red)} \# Checks the code for left over binding.pry or console.log."
49
+ puts " #{Rainbow("tol codecheck").foreground(:red)} \# Checks the code for left over binding.pry or console.log."
50
+ end
51
+
52
+ def newapp_help
53
+ puts " #{Rainbow("tol newapp:aws").foreground(:red)} \# Set up Amazon Web Services S3 Buckets + (Carrierwave & Asset Sync)."
54
+ puts " #{Rainbow("tol newapp:heroku").foreground(:red)} \# Set up Heroku."
55
+ puts " #{Rainbow("tol newapp:www").foreground(:red)} \# Set up a middleware that redirects non-www to www."
56
+ end
57
+
58
+ def heroku_help
59
+ puts " #{Rainbow("tol heroku:deploy").foreground(:red)} \# Deploy the app to Heroku."
38
60
  end
39
61
 
40
62
  def help_help
41
- puts " #{"tol help".foreground(:red)} \# Displays this help message."
63
+ puts " #{Rainbow("tol help").foreground(:red)} \# Displays this help message."
42
64
  end
43
65
  end
44
66
  end
@@ -17,30 +17,30 @@ class Codecheck
17
17
  end
18
18
 
19
19
  def check_for_binding_pry
20
- puts "Checking for binding.pry".foreground(:yellow)
20
+ puts Rainbow("Checking for binding.pry").foreground(:yellow)
21
21
  result = `find . -name "*.rb" -exec grep -H "binding.pry" {} \\\;`
22
22
  if result.length > 0
23
- puts "The following binding.pry's have been found".foreground(:red)
23
+ puts Rainbow("The following binding.pry's have been found").foreground(:red)
24
24
  result.split("\n").each do |res|
25
25
  puts res[0..self.terminal_columns - 2]
26
26
  end
27
- puts "Please fix".foreground(:red)
27
+ puts Rainbow("Please fix").foreground(:red)
28
28
  else
29
- puts "No binding.pry's found".foreground(:green)
29
+ puts Rainbow("No binding.pry's found").foreground(:green)
30
30
  end
31
31
  end
32
32
 
33
33
  def check_for_console_log
34
- puts "Checking for console.log".foreground(:yellow)
34
+ puts Rainbow("Checking for console.log").foreground(:yellow)
35
35
  result = `find . -name "*.js*" -exec grep -H "console.log" {} \\\;`
36
36
  if result.length > 0
37
- puts "The following console.log's have been found".foreground(:red)
37
+ puts Rainbow("The following console.log's have been found").foreground(:red)
38
38
  result.split("\n").each do |res|
39
39
  puts res[0..self.terminal_columns - 2]
40
40
  end
41
- puts "Please fix!".foreground(:red)
41
+ puts Rainbow("Please fix!").foreground(:red)
42
42
  else
43
- puts "No console.log's found".foreground(:green)
43
+ puts Rainbow("No console.log's found").foreground(:green)
44
44
  end
45
45
  end
46
46
  end
@@ -0,0 +1,34 @@
1
+ module Tol
2
+ class Config
3
+ require 'rainbow'
4
+ require 'highline/import'
5
+
6
+ require 'yaml'
7
+ require 'etc'
8
+
9
+ def self.read_config
10
+ keys = ["collaborators", "awskey", "awssecret"]
11
+ config = {}
12
+
13
+ begin
14
+ global = YAML::load(IO.read("/Users/#{Etc.getlogin}/tol.yml"))
15
+ config.merge!(global)
16
+ rescue
17
+ end
18
+
19
+ begin
20
+ local = YAML::load(IO.read("tol.yml"))
21
+ config.merge!(local)
22
+ rescue
23
+ end
24
+
25
+ return config
26
+ end
27
+
28
+ def self.get_option(key)
29
+ config = self.read_config
30
+ return config[key]
31
+ end
32
+
33
+ end
34
+ end
@@ -12,11 +12,13 @@ class Database
12
12
  apps = Tol::Heroku.new.list_of_applications
13
13
 
14
14
  if apps.length == 0
15
- puts "No Heroku apps found".foreground(:red)
15
+ puts Rainbow("No Heroku apps found").foreground(:red)
16
+ puts "Add your remotes to .git/config"
17
+ # TODO: Automatically add remotes
16
18
  elsif apps.length == 1
17
19
  download(apps[0])
18
20
  else
19
- puts "Multiple Heroku apps found".foreground(:green)
21
+ puts Rainbow("Multiple Heroku apps found").foreground(:green)
20
22
 
21
23
  choose do |menu|
22
24
  menu.prompt = "Which database should I download?"
@@ -32,13 +34,13 @@ class Database
32
34
  end
33
35
 
34
36
  def download(heroku_app)
35
- puts "Downloading database for #{heroku_app.underline}".foreground(:green)
37
+ puts Rainbow("Downloading database for #{heroku_app.underline}").foreground(:green)
36
38
 
37
- puts "Step 1. Detecting local database settings.".foreground(:yellow)
39
+ puts Rainbow("Step 1. Detecting local database settings.").foreground(:yellow)
38
40
  @settings = Tol::RailsApp.new.database_settings["development"]
39
41
 
40
42
  choose do |menu|
41
- puts "Step 2. Which version of the database should I download?".foreground(:green)
43
+ puts Rainbow("Step 2. Which version of the database should I download?").foreground(:green)
42
44
 
43
45
  menu.prompt = "Please pick up database version?"
44
46
 
@@ -49,7 +51,7 @@ class Database
49
51
  end
50
52
 
51
53
  menu.choice "Most Recent Snapshot (Fast)" do
52
- puts "... Downloading. Please wait.".foreground(:yellow)
54
+ puts Rainbow("... Downloading. Please wait.").foreground(:yellow)
53
55
  url = ""
54
56
  Bundler.with_clean_env do
55
57
  url = `heroku pgbackups:url --app #{heroku_app}`
@@ -58,13 +60,13 @@ class Database
58
60
  end
59
61
 
60
62
  menu.choice "New Snapshot (Slowest)" do
61
- puts "... Capturing database on Heroku. Please wait".foreground(:yellow)
63
+ puts Rainbow("... Capturing database on Heroku. Please wait").foreground(:yellow)
62
64
  db = ""
63
65
  Bundler.with_clean_env do
64
66
  db = `heroku pgbackups:capture --app #{heroku_app} --expire`
65
67
  end
66
68
 
67
- puts "... Downloading. Please wait.".foreground(:yellow)
69
+ puts Rainbow("... Downloading. Please wait.").foreground(:yellow)
68
70
  url = ""
69
71
  Bundler.with_clean_env do
70
72
  url = `heroku pgbackups:url --app #{heroku_app}`
@@ -1,10 +1,66 @@
1
+ require 'tol/config'
2
+ require 'bundler'
3
+
1
4
  module Tol
2
5
  class Heroku
6
+ require 'rainbow'
7
+ require 'highline/import'
8
+
3
9
  def list_of_applications
4
10
  git_config = File.read(".git/config")
5
11
  git_config.scan(/heroku\..*:(.*)\.git/i).map do |result|
6
12
  result[0]
7
13
  end
8
14
  end
15
+
16
+ def deploy
17
+ puts Rainbow("Deploying to Heroku").foreground(:green)
18
+
19
+ puts "Identifying git branch"
20
+ branch = `git rev-parse --abbrev-ref HEAD`.gsub("\n", "")
21
+
22
+ puts "Identified local branch #{Rainbow(branch).foreground(:green)}. Please confirm."
23
+ choose do |menu|
24
+ menu.prompt = "Continue?"
25
+
26
+ menu.choice "Yes" do
27
+ end
28
+
29
+ menu.choice "No" do
30
+ return
31
+ end
32
+ end
33
+
34
+ puts "Identifying Heroku application"
35
+ apps = list_of_applications
36
+ if apps.length == 0
37
+ puts Rainbow("No Heroku apps found").foreground(:red)
38
+ puts "Add your remotes to .git/config"
39
+ # TODO: Automatically add remotes
40
+ elsif apps.length == 1
41
+ deploy_to(apps[0], branch)
42
+ else
43
+ puts Rainbow("Multiple Heroku apps found").foreground(:green)
44
+
45
+ choose do |menu|
46
+ menu.prompt = "Where to deploy?"
47
+ apps.each do |app|
48
+ menu.choice app do
49
+ deploy_to(app, branch)
50
+ end
51
+ end
52
+
53
+ menu.choice "None"
54
+ end
55
+ end
56
+ end
57
+
58
+ def deploy_to(remote, branch)
59
+ Bundler.with_clean_env do
60
+ system("git push -f #{remote} #{branch}:master")
61
+ system("heroku run rake db:migrate --remote #{remote}")
62
+ system("heroku restart --remote #{remote}")
63
+ end
64
+ end
9
65
  end
10
66
  end
@@ -0,0 +1,378 @@
1
+ require 'tol/config'
2
+
3
+ module Tol
4
+ class Newapp
5
+ require 'rainbow'
6
+ require 'highline/import'
7
+ require 'aws-sdk'
8
+ require 'fileutils'
9
+
10
+ # TODO: Create real config file.
11
+ # TODO: Save remotes in config file. Create command to add them to .git/config
12
+
13
+ # Setup the buckets
14
+ def awsbuckets
15
+ puts Rainbow("Step 1. Creating AWS buckets").foreground(:green)
16
+
17
+ puts "Please enter the name of the application:"
18
+ name = STDIN.gets.gsub("\n", "")
19
+
20
+ region = ""
21
+ choose do |menu|
22
+ menu.prompt = "Which region?"
23
+ menu.choice "US Standard" do region = "us-east-1" end
24
+ menu.choice "US West (Oregon)" do region = "us-west-2" end
25
+ menu.choice "US West (N. California)" do region = "us-west-1" end
26
+ menu.choice "EU (Ireland)" do region = "eu-west-1" end
27
+ menu.choice "Asia (Singapore)" do region = "ap-southeast-1" end
28
+ menu.choice "Asia (Sydney)" do region = "ap-southeast-2" end
29
+ menu.choice "Asia (Tokyo)" do region = "ap-northeast-1" end
30
+ menu.choice "S. America (Sao Paolo)" do region = "sa-east-1" end
31
+ end
32
+
33
+ AWS.config(
34
+ access_key_id: Tol::Config.get_option("awskey"),
35
+ secret_access_key: Tol::Config.get_option("awssecret"),
36
+ region: region
37
+ )
38
+
39
+ ["assets", "production", "development", "staging"].each do |suffix|
40
+ create_bucket("#{name}-#{suffix}")
41
+ end
42
+
43
+ puts Rainbow("Step 2. Carrierwave").foreground(:green)
44
+
45
+ choose do |menu|
46
+ menu.prompt = "Using carrierwave?"
47
+ menu.choice "Yes" do
48
+ create_carrierwave_config(name, region)
49
+
50
+ # TODO: Add gem to gemfile automatically
51
+ puts Rainbow("Add the following line to Gemfile").foreground(:green)
52
+ puts "gem carrierwave"
53
+ puts ""
54
+ end
55
+
56
+ menu.choice "No" do end
57
+ end
58
+
59
+ puts "Step 3. Asset Sync"
60
+
61
+ choose do |menu|
62
+ menu.prompt = "Using asset sync?"
63
+ menu.choice "Yes" do
64
+ create_asset_sync_config(name, region)
65
+
66
+ # TODO: Add gem to gemfile automatically
67
+ puts Rainbow("Add the following line to Gemfile").foreground(:green)
68
+ puts "gem asset_sync"
69
+ puts ""
70
+
71
+ # TODO: Settings in production.rb, staging.rb automatically
72
+ puts Rainbow("Add the following line to " + \
73
+ "config/environments/production.rb").foreground(:green)
74
+ puts "config.action_controller.asset_host = 'https://#{name}-assets.s3.amazonaws.com'"
75
+
76
+ puts Rainbow("Add the following line to " + \
77
+ "config/environments/staging.rb").foreground(:green)
78
+ puts "config.action_controller.asset_host = 'https://#{name}-assets.s3.amazonaws.com'"
79
+ end
80
+ menu.choice "No"
81
+ end
82
+ end
83
+
84
+ def create_bucket(name)
85
+ puts Rainbow("Creating bucket #{name}").foreground(:yellow)
86
+ s3 = AWS::S3.new
87
+ bucket = s3.buckets.create(name)
88
+ bucket.cors.set(
89
+ :allowed_methods => %w(GET),
90
+ :allowed_origins => %w(*),
91
+ :max_age_seconds => 3600
92
+ )
93
+ end
94
+
95
+ def create_carrierwave_config(name, region)
96
+ aws_key = Tol::Config.get_option("awskey")
97
+ aws_secret = Tol::Config.get_option("awssecret")
98
+
99
+ content = <<-eos
100
+ CarrierWave.configure do |config|
101
+ config.fog_credentials = {
102
+ provider: 'AWS',
103
+ aws_access_key_id: '#{aws_key}',
104
+ aws_secret_access_key: '#{aws_secret}',
105
+ region: '#{region}'
106
+ }
107
+ config.fog_directory = "#{name}-" + Rails.env
108
+ end
109
+ eos
110
+ File.open("config/initializers/carrierwave.rb", "w") do |f|
111
+ f.write(content)
112
+ end
113
+ end
114
+
115
+ def create_asset_sync_config(name, region)
116
+ aws_key = Tol::Config.get_option("awskey")
117
+ aws_secret = Tol::Config.get_option("awssecret")
118
+
119
+ content = <<-eos
120
+ if defined?(AssetSync)
121
+ AssetSync.configure do |config|
122
+ config.fog_provider = 'AWS'
123
+ config.aws_access_key_id = '#{aws_key}'
124
+ config.aws_secret_access_key = '#{aws_secret}'
125
+ config.fog_directory = "#{name}-assets"
126
+ config.fog_region = "#{region}"
127
+ end
128
+ end
129
+ eos
130
+
131
+ File.open("config/initializers/asset_sync.rb", "w") do |f|
132
+ f.write(content)
133
+ end
134
+ end
135
+
136
+ # New APP
137
+ # Generate a new Heroku application
138
+ def heroku
139
+ puts Rainbow("Step 1. Create new Heroku application").foreground(:green)
140
+
141
+ puts "Please enter the name of the new Heroku application:"
142
+ name = STDIN.gets.gsub("\n", "")
143
+
144
+ createapp = nil
145
+ Bundler.with_clean_env do
146
+ createapp = `heroku create #{name}`
147
+ end
148
+
149
+ if !createapp.include?("done, stack is cedar")
150
+ puts createapp
151
+ choose do |menu|
152
+ menu.prompt = "Continue?"
153
+
154
+ menu.choice "Yes" do
155
+ end
156
+
157
+ menu.choice "No" do
158
+ return
159
+ end
160
+ end
161
+ end
162
+
163
+ environment(name)
164
+ collaborators(name)
165
+ database(name)
166
+ domains(name)
167
+ email(name)
168
+ asset_sync(name)
169
+ end
170
+
171
+ # Set up multi-environment system, if necessary (e.g., staging and production)
172
+ def environment(app)
173
+ choose do |menu|
174
+ puts Rainbow("Step 2. Adding the Rails environment").foreground(:green)
175
+
176
+ menu.prompt = "Which environment?"
177
+
178
+ menu.choice "production" do
179
+ Bundler.with_clean_env do
180
+ system("heroku config:set RACK_ENV=production RAILS_ENV=production --app #{app}")
181
+ end
182
+ end
183
+
184
+ menu.choice "staging" do
185
+ Bundler.with_clean_env do
186
+ system("heroku config:set RACK_ENV=staging RAILS_ENV=staging --app #{app}")
187
+ system("cp config/environments/production.rb config/environments/staging.rb")
188
+ end
189
+ end
190
+ end
191
+ end
192
+
193
+ # Adding collaborators
194
+ def collaborators(app)
195
+ choose do |menu|
196
+ puts Rainbow("Step 3. Adding collaborators").foreground(:green)
197
+ menu.prompt = "Which collaborators?"
198
+
199
+ menu.choice "Default" do
200
+ Tol::Config.get_option("collaborators").each do |email|
201
+ Bundler.with_clean_env do
202
+ system("heroku sharing:add #{email} --app #{app}")
203
+ end
204
+ end
205
+ end
206
+
207
+ menu.choice "No" do
208
+ puts "No problem!"
209
+ end
210
+ # TODO: Add a custom option, which allows entering more collaborators
211
+ # from the console.
212
+ end
213
+ end
214
+
215
+ # Adding database
216
+ def database(app)
217
+ choose do |menu|
218
+ puts Rainbow("Step 4. Adding database addons").foreground(:green)
219
+ menu.prompt = "Which database?"
220
+
221
+ menu.choice "Postgres" do
222
+ Bundler.with_clean_env do
223
+ system("heroku addons:add heroku-postgresql:dev --app #{app}")
224
+ system("heroku addons:add pgbackups:auto-month --app #{app}")
225
+ end
226
+ end
227
+
228
+ menu.choice "None" do
229
+ puts "No problem!"
230
+ end
231
+ end
232
+ end
233
+
234
+ # Adding domains
235
+ def domains(app)
236
+ puts "Step 5. Adding custom domains".foreground(:green)
237
+
238
+ continue = true
239
+ while continue do
240
+ choose do |menu|
241
+ menu.prompt = "Add another domain?"
242
+ menu.choice "Yes" do
243
+ puts "Enter domain (e.g., www.example.com, example.com, *.example.com):"
244
+ domain = STDIN.gets.gsub("\n", "")
245
+ Bundler.with_clean_env do
246
+ system("heroku domains:add '#{domain}' --app #{app}")
247
+ end
248
+ end
249
+ menu.choice "No" do
250
+ puts "No problem!"
251
+ continue = false
252
+ end
253
+ end
254
+ end
255
+ end
256
+
257
+ # Adding email system
258
+ def email(app)
259
+ choose do |menu|
260
+ puts Rainbow("Step 6. Adding email addons").foreground(:green)
261
+ menu.prompt = "Which email system?"
262
+
263
+ menu.choice "Mandrill" do
264
+ Bundler.with_clean_env do
265
+ system("heroku addons:add mandrill:starter --app #{app}")
266
+ end
267
+
268
+ puts Rainbow("Please paste " + \
269
+ "and complete ").foreground(:green) + \
270
+ "the following in your environment file (e.g., production.rb)"
271
+ content = <<-eos
272
+ config.action_mailer.default_url_options = { :host => 'http://<DOMAIN HERE>' }
273
+ config.action_mailer.delivery_method = :smtp
274
+ config.action_mailer.perform_deliveries = true
275
+ config.action_mailer.raise_delivery_errors = false
276
+ config.action_mailer.default :charset => "utf-8"
277
+ config.action_mailer.smtp_settings = {
278
+ :port => '587',
279
+ :address => 'smtp.mandrillapp.com',
280
+ :user_name => ENV['MANDRILL_USERNAME'],
281
+ :password => ENV['MANDRILL_APIKEY'],
282
+ :domain => '<DOMAIN HERE>',
283
+ :authentication => :plain
284
+ }
285
+ eos
286
+ puts content
287
+ end
288
+
289
+ menu.choice "Sendgrid" do
290
+ Bundler.with_clean_env do
291
+ system("heroku addons:add sendgrid:starter --app #{app}")
292
+ end
293
+
294
+ puts Rainbow("Please paste " + \
295
+ "and complete ").foreground(:green) + \
296
+ "the following in your environment file (e.g., production.rb)"
297
+ content = <<-eos
298
+ config.action_mailer.default_url_options = { :host => 'http://<DOMAIN HERE>' }
299
+ config.action_mailer.delivery_method = :smtp
300
+ config.action_mailer.perform_deliveries = true
301
+ config.action_mailer.raise_delivery_errors = false
302
+ config.action_mailer.default :charset => "utf-8"
303
+ config.action_mailer.smtp_settings = {
304
+ :address => 'smtp.sendgrid.net',
305
+ :port => '587',
306
+ :authentication => :plain,
307
+ :user_name => ENV['SENDGRID_USERNAME'],
308
+ :password => ENV['SENDGRID_PASSWORD'],
309
+ :domain => '<DOMAIN HERE>'
310
+ }
311
+ eos
312
+ puts content
313
+ end
314
+
315
+ menu.choice "None" do
316
+ puts "No problem!"
317
+ end
318
+ end
319
+ end
320
+
321
+ # Enable asset sync
322
+ def asset_sync(app)
323
+ choose do |menu|
324
+ puts Rainbow("Step 7. Adding Asset Sync").foreground(:green)
325
+ menu.prompt = "Using Asset Sync?"
326
+
327
+ menu.choice "Yes" do
328
+ Bundler.with_clean_env do
329
+ system("heroku labs:enable user-env-compile --app #{app}")
330
+ end
331
+ end
332
+
333
+ menu.choice "No" do
334
+ puts "No problem!"
335
+ end
336
+ end
337
+ end
338
+
339
+ ### WWW Redirect
340
+ def www_redirect
341
+ content = <<-eos
342
+ class WwwMiddleware
343
+ def initialize(app)
344
+ @app = app
345
+ end
346
+
347
+ def call(env)
348
+ request = Rack::Request.new(env)
349
+ subdomains = request.host.split(".")
350
+ if (subdomains[0] || "") != "www" && (subdomains[1] || "") != "herokuapp"
351
+ [301, {"Location" => request.url.sub("//", "//www.")}, self]
352
+ else
353
+ @app.call(env)
354
+ end
355
+ end
356
+
357
+ def each(&block)
358
+ end
359
+ end
360
+ eos
361
+
362
+ FileUtils.mkdir_p("lib/middleware")
363
+ File.open("lib/middleware/www_middleware.rb", "w") do |f|
364
+ f.write(content)
365
+ end
366
+
367
+ puts Rainbow("Add the following line to " + \
368
+ "config/application.rb").foreground(:red)
369
+ puts "config.autoload_paths += %W( \#\{ config.root \}/lib/middleware )"
370
+ puts ""
371
+
372
+ puts Rainbow("Add the following line to " + \
373
+ "config/environments/production.rb").foreground(:red)
374
+ puts "config.middleware.use \"WwwMiddleware\""
375
+ puts ""
376
+ end
377
+ end
378
+ end
@@ -1,3 +1,3 @@
1
1
  module Tol
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.9"
3
3
  end
@@ -21,4 +21,5 @@ Gem::Specification.new do |gem|
21
21
  # Runtime gems
22
22
  gem.add_dependency "rainbow" # https://github.com/sickill/rainbow
23
23
  gem.add_dependency "highline"
24
+ gem.add_dependency "aws-sdk"
24
25
  end
metadata CHANGED
@@ -1,62 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
5
- prerelease:
4
+ version: 0.0.9
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alex Tandrau
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-08-05 00:00:00.000000000 Z
11
+ date: 2014-02-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: pry
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rainbow
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: highline
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aws-sdk
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
60
67
  - !ruby/object:Gem::Version
61
68
  version: '0'
62
69
  description: A collection of tools used at Take Off Labs for Rails development
@@ -77,33 +84,34 @@ files:
77
84
  - lib/tol.rb
78
85
  - lib/tol/cli.rb
79
86
  - lib/tol/codecheck.rb
87
+ - lib/tol/config.rb
80
88
  - lib/tol/database.rb
81
89
  - lib/tol/heroku.rb
90
+ - lib/tol/newapp.rb
82
91
  - lib/tol/rails_app.rb
83
92
  - lib/tol/version.rb
84
93
  - tol.gemspec
85
94
  homepage: http://www.takeofflabs.com
86
95
  licenses: []
96
+ metadata: {}
87
97
  post_install_message:
88
98
  rdoc_options: []
89
99
  require_paths:
90
100
  - lib
91
101
  required_ruby_version: !ruby/object:Gem::Requirement
92
- none: false
93
102
  requirements:
94
- - - ! '>='
103
+ - - '>='
95
104
  - !ruby/object:Gem::Version
96
105
  version: '0'
97
106
  required_rubygems_version: !ruby/object:Gem::Requirement
98
- none: false
99
107
  requirements:
100
- - - ! '>='
108
+ - - '>='
101
109
  - !ruby/object:Gem::Version
102
110
  version: '0'
103
111
  requirements: []
104
112
  rubyforge_project:
105
- rubygems_version: 1.8.24
113
+ rubygems_version: 2.2.2
106
114
  signing_key:
107
- specification_version: 3
115
+ specification_version: 4
108
116
  summary: Heroku interactions, etc.
109
117
  test_files: []