tol 0.0.2 → 0.0.3

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 (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