heroku-rails 0.4.3 → 0.4.4
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.
- data/CHANGELOG +7 -1
- data/Gemfile +1 -2
- data/Gemfile.lock +31 -23
- data/Rakefile +7 -7
- data/heroku-rails.gemspec +3 -3
- data/lib/heroku-rails/config.rb +9 -1
- data/lib/heroku-rails/runner.rb +14 -29
- data/lib/heroku/rails/tasks.rb +6 -3
- metadata +21 -10
data/CHANGELOG
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
Heroku Rails
|
2
2
|
|
3
|
+
v0.4.4
|
4
|
+
============================================
|
5
|
+
Fix heroku rake
|
6
|
+
Upgrade heroku authorization
|
7
|
+
Fix deprecation warning
|
8
|
+
|
3
9
|
v0.2.0
|
4
10
|
============================================
|
5
11
|
Added Heroku Settings tasks, and rails generators
|
@@ -29,4 +35,4 @@ Glenn Roberts
|
|
29
35
|
|
30
36
|
v0.0.1.
|
31
37
|
============================================
|
32
|
-
Initial release.
|
38
|
+
Initial release.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,44 +1,52 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
heroku-rails (0.4.
|
5
|
-
heroku (>=
|
4
|
+
heroku-rails (0.4.4)
|
5
|
+
heroku (>= 2.15.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
|
-
ZenTest (4.
|
11
|
-
addressable (2.2
|
10
|
+
ZenTest (4.8.2)
|
11
|
+
addressable (2.3.2)
|
12
12
|
archive-tar-minitar (0.5.2)
|
13
13
|
autotest (4.4.6)
|
14
14
|
ZenTest (>= 4.4.1)
|
15
|
-
columnize (0.3.
|
15
|
+
columnize (0.3.6)
|
16
16
|
diff-lcs (1.1.3)
|
17
|
+
excon (0.15.4)
|
17
18
|
growl-glue (1.0.7)
|
18
|
-
heroku (2.
|
19
|
+
heroku (2.30.1)
|
20
|
+
heroku-api (~> 0.3.1)
|
19
21
|
launchy (>= 0.3.2)
|
22
|
+
netrc (~> 0.7.5)
|
20
23
|
rest-client (~> 1.6.1)
|
21
24
|
rubyzip
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
+
heroku-api (0.3.1)
|
26
|
+
excon (~> 0.15.4)
|
27
|
+
json (1.7.4)
|
28
|
+
launchy (2.1.1)
|
29
|
+
addressable (~> 2.3)
|
25
30
|
linecache (0.46)
|
26
31
|
rbx-require-relative (> 0.0.4)
|
27
32
|
linecache19 (0.5.12)
|
28
33
|
ruby_core_source (>= 0.1.4)
|
29
|
-
mime-types (1.
|
30
|
-
|
31
|
-
|
34
|
+
mime-types (1.19)
|
35
|
+
netrc (0.7.5)
|
36
|
+
rake (0.9.2.2)
|
37
|
+
rbx-require-relative (0.0.9)
|
38
|
+
rdoc (3.12)
|
39
|
+
json (~> 1.4)
|
32
40
|
rest-client (1.6.7)
|
33
41
|
mime-types (>= 1.16)
|
34
|
-
rspec (2.
|
35
|
-
rspec-core (~> 2.
|
36
|
-
rspec-expectations (~> 2.
|
37
|
-
rspec-mocks (~> 2.
|
38
|
-
rspec-core (2.
|
39
|
-
rspec-expectations (2.
|
40
|
-
diff-lcs (~> 1.1.
|
41
|
-
rspec-mocks (2.
|
42
|
+
rspec (2.11.0)
|
43
|
+
rspec-core (~> 2.11.0)
|
44
|
+
rspec-expectations (~> 2.11.0)
|
45
|
+
rspec-mocks (~> 2.11.0)
|
46
|
+
rspec-core (2.11.1)
|
47
|
+
rspec-expectations (2.11.2)
|
48
|
+
diff-lcs (~> 1.1.3)
|
49
|
+
rspec-mocks (2.11.1)
|
42
50
|
ruby-debug (0.10.4)
|
43
51
|
columnize (>= 0.1)
|
44
52
|
ruby-debug-base (~> 0.10.4.0)
|
@@ -54,8 +62,7 @@ GEM
|
|
54
62
|
ruby-debug-base19 (>= 0.11.19)
|
55
63
|
ruby_core_source (0.1.5)
|
56
64
|
archive-tar-minitar (>= 0.5.2)
|
57
|
-
rubyzip (0.9.
|
58
|
-
term-ansicolor (1.0.7)
|
65
|
+
rubyzip (0.9.9)
|
59
66
|
|
60
67
|
PLATFORMS
|
61
68
|
ruby
|
@@ -64,7 +71,8 @@ DEPENDENCIES
|
|
64
71
|
autotest
|
65
72
|
growl-glue
|
66
73
|
heroku-rails!
|
67
|
-
rake (
|
74
|
+
rake (~> 0.9.2)
|
75
|
+
rdoc
|
68
76
|
rspec (~> 2.0)
|
69
77
|
ruby-debug
|
70
78
|
ruby-debug19
|
data/Rakefile
CHANGED
@@ -2,10 +2,10 @@ require "bundler"
|
|
2
2
|
Bundler.setup
|
3
3
|
|
4
4
|
require 'rake'
|
5
|
-
require '
|
5
|
+
require 'rubygems/package_task'
|
6
6
|
|
7
7
|
gemspec = eval(File.read('heroku-rails.gemspec'))
|
8
|
-
|
8
|
+
Gem::PackageTask.new(gemspec) do |pkg|
|
9
9
|
pkg.gem_spec = gemspec
|
10
10
|
end
|
11
11
|
|
@@ -22,17 +22,17 @@ end
|
|
22
22
|
require "rspec"
|
23
23
|
require "rspec/core/rake_task"
|
24
24
|
|
25
|
-
|
25
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
26
26
|
spec.pattern = "spec/**/*_spec.rb"
|
27
27
|
end
|
28
28
|
|
29
|
-
|
29
|
+
RSpec::Core::RakeTask.new('spec:progress') do |spec|
|
30
30
|
spec.rspec_opts = %w(--format progress)
|
31
31
|
spec.pattern = "spec/**/*_spec.rb"
|
32
32
|
end
|
33
33
|
|
34
|
-
require "
|
35
|
-
|
34
|
+
require "rdoc/task"
|
35
|
+
RDoc::Task.new do |rdoc|
|
36
36
|
rdoc.rdoc_dir = "rdoc"
|
37
37
|
rdoc.title = "Heroku Rails #{gemspec.version}"
|
38
38
|
rdoc.rdoc_files.include("README*")
|
@@ -40,4 +40,4 @@ Rake::RDocTask.new do |rdoc|
|
|
40
40
|
end
|
41
41
|
|
42
42
|
|
43
|
-
task :default => :spec
|
43
|
+
task :default => :spec
|
data/heroku-rails.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "heroku-rails"
|
3
|
-
s.version = "0.4.
|
3
|
+
s.version = "0.4.4"
|
4
4
|
|
5
5
|
s.authors = ["Elijah Miller", "Glenn Roberts", "Jacques Crocker"]
|
6
6
|
s.summary = "Deployment and configuration tools for Heroku/Rails"
|
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"CHANGELOG"
|
32
32
|
]
|
33
33
|
|
34
|
-
s.add_runtime_dependency "heroku", ">=
|
34
|
+
s.add_runtime_dependency "heroku", ">= 2.15.0"
|
35
35
|
s.add_development_dependency "rspec", "~> 2.0"
|
36
|
+
s.add_development_dependency "rake", "~> 0.9.2"
|
36
37
|
end
|
37
|
-
|
data/lib/heroku-rails/config.rb
CHANGED
@@ -40,6 +40,14 @@ module HerokuRails
|
|
40
40
|
stacks[app_env] || stacks['all']
|
41
41
|
end
|
42
42
|
|
43
|
+
def rake_cmd(app_env)
|
44
|
+
if self.stack(app_env) =~ /cedar/i
|
45
|
+
'heroku run rake'
|
46
|
+
else
|
47
|
+
'heroku rake'
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
43
51
|
# pull out the config setting hash for a particular app environment
|
44
52
|
def config(app_env)
|
45
53
|
config = self.settings['config'] || {}
|
@@ -75,4 +83,4 @@ module HerokuRails
|
|
75
83
|
(all + (setting[app] || [])).uniq
|
76
84
|
end
|
77
85
|
end
|
78
|
-
end
|
86
|
+
end
|
data/lib/heroku-rails/runner.rb
CHANGED
@@ -8,20 +8,7 @@ module HerokuRails
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def authorize
|
11
|
-
|
12
|
-
|
13
|
-
# setup heroku username and password so we can start up a heroku client
|
14
|
-
credentials_path = File.expand_path("~/.heroku/credentials")
|
15
|
-
|
16
|
-
# read in the username,password so we can build the client
|
17
|
-
if File.exists?(credentials_path)
|
18
|
-
auth = File.read(credentials_path)
|
19
|
-
username, password = auth.split("\n")
|
20
|
-
@heroku = Heroku::Client.new(username, password)
|
21
|
-
else
|
22
|
-
puts "Heroku not set up. Run `heroku list` in order to input your credentials and try again"
|
23
|
-
exit(1)
|
24
|
-
end
|
11
|
+
@heroku ||= Heroku::Auth.client
|
25
12
|
end
|
26
13
|
|
27
14
|
# add a specific environment to the run list
|
@@ -36,7 +23,7 @@ module HerokuRails
|
|
36
23
|
|
37
24
|
# setup apps (create if necessary)
|
38
25
|
def setup_apps
|
39
|
-
authorize
|
26
|
+
authorize
|
40
27
|
|
41
28
|
# get a list of all my current apps on Heroku (so we don't create dupes)
|
42
29
|
@my_apps = @heroku.list.map{|a| a.first}
|
@@ -52,7 +39,7 @@ module HerokuRails
|
|
52
39
|
|
53
40
|
# setup the stacks for each app (migrating if necessary)
|
54
41
|
def setup_stacks
|
55
|
-
authorize
|
42
|
+
authorize
|
56
43
|
each_heroku_app do |heroku_env, app_name, repo|
|
57
44
|
# get the intended stack setting
|
58
45
|
stack = @config.stack(heroku_env)
|
@@ -70,7 +57,7 @@ module HerokuRails
|
|
70
57
|
|
71
58
|
# setup the list of collaborators
|
72
59
|
def setup_collaborators
|
73
|
-
authorize
|
60
|
+
authorize
|
74
61
|
each_heroku_app do |heroku_env, app_name, repo|
|
75
62
|
# get the remote info about the app from heroku
|
76
63
|
heroku_app_info = @heroku.info(app_name) || {}
|
@@ -110,7 +97,7 @@ module HerokuRails
|
|
110
97
|
|
111
98
|
# setup configuration
|
112
99
|
def setup_config
|
113
|
-
authorize
|
100
|
+
authorize
|
114
101
|
each_heroku_app do |heroku_env, app_name, repo|
|
115
102
|
# get the configuration that we are aiming towards
|
116
103
|
new_config = @config.config(heroku_env)
|
@@ -144,7 +131,7 @@ module HerokuRails
|
|
144
131
|
|
145
132
|
# setup the addons for heroku
|
146
133
|
def setup_addons
|
147
|
-
authorize
|
134
|
+
authorize
|
148
135
|
each_heroku_app do |heroku_env, app_name, repo|
|
149
136
|
# get the addons that we are aiming towards
|
150
137
|
addons = @config.addons(heroku_env)
|
@@ -186,7 +173,7 @@ module HerokuRails
|
|
186
173
|
|
187
174
|
# setup the domains for heroku
|
188
175
|
def setup_domains
|
189
|
-
authorize
|
176
|
+
authorize
|
190
177
|
each_heroku_app do |heroku_env, app_name, repo|
|
191
178
|
# get the domains that we are aiming towards
|
192
179
|
domains = @config.domains(heroku_env)
|
@@ -268,15 +255,13 @@ module HerokuRails
|
|
268
255
|
end
|
269
256
|
|
270
257
|
def output_destroy_commands(app)
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
puts destroy_cmd
|
276
|
-
end
|
277
|
-
puts "\n\nthese commands may cause data loss so make sure you know that these are necessary"
|
278
|
-
# clear destroy commands
|
258
|
+
puts "The #{app} had a few things removed from the heroku.yml."
|
259
|
+
puts "If they are no longer neccessary, then run the following commands:\n\n"
|
260
|
+
(@destroy_commands || []).each do |destroy_command|
|
261
|
+
puts destroy_command
|
279
262
|
end
|
263
|
+
puts "\n\nthese commands may cause data loss so make sure you know that these are necessary"
|
264
|
+
# clear destroy commands
|
280
265
|
@destroy_commands = []
|
281
266
|
end
|
282
267
|
|
@@ -285,4 +270,4 @@ module HerokuRails
|
|
285
270
|
end
|
286
271
|
|
287
272
|
end
|
288
|
-
end
|
273
|
+
end
|
data/lib/heroku/rails/tasks.rb
CHANGED
@@ -62,10 +62,12 @@ namespace :heroku do
|
|
62
62
|
Rake::Task["heroku:before_each_deploy"].reenable
|
63
63
|
Rake::Task["heroku:before_each_deploy"].invoke(app_name)
|
64
64
|
|
65
|
+
rake_cmd = HEROKU_CONFIG.rake_cmd(heroku_env)
|
66
|
+
|
65
67
|
branch = `git branch`.scan(/^\* (.*)\n/).flatten.first.to_s
|
66
68
|
if branch.present?
|
67
69
|
@git_push_arguments ||= []
|
68
|
-
system_with_echo "git push #{repo} #{@git_push_arguments.join(' ')} #{branch}:master && heroku restart --app #{app_name}"
|
70
|
+
system_with_echo "git push #{repo} #{@git_push_arguments.join(' ')} #{branch}:master && #{rake_cmd} --app #{app_name} db:migrate && heroku restart --app #{app_name}"
|
69
71
|
else
|
70
72
|
puts "Unable to determine the current git branch, please checkout the branch you'd like to deploy"
|
71
73
|
exit(1)
|
@@ -179,7 +181,8 @@ namespace :heroku do
|
|
179
181
|
desc "Migrates and restarts remote servers"
|
180
182
|
task :migrate do
|
181
183
|
HEROKU_RUNNER.each_heroku_app do |heroku_env, app_name, repo|
|
182
|
-
|
184
|
+
rake_cmd = HEROKU_CONFIG.rake_cmd(heroku_env)
|
185
|
+
system_with_echo "#{rake_cmd} --app #{app_name} db:migrate && heroku restart --app #{app_name}"
|
183
186
|
end
|
184
187
|
end
|
185
188
|
|
@@ -200,4 +203,4 @@ namespace :heroku do
|
|
200
203
|
end
|
201
204
|
end
|
202
205
|
end
|
203
|
-
end
|
206
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: heroku-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,22 +11,22 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-
|
14
|
+
date: 2012-07-31 00:00:00.000000000Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: heroku
|
18
|
-
requirement: &
|
18
|
+
requirement: &70366282766080 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 2.15.0
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70366282766080
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
|
-
requirement: &
|
29
|
+
requirement: &70366282757360 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
@@ -34,7 +34,18 @@ dependencies:
|
|
34
34
|
version: '2.0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70366282757360
|
38
|
+
- !ruby/object:Gem::Dependency
|
39
|
+
name: rake
|
40
|
+
requirement: &70366282754740 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.9.2
|
46
|
+
type: :development
|
47
|
+
prerelease: false
|
48
|
+
version_requirements: *70366282754740
|
38
49
|
description: Manage multiple Heroku instances/apps for a single Rails app using Rake.
|
39
50
|
It's the Capistrano for Heroku, without the suck.
|
40
51
|
email: railsjedi@gmail.com
|
@@ -81,7 +92,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
92
|
version: '0'
|
82
93
|
segments:
|
83
94
|
- 0
|
84
|
-
hash:
|
95
|
+
hash: 3344456155800977380
|
85
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
97
|
none: false
|
87
98
|
requirements:
|
@@ -90,10 +101,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
101
|
version: '0'
|
91
102
|
segments:
|
92
103
|
- 0
|
93
|
-
hash:
|
104
|
+
hash: 3344456155800977380
|
94
105
|
requirements: []
|
95
106
|
rubyforge_project: none
|
96
|
-
rubygems_version: 1.8.
|
107
|
+
rubygems_version: 1.8.16
|
97
108
|
signing_key:
|
98
109
|
specification_version: 3
|
99
110
|
summary: Deployment and configuration tools for Heroku/Rails
|