tol 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/tol/database.rb +28 -11
  2. data/lib/tol/version.rb +1 -1
  3. metadata +2 -2
data/lib/tol/database.rb CHANGED
@@ -33,17 +33,37 @@ class Database
33
33
  def download(heroku_app)
34
34
  puts "Downloading database for #{heroku_app.underline}".foreground(:green)
35
35
 
36
- puts "1. Detecting local database settings.".foreground(:yellow)
36
+ puts "Step 1. Detecting local database settings.".foreground(:yellow)
37
37
  @settings = Tol::RailsApp.new.database_settings["development"]
38
38
 
39
- puts "2. Capturing database on Heroku. Please wait.".foreground(:yellow)
40
- db = `heroku pgbackups:capture --app #{heroku_app} --expire`
41
-
42
- puts "3. Downloading. Please wait.".foreground(:yellow)
43
- url = `heroku pgbackups:url --app #{heroku_app}`
44
- download = `curl -o /tmp/#{heroku_app}.dump '#{url}' > /dev/null 2>&1`
39
+ choose do |menu|
40
+ puts "Step 2. Which version of the database should I download?".foreground(:green)
41
+
42
+ menu.prompt = "Please pick up database version?"
43
+
44
+ local_file = "/tmp/#{heroku_app}.dump"
45
+ if File.exists?(local_file)
46
+ downloaded_at = File.mtime(local_file).strftime("%b %e, %l:%M %p")
47
+ menu.choice "Local File (Fastest) - downloaded at #{downloaded_at}"
48
+ end
49
+
50
+ menu.choice "Most Recent Snapshot (Fast)" do
51
+ puts "... Downloading. Please wait.".foreground(:yellow)
52
+ url = `heroku pgbackups:url --app #{heroku_app}`
53
+ download = `curl -o /tmp/#{heroku_app}.dump '#{url}' > /dev/null 2>&1`
54
+ end
55
+
56
+ menu.choice "New Snapshot (Slowest)" do
57
+ puts "... Capturing database on Heroku. Please wait".foreground(:yellow)
58
+ db = `heroku pgbackups:capture --app #{heroku_app} --expire`
45
59
 
46
- puts "4. Importing Database.".foreground(:yellow)
60
+ puts "... Downloading. Please wait.".foreground(:yellow)
61
+ url = `heroku pgbackups:url --app #{heroku_app}`
62
+ download = `curl -o /tmp/#{heroku_app}.dump '#{url}' > /dev/null 2>&1`
63
+ end
64
+ end
65
+
66
+ puts "Step 3. Importing Database.".foreground(:yellow)
47
67
  puts "-> drop old database"
48
68
  dropdb = "dropdb"
49
69
  dropdb += " -h #{@settings['host']}" if @settings["host"]
@@ -72,9 +92,6 @@ class Database
72
92
  restore_command += " /tmp/#{heroku_app}.dump > /dev/null 2>&1"
73
93
  restore = `/bin/bash -c '#{restore_command}'`
74
94
 
75
- puts "5. Cleaning up.".foreground(:yellow)
76
- clean_up = `rm /tmp/#{heroku_app}.dump`
77
-
78
95
  puts "DONE".foreground(:green)
79
96
  end
80
97
 
data/lib/tol/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tol
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2013-05-27 00:00:00.000000000 Z
12
+ date: 2013-06-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry