heroku_san 2.1.2 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  World(Aruba::Api)
2
2
 
3
3
  Given /^I have a new Rails project$/ do
4
- cmd = "rails new heroku_san_test --quiet --force --database=postgresql --skip-bundle --skip-javascript --skip-test-unit --skip-sprockets" #" --template #{template}"
4
+ cmd = "rails new heroku_san_test --quiet --force --database=postgresql --skip-bundle --skip-javascript --skip-test-unit --skip-sprockets"
5
5
  run_simple unescape(cmd)
6
6
  end
7
7
 
@@ -43,7 +43,7 @@ module HerokuSan
43
43
  if !@apps.empty?
44
44
  @apps
45
45
  else
46
- case all.size
46
+ @apps = case all.size
47
47
  when 1
48
48
  $stdout.puts "Defaulting to #{all.first.inspect} since only one app is defined"
49
49
  all
@@ -1,3 +1,3 @@
1
1
  module HerokuSan
2
- VERSION = "2.1.2"
2
+ VERSION = "2.1.3"
3
3
  end
data/lib/tasks.rb CHANGED
@@ -283,18 +283,26 @@ namespace :heroku do
283
283
  end
284
284
  end
285
285
 
286
- task :all => 'heroku:stage:all'
287
- task :deploy => 'heroku:deploy'
288
- task 'deploy:force' => 'heroku:deploy:force'
289
- task :before_deploy => 'heroku:deploy:before'
290
- task :after_deploy => 'heroku:deploy:after'
291
- task :console => 'heroku:console'
292
- task :restart => 'heroku:restart'
293
- task :migrate => 'heroku:db:migrate'
294
- task :logs => 'heroku:logs:default'
295
- task 'logs:tail' => 'heroku:logs:tail'
296
- task 'heroku:rack_env' => 'heroku:config:rack_env'
297
- task :shell => 'heroku:shell'
286
+
287
+ def alias_task(hash)
288
+ hash.each_pair do |(new_task, original_task)|
289
+ the_task = Rake.application[original_task]
290
+ task new_task, {the_task.arg_names => [original_task]}
291
+ end
292
+ end
293
+
294
+ alias_task :all => 'heroku:stage:all'
295
+ alias_task :deploy => 'heroku:deploy'
296
+ alias_task 'deploy:force' => 'heroku:deploy:force'
297
+ alias_task :before_deploy => 'heroku:deploy:before'
298
+ alias_task :after_deploy => 'heroku:deploy:after'
299
+ alias_task :console => 'heroku:console'
300
+ alias_task :restart => 'heroku:restart'
301
+ alias_task :migrate => 'heroku:db:migrate'
302
+ alias_task :logs => 'heroku:logs:default'
303
+ alias_task 'logs:tail' => 'heroku:logs:tail'
304
+ alias_task 'heroku:rack_env' => 'heroku:config:rack_env'
305
+ alias_task :shell => 'heroku:shell'
298
306
 
299
307
  def each_heroku_app(&block)
300
308
  @heroku_san.each_app(&block)
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
  require 'tmpdir'
3
3
 
4
4
  describe HerokuSan::Project do
5
- specify ".new with a missing config file" do
5
+ specify ".new with a missing config file has no stages" do
6
6
  heroku_san = HerokuSan::Project.new("/u/should/never/get/here")
7
7
  heroku_san.all.should == []
8
8
  end
@@ -26,7 +26,7 @@ describe HerokuSan::Project do
26
26
  end
27
27
  end
28
28
 
29
- describe "Adding an app to the deploy list" do
29
+ describe "#apps adds an app to the deploy list" do
30
30
  it "appends known shorthands to apps" do
31
31
  heroku_san.apps.should == []
32
32
  heroku_san << 'production'
@@ -41,25 +41,29 @@ describe HerokuSan::Project do
41
41
  heroku_san << heroku_san.all
42
42
  heroku_san.apps.should == heroku_san.all
43
43
  end
44
- end
45
44
 
