kumade 0.6.0 → 0.7.0
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/.gitignore +1 -0
- data/.simplecov +7 -0
- data/Changelog.md +3 -0
- data/README.md +13 -12
- data/features/kumade_executable.feature +2 -0
- data/features/support/env.rb +5 -0
- data/kumade.gemspec +3 -0
- data/lib/kumade/command_line.rb +0 -1
- data/lib/kumade/deployer.rb +1 -0
- data/lib/kumade/heroku.rb +5 -0
- data/lib/kumade/outputter.rb +4 -4
- data/lib/kumade/version.rb +1 -1
- data/spec/kumade/cli_spec.rb +5 -4
- data/spec/kumade/command_line_spec.rb +18 -9
- data/spec/kumade/deployer_spec.rb +1 -0
- data/spec/kumade/heroku_spec.rb +33 -0
- data/spec/kumade/packagers/noop_packager_spec.rb +3 -1
- data/spec/spec_helper.rb +6 -0
- data/spec/support/heroku.rb +10 -20
- metadata +37 -25
data/.gitignore
CHANGED
data/.simplecov
ADDED
data/Changelog.md
CHANGED
data/README.md
CHANGED
@@ -13,8 +13,8 @@ Before deploying, Kumade ensures the git repo is clean.
|
|
13
13
|
After that, it packages assets using
|
14
14
|
[Jammit](http://documentcloud.github.com/jammit/) and/or
|
15
15
|
[More](https://github.com/cloudhead/more), commits them, and pushes to origin.
|
16
|
-
Then it force pushes to the correct Heroku remote
|
17
|
-
Heroku app.
|
16
|
+
Then it force pushes to the correct Heroku remote, runs `rake db:migrate` on the
|
17
|
+
Heroku app, and then restarts the app.
|
18
18
|
|
19
19
|
If any step fails, it immediately prints an error and stops the deploy
|
20
20
|
process.
|
@@ -22,9 +22,7 @@ process.
|
|
22
22
|
## Install
|
23
23
|
In your Gemfile:
|
24
24
|
|
25
|
-
|
26
|
-
gem 'kumade'
|
27
|
-
```
|
25
|
+
gem 'kumade'
|
28
26
|
|
29
27
|
## Usage
|
30
28
|
|
@@ -70,16 +68,19 @@ Tested against:
|
|
70
68
|
|
71
69
|
Want to run a task before bundling your assets on deploy? In your Rails app's rake tasks, drop in:
|
72
70
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
end
|
79
|
-
```
|
71
|
+
namespace :kumade do
|
72
|
+
task :before_asset_compilation do
|
73
|
+
puts "This runs before assets are committed and pushed to the remote"
|
74
|
+
end
|
75
|
+
end
|
80
76
|
|
81
77
|
You can hook in any custom code you want to run there before deploying!
|
82
78
|
|
79
|
+
## Development
|
80
|
+
To generate coverage (only on 1.9.x), run rake with COVERAGE set:
|
81
|
+
|
82
|
+
COVERAGE=1 rake
|
83
|
+
|
83
84
|
## What's with the name?
|
84
85
|
|
85
86
|
Kumade ([pronunciation here](http://translate.google.com/#ja|en|熊手)) means
|
@@ -28,6 +28,7 @@ Feature: Kumade executable
|
|
28
28
|
git push -f pretend-staging deploy:master
|
29
29
|
==> Pushed deploy:master -> pretend-staging
|
30
30
|
==> Migrated pretend-staging
|
31
|
+
==> Restarted pretend-staging
|
31
32
|
==> Deployed to: pretend-staging
|
32
33
|
"""
|
33
34
|
But the output should not contain "==> Packaged with Kumade::MorePackager"
|
@@ -58,6 +59,7 @@ Feature: Kumade executable
|
|
58
59
|
git push -f pretend-staging deploy:master
|
59
60
|
==> Pushed deploy:master -> pretend-staging
|
60
61
|
==> Migrated pretend-staging
|
62
|
+
==> Restarted pretend-staging
|
61
63
|
==> Deployed to: pretend-staging
|
62
64
|
"""
|
63
65
|
|
data/features/support/env.rb
CHANGED
data/kumade.gemspec
CHANGED
@@ -27,4 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
s.add_development_dependency('jammit', '~> 0.6.3')
|
28
28
|
s.add_development_dependency('less', '~> 2.0')
|
29
29
|
s.add_development_dependency('bourne')
|
30
|
+
if RUBY_VERSION >= '1.9.0'
|
31
|
+
s.add_development_dependency('simplecov')
|
32
|
+
end
|
30
33
|
end
|
data/lib/kumade/command_line.rb
CHANGED
data/lib/kumade/deployer.rb
CHANGED
data/lib/kumade/heroku.rb
CHANGED
@@ -20,6 +20,11 @@ module Kumade
|
|
20
20
|
Kumade.configuration.outputter.success("Migrated #{Kumade.configuration.environment}")
|
21
21
|
end
|
22
22
|
|
23
|
+
def restart_app
|
24
|
+
heroku("restart") unless Kumade.configuration.pretending?
|
25
|
+
Kumade.configuration.outputter.success("Restarted #{Kumade.configuration.environment}")
|
26
|
+
end
|
27
|
+
|
23
28
|
def delete_deploy_branch
|
24
29
|
git.delete(DEPLOY_BRANCH, @branch)
|
25
30
|
end
|
data/lib/kumade/outputter.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
module Kumade
|
2
2
|
class Outputter
|
3
3
|
def success(message)
|
4
|
-
puts "==> #{message}"
|
4
|
+
STDOUT.puts "==> #{message}"
|
5
5
|
end
|
6
6
|
|
7
7
|
def info(message)
|
8
|
-
puts "==> #{message}"
|
8
|
+
STDOUT.puts "==> #{message}"
|
9
9
|
end
|
10
10
|
|
11
11
|
def error(message)
|
12
|
-
puts "==> ! #{message}"
|
12
|
+
STDOUT.puts "==> ! #{message}"
|
13
13
|
raise Kumade::DeploymentError, message
|
14
14
|
end
|
15
15
|
|
16
16
|
def say_command(command)
|
17
17
|
prefix = " " * 8
|
18
|
-
puts "#{prefix}#{command}"
|
18
|
+
STDOUT.puts "#{prefix}#{command}"
|
19
19
|
end
|
20
20
|
end
|
21
21
|
end
|
data/lib/kumade/version.rb
CHANGED
data/spec/kumade/cli_spec.rb
CHANGED
@@ -70,8 +70,8 @@ describe Kumade::CLI, ".deployer" do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
describe Kumade::CLI, ".swapping_stdout_for" do
|
73
|
-
let(:stdout) { $stdout }
|
74
|
-
let(:output)
|
73
|
+
let!(:stdout) { $stdout }
|
74
|
+
let(:output) { StringIO.new }
|
75
75
|
|
76
76
|
before do
|
77
77
|
stdout.stubs(:print => nil, :puts => nil)
|
@@ -83,6 +83,7 @@ describe Kumade::CLI, ".swapping_stdout_for" do
|
|
83
83
|
end
|
84
84
|
|
85
85
|
stdout.should have_received(:print).never
|
86
|
+
stdout.should have_received(:puts).never
|
86
87
|
|
87
88
|
output.rewind
|
88
89
|
output.read.should == "Hello, you can't see me.\n"
|
@@ -94,7 +95,7 @@ describe Kumade::CLI, ".swapping_stdout_for" do
|
|
94
95
|
raise Kumade::DeploymentError.new("error")
|
95
96
|
end
|
96
97
|
|
97
|
-
stdout.should have_received(:print)
|
98
|
+
stdout.should have_received(:print).with("Hello, you can see me!\n")
|
98
99
|
end
|
99
100
|
|
100
101
|
context "in print output mode" do
|
@@ -103,7 +104,7 @@ describe Kumade::CLI, ".swapping_stdout_for" do
|
|
103
104
|
$stdout.puts "Hello, you can see me!"
|
104
105
|
end
|
105
106
|
|
106
|
-
stdout.should have_received(:puts)
|
107
|
+
stdout.should have_received(:puts).with("Hello, you can see me!")
|
107
108
|
end
|
108
109
|
end
|
109
110
|
end
|
@@ -4,7 +4,7 @@ describe Kumade::CommandLine, "#run_or_error", :with_mock_outputter do
|
|
4
4
|
subject { Kumade::CommandLine.new("echo") }
|
5
5
|
|
6
6
|
context "when pretending" do
|
7
|
-
let(:command_line) { stub("Cocaine::CommandLine instance", :run =>
|
7
|
+
let(:command_line) { stub("Cocaine::CommandLine instance", :run => "does-not-matter", :command => 'command') }
|
8
8
|
|
9
9
|
before do
|
10
10
|
Cocaine::CommandLine.stubs(:new).returns(command_line)
|
@@ -24,12 +24,16 @@ describe Kumade::CommandLine, "#run_or_error", :with_mock_outputter do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
context "when successful" do
|
27
|
+
let(:command_line) { stub("Cocaine::CommandLine instance", :run => command_line_result, :command => 'command') }
|
28
|
+
let(:command_line_result) { "result" }
|
29
|
+
|
27
30
|
before do
|
31
|
+
Cocaine::CommandLine.stubs(:new).returns(command_line)
|
28
32
|
Kumade.configuration.pretending = false
|
29
33
|
end
|
30
34
|
|
31
|
-
it "returns
|
32
|
-
subject.run_or_error.should
|
35
|
+
it "returns the result of running the command" do
|
36
|
+
subject.run_or_error.should == command_line_result
|
33
37
|
end
|
34
38
|
end
|
35
39
|
|
@@ -48,8 +52,9 @@ describe Kumade::CommandLine, "#run_or_error", :with_mock_outputter do
|
|
48
52
|
end
|
49
53
|
|
50
54
|
describe Kumade::CommandLine, "#run_with_status", :with_mock_outputter do
|
51
|
-
let(:command) { "echo" }
|
52
|
-
let(:
|
55
|
+
let(:command) { "echo blah" }
|
56
|
+
let(:command_line_result) { "blah\n" }
|
57
|
+
let(:command_line) { stub("Cocaine::CommandLine instance", :run => command_line_result, :command => command) }
|
53
58
|
subject { Kumade::CommandLine.new(command) }
|
54
59
|
|
55
60
|
before do
|
@@ -72,7 +77,7 @@ describe Kumade::CommandLine, "#run_with_status", :with_mock_outputter do
|
|
72
77
|
end
|
73
78
|
|
74
79
|
it "returns true" do
|
75
|
-
subject.run_with_status.should
|
80
|
+
subject.run_with_status.should == true
|
76
81
|
end
|
77
82
|
end
|
78
83
|
|
@@ -84,15 +89,19 @@ describe Kumade::CommandLine, "#run_with_status", :with_mock_outputter do
|
|
84
89
|
|
85
90
|
command_line.should have_received(:run).once
|
86
91
|
end
|
92
|
+
|
93
|
+
it "returns the result of running the command" do
|
94
|
+
subject.run_with_status.should == command_line_result
|
95
|
+
end
|
87
96
|
end
|
88
97
|
end
|
89
98
|
|
90
99
|
describe Kumade::CommandLine, "#run", :with_mock_outputter do
|
91
100
|
context "when successful" do
|
92
|
-
subject { Kumade::CommandLine.new("echo") }
|
101
|
+
subject { Kumade::CommandLine.new("echo -n blah") }
|
93
102
|
|
94
|
-
it "returns
|
95
|
-
subject.run.should ==
|
103
|
+
it "returns the result of running the command" do
|
104
|
+
subject.run.should == "blah"
|
96
105
|
end
|
97
106
|
end
|
98
107
|
|
@@ -23,6 +23,7 @@ describe Kumade::Deployer, "#deploy", :with_mock_outputter do
|
|
23
23
|
subject.expects(:pre_deploy)
|
24
24
|
subject.heroku.expects(:sync)
|
25
25
|
subject.heroku.expects(:migrate_database)
|
26
|
+
subject.heroku.expects(:restart_app)
|
26
27
|
subject.expects(:post_deploy)
|
27
28
|
|
28
29
|
subject.deploy
|
data/spec/kumade/heroku_spec.rb
CHANGED
@@ -56,6 +56,39 @@ describe Kumade::Heroku, "#migrate_database", :with_mock_outputter do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
+
describe Kumade::Heroku, "#restart_app", :with_mock_outputter do
|
60
|
+
let(:environment) { 'staging' }
|
61
|
+
|
62
|
+
before do
|
63
|
+
subject.stubs(:heroku)
|
64
|
+
force_add_heroku_remote(environment)
|
65
|
+
end
|
66
|
+
|
67
|
+
it "runs the heroku restart command" do
|
68
|
+
subject.restart_app
|
69
|
+
|
70
|
+
subject.should have_received(:heroku).with("restart")
|
71
|
+
end
|
72
|
+
|
73
|
+
it "prints a message" do
|
74
|
+
subject.restart_app
|
75
|
+
|
76
|
+
Kumade.configuration.outputter.should have_received(:success).with(regexp_matches(/Restarted #{environment}/))
|
77
|
+
end
|
78
|
+
|
79
|
+
context "when pretending" do
|
80
|
+
before do
|
81
|
+
Kumade.configuration.pretending = true
|
82
|
+
end
|
83
|
+
|
84
|
+
it "does not run the command" do
|
85
|
+
subject.restart_app
|
86
|
+
|
87
|
+
subject.should have_received(:heroku).never
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
59
92
|
describe Kumade::Heroku, "#heroku", :with_mock_outputter do
|
60
93
|
let(:command_instance) { stub("Kumade::CommandLine instance", :run_or_error => true) }
|
61
94
|
|
@@ -1,9 +1,11 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Kumade::NoopPackager
|
3
|
+
describe Kumade::NoopPackager do
|
4
4
|
subject { Kumade::NoopPackager }
|
5
5
|
|
6
6
|
it_should_behave_like "packager"
|
7
7
|
|
8
8
|
its(:assets_path) { should == "" }
|
9
|
+
|
10
|
+
it { should_not be_installed }
|
9
11
|
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/heroku.rb
CHANGED
@@ -1,33 +1,23 @@
|
|
1
1
|
shared_context "when on Cedar" do
|
2
|
-
let(:command_line)
|
2
|
+
let(:command_line) { mock("Kumade::CommandLine") }
|
3
|
+
let(:stack_command) { "bundle exec heroku stack --remote staging" }
|
4
|
+
let(:heroku_output) { ["aspen-mri-1.8.6", "bamboo-mri-1.9.2", "bamboo-ree-1.8.7", "* cedar (beta)"].join("\n") }
|
3
5
|
|
4
6
|
before do
|
5
|
-
Kumade::CommandLine.expects(:new).
|
6
|
-
with("bundle exec heroku stack --remote staging").
|
7
|
-
returns(command_line)
|
7
|
+
Kumade::CommandLine.expects(:new).with(stack_command).returns(command_line)
|
8
8
|
|
9
|
-
command_line.expects(:run_or_error).returns(
|
10
|
-
aspen-mri-1.8.6
|
11
|
-
bamboo-mri-1.9.2
|
12
|
-
bamboo-ree-1.8.7
|
13
|
-
* cedar (beta)
|
14
|
-
})
|
9
|
+
command_line.expects(:run_or_error).returns(heroku_output)
|
15
10
|
end
|
16
11
|
end
|
17
12
|
|
18
13
|
shared_context "when not on Cedar" do
|
19
|
-
let(:command_line)
|
14
|
+
let(:command_line) { mock("Kumade::CommandLine") }
|
15
|
+
let(:stack_command) { "bundle exec heroku stack --remote staging" }
|
16
|
+
let(:heroku_output) { ["aspen-mri-1.8.6", "* bamboo-mri-1.9.2", "bamboo-ree-1.8.7", "cedar (beta)"].join("\n") }
|
20
17
|
|
21
18
|
before do
|
22
|
-
Kumade::CommandLine.expects(:new).
|
23
|
-
with("bundle exec heroku stack --remote staging").
|
24
|
-
returns(command_line)
|
19
|
+
Kumade::CommandLine.expects(:new).with(stack_command).returns(command_line)
|
25
20
|
|
26
|
-
command_line.expects(:run_or_error).returns(
|
27
|
-
aspen-mri-1.8.6
|
28
|
-
* bamboo-mri-1.9.2
|
29
|
-
bamboo-ree-1.8.7
|
30
|
-
cedar (beta)
|
31
|
-
})
|
21
|
+
command_line.expects(:run_or_error).returns(heroku_output)
|
32
22
|
end
|
33
23
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kumade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2011-10-
|
13
|
+
date: 2011-10-21 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: heroku
|
17
|
-
requirement: &
|
17
|
+
requirement: &70180072865600 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '2.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70180072865600
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rake
|
28
|
-
requirement: &
|
28
|
+
requirement: &70180072864740 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.8.7
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70180072864740
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: cocaine
|
39
|
-
requirement: &
|
39
|
+
requirement: &70180072862960 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 0.2.0
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70180072862960
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rake
|
50
|
-
requirement: &
|
50
|
+
requirement: &70180072854560 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.8.7
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70180072854560
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rspec
|
61
|
-
requirement: &
|
61
|
+
requirement: &70180072853060 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 2.6.0
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70180072853060
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: cucumber
|
72
|
-
requirement: &
|
72
|
+
requirement: &70180072851460 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.0.2
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70180072851460
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: aruba
|
83
|
-
requirement: &
|
83
|
+
requirement: &70180072850160 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: 0.4.3
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70180072850160
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: jammit
|
94
|
-
requirement: &
|
94
|
+
requirement: &70180072849500 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ~>
|
@@ -99,10 +99,10 @@ dependencies:
|
|
99
99
|
version: 0.6.3
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *70180072849500
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: less
|
105
|
-
requirement: &
|
105
|
+
requirement: &70180072848760 !ruby/object:Gem::Requirement
|
106
106
|
none: false
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
@@ -110,10 +110,10 @@ dependencies:
|
|
110
110
|
version: '2.0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
|
-
version_requirements: *
|
113
|
+
version_requirements: *70180072848760
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: bourne
|
116
|
-
requirement: &
|
116
|
+
requirement: &70180072848100 !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
119
119
|
- - ! '>='
|
@@ -121,7 +121,18 @@ dependencies:
|
|
121
121
|
version: '0'
|
122
122
|
type: :development
|
123
123
|
prerelease: false
|
124
|
-
version_requirements: *
|
124
|
+
version_requirements: *70180072848100
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov
|
127
|
+
requirement: &70180072840840 !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ! '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: *70180072840840
|
125
136
|
description: A well-tested script for easy deploying to Heroku
|
126
137
|
email:
|
127
138
|
- gabe@thoughtbot.com
|
@@ -132,6 +143,7 @@ extensions: []
|
|
132
143
|
extra_rdoc_files: []
|
133
144
|
files:
|
134
145
|
- .gitignore
|
146
|
+
- .simplecov
|
135
147
|
- .travis.yml
|
136
148
|
- Changelog.md
|
137
149
|
- Gemfile
|
@@ -199,7 +211,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
199
211
|
version: '0'
|
200
212
|
segments:
|
201
213
|
- 0
|
202
|
-
hash:
|
214
|
+
hash: -2390276882750566623
|
203
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
204
216
|
none: false
|
205
217
|
requirements:
|
@@ -208,10 +220,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
220
|
version: '0'
|
209
221
|
segments:
|
210
222
|
- 0
|
211
|
-
hash:
|
223
|
+
hash: -2390276882750566623
|
212
224
|
requirements: []
|
213
225
|
rubyforge_project:
|
214
|
-
rubygems_version: 1.8.
|
226
|
+
rubygems_version: 1.8.11
|
215
227
|
signing_key:
|
216
228
|
specification_version: 3
|
217
229
|
summary: A well-tested script for easy deploying to Heroku
|