heroku_san 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Change log (curated)
2
2
 
3
+ ## v3.0.2
4
+
5
+ * Fix config:list bug (#90)
6
+
3
7
  ## v3.0.1
4
8
 
5
9
  * Fix deploy:force bugs (#84 & #85)
data/heroku_san.gemspec CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.add_development_dependency(%q<cucumber>)
32
32
  s.add_development_dependency(%q<rake>)
33
33
  s.add_development_dependency(%q<bundler>, ['~> 1.1 '])
34
+ s.add_development_dependency('git-smart')
34
35
  else
35
36
  s.add_dependency(%q<rails>, ['>= 2'])
36
37
  s.add_dependency(%q<heroku>, ['>= 2'])
@@ -22,7 +22,7 @@ namespace :heroku do
22
22
  task 'stage:all' do
23
23
  HerokuSan.project << HerokuSan.project.all
24
24
  end
25
-
25
+
26
26
  desc "Creates the Heroku app"
27
27
  task :create do
28
28
  each_heroku_app do |stage|
@@ -88,7 +88,9 @@ namespace :heroku do
88
88
  desc 'Add config:vars to each application.'
89
89
  task :config do
90
90
  each_heroku_app do |stage|
91
- puts y(stage.push_config)
91
+ stage.push_config.each do |(key,value)|
92
+ puts "#{key}: #{value}"
93
+ end
92
94
  end
93
95
  end
94
96
 
@@ -96,7 +98,10 @@ namespace :heroku do
96
98
  task :addons do
97
99
  each_heroku_app do |stage|
98
100
  addons = stage.install_addons
99
- puts y("#{stage.name} addons" => addons.map { |addon| addon['configured'] ? addon['name'] : { addon['name'] => "Configure at https://api.heroku.com/myapps/#{stage.app}/addons/#{addon['name']}" } })
101
+ puts "#{stage.name} addons"
102
+ addons.each do |addon|
103
+ puts " - " + addon['name'] + (addon['configured'] ? "" : " # Configure at https://api.heroku.com/myapps/#{stage.app}/addons/#{addon['name']}")
104
+ end
100
105
  end
101
106
  end
102
107
 
@@ -145,7 +150,9 @@ namespace :heroku do
145
150
  task :list do
146
151
  each_heroku_app do |stage|
147
152
  puts "#{stage.name}:"
148
- puts y(stage.long_config)
153
+ stage.long_config.each do |(key,value)|
154
+ puts "#{key}: #{value}"
155
+ end
149
156
  end
150
157
  end
151
158
 
@@ -154,12 +161,14 @@ namespace :heroku do
154
161
  task :local do
155
162
  each_heroku_app do |stage|
156
163
  puts "#{stage.name}:"
157
- puts y(stage.config)
164
+ stage.config.each do |(key,value)|
165
+ puts "#{key}: #{value}"
166
+ end
158
167
  end
159
168
  end
160
169
  end
161
170
  end
162
-
171
+
163
172
  desc 'Runs a rake task remotely'
164
173
  task :rake, [:task] do |t, args|
165
174
  each_heroku_app do |stage|
@@ -287,11 +296,11 @@ namespace :heroku do
287
296
  desc "Pull database from stage to local dev database"
288
297
  task :pull do
289
298
  each_heroku_app do |stage|
290
- sh "heroku pgdumps:capture --app #{stage.app}"
291
- dump = `heroku pgdumps --app #{stage.app}`.split("\n").last.split(" ").first
299
+ sh "heroku pgbackups:capture --expire --app #{stage.app}"
300
+ dump = `heroku pgbackups --app #{stage.app}`.split("\n").last.split(" ").first
292
301
  sh "mkdir -p #{Rails.root}/db/dumps"
293
302
  file = "#{Rails.root}/db/dumps/#{dump}.sql.gz"
294
- url = `heroku pgdumps:url --app #{stage.app} #{dump}`.chomp
303
+ url = `heroku pgbackups:url --app #{stage.app} #{dump}`.chomp
295
304
  sh "wget", url, "-O", file
296
305
  sh "rake db:drop db:create"
297
306
  sh "gunzip -c #{file} | #{Rails.root}/script/dbconsole"
@@ -299,7 +308,7 @@ namespace :heroku do
299
308
  end
300
309
  end
301
310
  end
302
-
311
+
303
312
  desc "Run a bash shell on Heroku"
304
313
  task :shell do
305
314
  each_heroku_app do |stage|
@@ -342,4 +351,4 @@ rescue HerokuSan::NoApps => e
342
351
  rake all heroku:share"
343
352
 
344
353
  exit(1)
345
- end
354
+ end
@@ -1,3 +1,3 @@
1
1
  module HerokuSan
2
- VERSION = "3.0.1"
2
+ VERSION = "3.0.2"
3
3
  end
@@ -268,24 +268,24 @@ describe HerokuSan::Stage do
268
268
  describe "#installed_addons" do
269
269
  it "returns the list of installed addons" do
270
270
  with_app(subject, 'name' => subject.app) do |app_data|
271
- subject.installed_addons.map{|a|a['name']}.should =~ %w[logging:basic shared-database:5mb]
271
+ subject.installed_addons.map{|a|a['name']}.should include *%w[shared-database:5mb]
272
272
  end
273
273
  end
274
274
  end
275
275
 
276
276
  describe '#install_addons' do
277
- subject { HerokuSan::Stage.new('production', {"app" => "awesomeapp", "stack" => "bamboo-ree-1.8.7", "addons" => ["custom_domains:basic", "ssl:piggyback"]})}
277
+ subject { HerokuSan::Stage.new('production', {"app" => "awesomeapp", "stack" => "bamboo-ree-1.8.7", "addons" => %w[custom_domains:basic ssl:piggyback]})}
278
278
 
279
279
  it "installs the addons" do
280
280
  with_app(subject, 'name' => subject.app) do |app_data|
281
- subject.install_addons.map{|a| a['name']}.should =~ %w[logging:basic shared-database:5mb custom_domains:basic ssl:piggyback]
281
+ subject.install_addons.map{|a| a['name']}.should include *%w[custom_domains:basic ssl:piggyback]
282
282
  subject.installed_addons.map{|a|a['name']}.should =~ subject.install_addons.map{|a| a['name']}
283
283
  end
284
284
  end
285
285
  it "only installs missing addons" do
286
- subject = HerokuSan::Stage.new('production', {"app" => "awesomeapp", "stack" => "bamboo-ree-1.8.7", "addons" => ["logging:basic","custom_domains:basic", "ssl:piggyback"]})
286
+ subject = HerokuSan::Stage.new('production', {"app" => "awesomeapp", "stack" => "bamboo-ree-1.8.7", "addons" => %w[shared-database:5mb custom_domains:basic ssl:piggyback]})
287
287
  with_app(subject, 'name' => subject.app) do |app_data|
288
- subject.install_addons.map{|a| a['name']}.should =~ %w[logging:basic shared-database:5mb custom_domains:basic ssl:piggyback]
288
+ subject.install_addons.map{|a| a['name']}.should include *%w[shared-database:5mb custom_domains:basic ssl:piggyback]
289
289
  end
290
290
  end
291
291
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 3
7
7
  - 0
8
- - 1
9
- version: 3.0.1
8
+ - 2
9
+ version: 3.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Elijah Miller
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2012-05-16 00:00:00 -07:00
20
+ date: 2012-06-04 00:00:00 -07:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -140,6 +140,19 @@ dependencies:
140
140
  version: "1.1"
141
141
  type: :development
142
142
  version_requirements: *id009
143
+ - !ruby/object:Gem::Dependency
144
+ name: git-smart
145
+ prerelease: false
146
+ requirement: &id010 !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ segments:
152
+ - 0
153
+ version: "0"
154
+ type: :development
155
+ version_requirements: *id010
143
156
  description: Manage multiple Heroku instances/apps for a single Rails app using Rake
144
157
  email: elijah.miller@gmail.com
145
158
  executables: []