cap_gun 0.2.2 → 0.2.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 CHANGED
@@ -1,3 +1,7 @@
1
+ v0.2.4 Clean up and a little more safety around previous revision
2
+
3
+ v0.2.3 Fix the case where there is no previous revision so it doesn't blow up
4
+
1
5
  v0.2.2 SVN support courtesy Olivier Brisse
2
6
 
3
7
  v0.2.1 Documentation update so that it works with ActionMailer 2.3+
@@ -68,7 +68,6 @@ Just include a comment in the cap command like so, and CapGun will add the comme
68
68
 
69
69
  * Log bugs, issues, and suggestions at GitHub: http://github.com/relevance/cap_gun/issues
70
70
  * View source: http://github.com/relevance/cap_gun
71
- * Continuos Integration: http://runcoderun.com/relevance/cap_gun
72
71
  * SDocs: http://relevance.github.com/cap_gun/
73
72
 
74
73
  == LICENSE
data/Rakefile CHANGED
@@ -7,6 +7,8 @@ begin
7
7
  gemspec.homepage = "http://github.com/relevance/cap_gun"
8
8
  gemspec.description = 'Super simple capistrano deployment notifications.'
9
9
  gemspec.authors = ["Rob Sanheim", "Muness Alrubaie", "Relevance"]
10
+ gemspec.add_dependency 'activesupport'
11
+ gemspec.add_dependency 'actionmailer'
10
12
  gemspec.add_development_dependency "micronaut"
11
13
  gemspec.add_development_dependency "mocha"
12
14
  end
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cap_gun}
8
- s.version = "0.2.2"
8
+ s.version = "0.2.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rob Sanheim", "Muness Alrubaie", "Relevance"]
12
- s.date = %q{2009-11-05}
12
+ s.date = %q{2010-05-28}
13
13
  s.description = %q{Super simple capistrano deployment notifications.}
14
14
  s.email = %q{opensource@thinkrelevance.com}