46
- describe "#apps extra default behaviors" do
47
- specify "on a git branch that matches an app name" do
48
- heroku_san.should_receive(:git_active_branch) { "staging" }
49
- $stdout.should_receive(:puts).with("Defaulting to 'staging' as it matches the current branch")
50
- heroku_san.apps.should == %w[staging]
51
- end
45
+ describe "extra (default) behaviors" do
46
+ specify "on a git branch that matches an app name" do
47
+ heroku_san.should_receive(:git_active_branch) { "staging" }
48
+ $stdout.should_receive(:puts).with("Defaulting to 'staging' as it matches the current branch")
49
+ expect {
50
+ heroku_san.apps.should == %w[staging]
51
+ }.to change{heroku_san.instance_variable_get('@apps')}.from([]).to(%w[staging])
52
+ end
52
53
 
53
- specify "on a git branch that doesn't matches an app name" do
54
- heroku_san.should_receive(:git_active_branch) { "master" }
55
- heroku_san.apps.should == %w[]
56
- end
54
+ specify "on a git branch that doesn't matches an app name" do
55
+ heroku_san.should_receive(:git_active_branch) { "master" }
56
+ heroku_san.apps.should == %w[]
57
+ end
57
58
 
58
- context "but only a single configured app" do
59
- let(:heroku_san) { HerokuSan::Project.new(File.join(SPEC_ROOT, "fixtures", "single_app.yml")) }
60
- it "returns the app" do
61
- $stdout.should_receive(:puts).with('Defaulting to "production" since only one app is defined')
62
- heroku_san.apps.should == %w[production]
59
+ context "with only a single configured app" do
60
+ let(:heroku_san) { HerokuSan::Project.new(File.join(SPEC_ROOT, "fixtures", "single_app.yml")) }
61
+ it "returns the app" do
62
+ $stdout.should_receive(:puts).with('Defaulting to "production" since only one app is defined')
63
+ expect {
64
+ heroku_san.apps.should == %w[production]
65
+ }.to change{heroku_san.instance_variable_get('@apps')}.from([]).to(%w[production])
66
+ end
63
67
  end
64
68
  end
65
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroku_san
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,11 +12,11 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-03-29 00:00:00.000000000Z
15
+ date: 2012-03-31 00:00:00.000000000Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
19
- requirement: &2152396440 !ruby/object:Gem::Requirement
19
+ requirement: &2152371380 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: '2'
25
25
  type: :development
26
26
  prerelease: false
27
- version_requirements: *2152396440
27
+ version_requirements: *2152371380
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: heroku
30
- requirement: &2152385600 !ruby/object:Gem::Requirement
30
+ requirement: &2152370780 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: '2'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *2152385600
38
+ version_requirements: *2152370780
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
41
- requirement: &2152384980 !ruby/object:Gem::Requirement
41
+ requirement: &2152370200 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: '0'
47
47
  type: :runtime
48
48
  prerelease: false
49
- version_requirements: *2152384980
49
+ version_requirements: *2152370200
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: aruba
52
- requirement: &2152384220 !ruby/object:Gem::Requirement
52
+ requirement: &2152369560 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ! '>='
@@ -57,10 +57,10 @@ dependencies:
57
57
  version: '0'
58
58
  type: :development
59
59
  prerelease: false
60
- version_requirements: *2152384220
60
+ version_requirements: *2152369560
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: cucumber
63
- requirement: &2152383620 !ruby/object:Gem::Requirement
63
+ requirement: &2152369120 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - ! '>='
@@ -68,10 +68,10 @@ dependencies:
68
68
  version: '0'
69
69
  type: :development
70
70
  prerelease: false
71
- version_requirements: *2152383620
71
+ version_requirements: *2152369120
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: rake
74
- requirement: &2152382980 !ruby/object:Gem::Requirement
74
+ requirement: &2152368700 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ! '>='
@@ -79,10 +79,10 @@ dependencies:
79
79
  version: '0'
80
80
  type: :development
81
81
  prerelease: false
82
- version_requirements: *2152382980
82
+ version_requirements: *2152368700
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
- requirement: &2152382280 !ruby/object:Gem::Requirement
85
+ requirement: &2152368160 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ~>
@@ -90,7 +90,7 @@ dependencies:
90
90
  version: '1.1'
91
91
  type: :development
92
92
  prerelease: false
93
- version_requirements: *2152382280
93
+ version_requirements: *2152368160
94
94
  description: Manage multiple Heroku instances/apps for a single Rails app using Rake
95
95
  email: elijah.miller@gmail.com
96
96
  executables: []