heroku_san 2.1.2 → 2.1.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.
@@ -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: []