15
15
  s.extra_rdoc_files = [
@@ -23,40 +23,16 @@ Gem::Specification.new do |s|
23
23
  "LICENSE",
24
24
  "README.markdown",
25
25
  "Rakefile",
26
- "VERSION",
27
- "apple-touch-icon.png",
28
26
  "cap_gun.gemspec",
29
- "classes/CapGun.html",
30
- "classes/CapGun/Mailer.html",
31
- "classes/CapGun/Presenter.html",
32
27
  "created.rid",
33
- "css/main.css",
34
- "css/panel.css",
35
- "css/reset.css",
36
28
  "examples/cap_gun_example.rb",
37
29
  "examples/example_helper.rb",
38
30
  "examples/presenter_example.rb",
39
- "favicon.ico",
40
- "files/LICENSE.html",
41
- "files/README_markdown.html",
42
- "files/lib/cap_gun/presenter_rb.html",
43
- "files/lib/cap_gun_rb.html",
44
- "i/arrows.png",
45
- "i/results_bg.png",
46
- "i/tree_bg.png",
47
- "index.html",
48
31
  "init.rb",
49
32
  "install.rb",
50
- "js/jquery-1.3.2.min.js",
51
- "js/jquery-effect.js",
52
- "js/main.js",
53
- "js/searchdoc.js",
54
33
  "lib/cap_gun.rb",
55
34
  "lib/cap_gun/presenter.rb",
56
35
  "manifest.txt",
57
- "panel/index.html",
58
- "panel/search_index.js",
59
- "panel/tree.js",
60
36
  "tasks/cap_bot_tasks.rake",
61
37
  "vendor/action_mailer_tls/README",
62
38
  "vendor/action_mailer_tls/init.rb",
@@ -68,7 +44,7 @@ Gem::Specification.new do |s|
68
44
  s.homepage = %q{http://github.com/relevance/cap_gun}
69
45
  s.rdoc_options = ["--charset=UTF-8"]
70
46
  s.require_paths = ["lib"]
71
- s.rubygems_version = %q{1.3.5}
47
+ s.rubygems_version = %q{1.3.6}
72
48
  s.summary = %q{Bang! You're deployed.}
73
49
  s.test_files = [
74
50
  "examples/cap_gun_example.rb",
@@ -81,14 +57,21 @@ Gem::Specification.new do |s|
81
57
  s.specification_version = 3
82
58
 
83
59
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
60
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
61
+ s.add_runtime_dependency(%q<actionmailer>, [">= 0"])
84
62
  s.add_development_dependency(%q<micronaut>, [">= 0"])
85
63
  s.add_development_dependency(%q<mocha>, [">= 0"])
86
64
  else
65
+ s.add_dependency(%q<activesupport>, [">= 0"])
66
+ s.add_dependency(%q<actionmailer>, [">= 0"])
87
67
  s.add_dependency(%q<micronaut>, [">= 0"])
88
68
  s.add_dependency(%q<mocha>, [">= 0"])
89
69
  end
90
70
  else
71
+ s.add_dependency(%q<activesupport>, [">= 0"])
72
+ s.add_dependency(%q<actionmailer>, [">= 0"])
91
73
  s.add_dependency(%q<micronaut>, [">= 0"])
92
74
  s.add_dependency(%q<mocha>, [">= 0"])
93
75
  end
94
76
  end
77
+
@@ -100,5 +100,17 @@ describe CapGun::Presenter do
100
100
  end
101
101
 
102
102
  end
103
+
104
+ describe "previous_revision" do
105
+
106
+ it "returns n/a if not set" do
107
+ CapGun::Presenter.new({}).previous_revision.should == "n/a"
108
+ end
109
+
110
+ it "returns the previous revision if set" do
111
+ CapGun::Presenter.new({:previous_revision => "100"}).previous_revision.should == "100"
112
+ end
113
+
114
+ end
103
115
 
104
116
  end
@@ -1,3 +1,16 @@
1
+ require 'active_support'
2
+
3
+ begin
4
+ # This requires the full active_support.
5
+ # ActiveSupport v3 and up are modular and
6
+ # need to be explicitly loaded.
7
+ # Rescue in cases of ActiveSupport 2.3.2 and earlier.
8
+ require 'active_support/all'
9
+ rescue
10
+ # Do nothing, everything should be included
11
+ # by default in older versions of ActiveSupport.
12
+ end
13
+
1
14
  require 'action_mailer'
2
15
 
3
16
  require File.join(File.dirname(__FILE__), *%w[cap_gun presenter])
@@ -28,7 +41,7 @@ require File.join(File.dirname(__FILE__), *%w[.. vendor action_mailer_tls lib sm
28
41
  #
29
42
  # See README for full install/config instructions.
30
43
  module CapGun
31
- VERSION = '0.0.11'
44
+ VERSION = '0.2.4'
32
45
 
33
46
  # This mailer is configured with a capistrano variable called "cap_gun_email_envelope"
34
47
  class Mailer < ActionMailer::Base
@@ -67,9 +80,13 @@ if Object.const_defined?("Capistrano")
67
80
  desc "Send notification of the current release and the previous release via email."
68
81
  task :email, :roles => :app do
69
82
  CapGun::Mailer.load_mailer_config(self)
70
- CapGun::Mailer.deliver_deployment_notification(self)
83
+ if CapGun::Mailer.respond_to?(:deliver_deployment_notification)
84
+ CapGun::Mailer.deliver_deployment_notification(self)
85
+ else
86
+ CapGun::Mailer.deployment_notification(self).deliver
87
+ end
71
88
  end
72
89
  end
73
90
 
74
91
  end
75
- end
92
+ end
@@ -10,7 +10,6 @@ module CapGun
10
10
  def initialize(capistrano)
11
11
  self.capistrano = capistrano
12
12
  end
13
-
14
13
 
15
14
  def recipients
16
15
  capistrano[:cap_gun_email_envelope][:recipients]
@@ -58,9 +57,9 @@ module CapGun
58
57
  def scm_log_messages
59
58
  messages = case capistrano[:scm].to_sym
60
59
  when :git
61
- `git log #{capistrano[:previous_revision]}..#{capistrano[:current_revision]} --pretty=format:%h:%s`
60
+ `git log #{previous_revision}..#{capistrano[:current_revision]} --pretty=format:%h:%s`
62
61
  when :subversion
63
- `svn log -r #{capistrano[:previous_revision].to_i+1}:#{capistrano[:current_revision]}`
62
+ `svn log -r #{previous_revision.to_i+1}:#{capistrano[:current_revision]}`
64
63
  else
65
64
  "N/A"
66
65
  end
@@ -103,6 +102,10 @@ module CapGun
103
102
  humanize_release_time(capistrano[:current_release])
104
103
  end
105
104
 
105
+ def previous_revision
106
+ capistrano.fetch(:previous_revision, "n/a")
107
+ end
108
+
106
109
  def previous_release_time
107
110
  humanize_release_time(capistrano[:previous_release])
108
111
  end
@@ -127,7 +130,7 @@ Release Revision: #{capistrano[:current_revision]}
127
130
 
128
131
  Previous Release: #{capistrano[:previous_release]}
129
132
  Previous Release Time: #{previous_release_time}
130
- Previous Release Revision: #{capistrano[:previous_revision]}
133
+ Previous Release Revision: #{previous_revision}
131
134
 
132
135
  Repository: #{capistrano[:repository]}
133
136
  Deploy path: #{capistrano[:deploy_to]}
@@ -137,4 +140,4 @@ EOL
137
140
  end
138
141
 
139
142
  end
140
- end
143
+ end
@@ -1,4 +1,5 @@
1
1
  ---
2
- :patch: 2
3
2
  :major: 0
4
3
  :minor: 2
4
+ :build:
5
+ :patch: 4
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cap_gun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 4
9
+ version: 0.2.4
5
10
  platform: ruby
6
11
  authors:
7
12
  - Rob Sanheim
@@ -11,29 +16,57 @@ autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
18
 
14
- date: 2009-11-05 00:00:00 -05:00
19
+ date: 2010-05-28 00:00:00 -04:00
15
20
  default_executable:
16
21
  dependencies:
22
+ - !ruby/object:Gem::Dependency
23
+ name: activesupport
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: actionmailer
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :runtime
45
+ version_requirements: *id002
17
46
  - !ruby/object:Gem::Dependency
18
47
  name: micronaut
19
- type: :development
20
- version_requirement:
21
- version_requirements: !ruby/object:Gem::Requirement
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
22
50
  requirements:
23
51
  - - ">="
24
52
  - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
25
55
  version: "0"
26
- version:
56
+ type: :development
57
+ version_requirements: *id003
27
58
  - !ruby/object:Gem::Dependency
28
59
  name: mocha
29
- type: :development
30
- version_requirement:
31
- version_requirements: !ruby/object:Gem::Requirement
60
+ prerelease: false
61
+ requirement: &id004 !ruby/object:Gem::Requirement
32
62
  requirements:
33
63
  - - ">="
34
64
  - !ruby/object:Gem::Version
65
+ segments:
66
+ - 0
35
67
  version: "0"
36
- version:
68
+ type: :development
69
+ version_requirements: *id004
37
70
  description: Super simple capistrano deployment notifications.
38
71
  email: opensource@thinkrelevance.com
39
72
  executables: []
@@ -50,40 +83,16 @@ files:
50
83
  - LICENSE
51
84
  - README.markdown
52
85
  - Rakefile
53
- - VERSION
54
- - apple-touch-icon.png
55
86
  - cap_gun.gemspec
56
- - classes/CapGun.html
57
- - classes/CapGun/Mailer.html
58
- - classes/CapGun/Presenter.html
59
87
  - created.rid
60
- - css/main.css
61
- - css/panel.css
62
- - css/reset.css
63
88
  - examples/cap_gun_example.rb
64
89
  - examples/example_helper.rb
65
90
  - examples/presenter_example.rb
66
- - favicon.ico
67
- - files/LICENSE.html
68
- - files/README_markdown.html
69
- - files/lib/cap_gun/presenter_rb.html
70
- - files/lib/cap_gun_rb.html
71
- - i/arrows.png
72
- - i/results_bg.png
73
- - i/tree_bg.png
74
- - index.html
75
91
  - init.rb
76
92
  - install.rb
77
- - js/jquery-1.3.2.min.js
78
- - js/jquery-effect.js
79
- - js/main.js
80
- - js/searchdoc.js
81
93
  - lib/cap_gun.rb
82
94
  - lib/cap_gun/presenter.rb
83
95
  - manifest.txt
84
- - panel/index.html
85
- - panel/search_index.js
86
- - panel/tree.js
87
96
  - tasks/cap_bot_tasks.rake
88
97
  - vendor/action_mailer_tls/README
89
98
  - vendor/action_mailer_tls/init.rb
@@ -104,18 +113,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
113
  requirements:
105
114
  - - ">="
106
115
  - !ruby/object:Gem::Version
116
+ segments:
117
+ - 0
107
118
  version: "0"
108
- version:
109
119
  required_rubygems_version: !ruby/object:Gem::Requirement
110
120
  requirements:
111
121
  - - ">="
112
122
  - !ruby/object:Gem::Version
123
+ segments:
124
+ - 0
113
125
  version: "0"
114
- version:
115
126
  requirements: []
116
127
 
117
128
  rubyforge_project:
118
- rubygems_version: 1.3.5
129
+ rubygems_version: 1.3.6
119
130
  signing_key:
120
131
  specification_version: 3
121
132
  summary: Bang! You're deployed.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.0
Binary file
@@ -1,119 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
- <head>
6
- <title>CapGun</title>
7
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
- <link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" />
9
- <link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" />
10
- <script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
11
- <script src="../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
12
- <script src="../js/main.js" type="text/javascript" charset="utf-8"></script>
13
- </head>
14
-
15
- <body>
16
- <div class="banner">
17
- <h1>
18
- <span class="type">Module</span>
19
- CapGun
20
-
21
- </h1>
22
- <ul class="files">
23
-
24
- <li><a href="../files/lib/cap_gun/presenter_rb.html">lib/cap_gun/presenter.rb</a></li>
25
-
26
- <li><a href="../files/lib/cap_gun_rb.html">lib/cap_gun.rb</a></li>
27
-
28
- </ul>
29
- </div>
30
- <div id="bodyContent">
31
- <div id="content">
32
-
33
- <div class="description">
34
- <p>
35
- Tell everyone about your releases! Send email notification after Capistrano
36
- deployments! Rule the world!
37
- </p>
38
- <p>
39
- We include the ActionMailer hack to play nice with Gmail, so that&#8217;s a
40
- super easy way to do this without setting up your own MTA.
41
- </p>
42
- <p>
43
- Example:
44
- </p>
45
- <p>
46
- Want to just shoot everyone an email about the latest status?
47
- </p>
48
- <pre>
49
- cap cap_gun:email
50
- </pre>
51
- <p>
52
- Include comments?
53
- </p>
54
- <pre>
55
- cap -s comment=&quot;hi mom&quot; cap_gun:email
56
- </pre>
57
- <p>
58
- Enable emails after every deploy by adding this to your deploy.rb:
59
- </p>
60
- <pre>
61
- after &quot;deploy&quot;, &quot;cap_gun:email&quot;
62
- </pre>
63
- <p>
64
- Now, next time you deploy, you can optionally include comments:
65
- </p>
66
- <pre>
67
- cap -s comment=&quot;fix for bug #303&quot; deploy
68
- </pre>
69
- <p>
70
- See README for full install/config instructions.
71
- </p>
72
-
73
- </div>
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
- <div class="sectiontitle">Classes and Modules</div>
90
- <ul>
91
-
92
- <li><span class="type">CLASS</span> <a href="CapGun/Mailer.html">CapGun::Mailer</a></li>
93
-
94
- <li><span class="type">CLASS</span> <a href="CapGun/Presenter.html">CapGun::Presenter</a></li>
95
-
96
- </ul>
97
-
98
-
99
-
100
- <div class="sectiontitle">Constants</div>
101
- <table border='0' cellpadding='5'>
102
-
103
- <tr valign='top'>
104
- <td class="attr-name">VERSION</td>
105
- <td>=</td>
106
- <td class="attr-value">'0.0.11'</td>
107
- </tr>
108
-
109
-
110
- </table>
111
-
112
-
113
-
114
-
115
-
116
- </div>
117
- </div>
118
- </body>
119
- </html>