capistrano-campfire 0.1.3 → 0.2.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/Gemfile +10 -0
- data/Gemfile.lock +61 -0
- data/README.rdoc +22 -0
- data/Rakefile +0 -4
- data/VERSION +1 -1
- data/capistrano-campfire.gemspec +22 -11
- data/lib/capistrano/campfire.rb +47 -10
- data/spec/capistrano-campfire_spec.rb +78 -12
- metadata +75 -63
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
GEM
|
2
|
+
remote: http://rubygems.org/
|
3
|
+
specs:
|
4
|
+
capistrano (2.12.0)
|
5
|
+
highline
|
6
|
+
net-scp (>= 1.0.0)
|
7
|
+
net-sftp (>= 2.0.0)
|
8
|
+
net-ssh (>= 2.0.14)
|
9
|
+
net-ssh-gateway (>= 1.1.0)
|
10
|
+
capistrano-spec (0.1.0)
|
11
|
+
eventmachine (1.0.0)
|
12
|
+
faraday (0.8.4)
|
13
|
+
multipart-post (~> 1.1)
|
14
|
+
faraday_middleware (0.8.8)
|
15
|
+
faraday (>= 0.7.4, < 0.9)
|
16
|
+
git (1.2.5)
|
17
|
+
hashie (1.2.0)
|
18
|
+
highline (1.6.14)
|
19
|
+
http_parser.rb (0.5.3)
|
20
|
+
jeweler (1.6.4)
|
21
|
+
bundler (~> 1.0)
|
22
|
+
git (>= 1.2.5)
|
23
|
+
rake
|
24
|
+
json (1.7.5)
|
25
|
+
mime-types (1.19)
|
26
|
+
multi_json (1.3.6)
|
27
|
+
multipart-post (1.1.5)
|
28
|
+
net-scp (1.0.4)
|
29
|
+
net-ssh (>= 1.99.1)
|
30
|
+
net-sftp (2.0.5)
|
31
|
+
net-ssh (>= 2.0.9)
|
32
|
+
net-ssh (2.5.2)
|
33
|
+
net-ssh-gateway (1.1.0)
|
34
|
+
net-ssh (>= 1.99.1)
|
35
|
+
rake (0.9.2.2)
|
36
|
+
rspec (1.2.9)
|
37
|
+
simple_oauth (0.1.9)
|
38
|
+
tinder (1.9.1)
|
39
|
+
eventmachine (>= 0.12.0, < 2)
|
40
|
+
faraday (~> 0.8)
|
41
|
+
faraday_middleware (~> 0.8)
|
42
|
+
hashie (~> 1.0)
|
43
|
+
json (~> 1.6)
|
44
|
+
mime-types (~> 1.16)
|
45
|
+
multi_json (~> 1.0)
|
46
|
+
multipart-post (~> 1.1)
|
47
|
+
twitter-stream (~> 0.1)
|
48
|
+
twitter-stream (0.1.16)
|
49
|
+
eventmachine (>= 0.12.8)
|
50
|
+
http_parser.rb (~> 0.5.1)
|
51
|
+
simple_oauth (~> 0.1.4)
|
52
|
+
|
53
|
+
PLATFORMS
|
54
|
+
ruby
|
55
|
+
|
56
|
+
DEPENDENCIES
|
57
|
+
capistrano
|
58
|
+
capistrano-spec
|
59
|
+
jeweler
|
60
|
+
rspec (~> 1.2.9)
|
61
|
+
tinder
|
data/README.rdoc
CHANGED
@@ -22,6 +22,28 @@ And here's a quick example for your `config/deploy.rb`:
|
|
22
22
|
campfire_room.speak 'o hai'
|
23
23
|
end
|
24
24
|
|
25
|
+
|
26
|
+
You can also be posting to multiple campfire rooms/accounts.
|
27
|
+
|
28
|
+
require 'capistrano/campfire'
|
29
|
+
|
30
|
+
set :campfire_options, :rooms => [{
|
31
|
+
:account => 'zim',
|
32
|
+
:room => 'World Conquest',
|
33
|
+
:token => '001000101110101001011112',
|
34
|
+
}, {
|
35
|
+
:account => 'swolleneyeballnetwork',
|
36
|
+
:room => 'Agents',
|
37
|
+
:token => '2001000101110101001011110',
|
38
|
+
}],
|
39
|
+
:ssl => true
|
40
|
+
|
41
|
+
|
42
|
+
task :ohai do
|
43
|
+
campfire_rooms.speak 'o hai'
|
44
|
+
end
|
45
|
+
|
46
|
+
|
25
47
|
== Note on Patches/Pull Requests
|
26
48
|
|
27
49
|
* Fork the project.
|
data/Rakefile
CHANGED
@@ -10,8 +10,6 @@ begin
|
|
10
10
|
gem.email = "josh@technicalpickles.com"
|
11
11
|
gem.homepage = "http://github.com/technicalpickles/capistrano-campfire"
|
12
12
|
gem.authors = ["Joshua Nichols"]
|
13
|
-
gem.add_dependency "tinder"
|
14
|
-
gem.add_development_dependency "rspec", ">= 1.2.9"
|
15
13
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
16
14
|
end
|
17
15
|
Jeweler::GemcutterTasks.new
|
@@ -31,8 +29,6 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
|
|
31
29
|
spec.rcov = true
|
32
30
|
end
|
33
31
|
|
34
|
-
task :spec => :check_dependencies
|
35
|
-
|
36
32
|
task :default => :spec
|
37
33
|
|
38
34
|
require 'rake/rdoctask'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/capistrano-campfire.gemspec
CHANGED
@@ -4,20 +4,22 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "capistrano-campfire"
|
8
|
+
s.version = "0.2.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Joshua Nichols"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2012-10-15"
|
13
|
+
s.description = " capistrano-tinder is a very simple library for making a Campfire room accessible from capistrano. All it does is provide said access, and nothing more, preferring to let other gems do that trickery. "
|
14
|
+
s.email = "josh@technicalpickles.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE",
|
17
17
|
"README.rdoc"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
|
+
"Gemfile",
|
22
|
+
"Gemfile.lock",
|
21
23
|
"LICENSE",
|
22
24
|
"README.rdoc",
|
23
25
|
"Rakefile",
|
@@ -30,24 +32,33 @@ Gem::Specification.new do |s|
|
|
30
32
|
"spec/spec.opts",
|
31
33
|
"spec/spec_helper.rb"
|
32
34
|
]
|
33
|
-
s.homepage =
|
35
|
+
s.homepage = "http://github.com/technicalpickles/capistrano-campfire"
|
34
36
|
s.require_paths = ["lib"]
|
35
|
-
s.rubygems_version =
|
36
|
-
s.summary =
|
37
|
+
s.rubygems_version = "1.8.10"
|
38
|
+
s.summary = "Post to Campfire from capistrano"
|
37
39
|
|
38
40
|
if s.respond_to? :specification_version then
|
39
41
|
s.specification_version = 3
|
40
42
|
|
41
43
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<capistrano>, [">= 0"])
|
42
45
|
s.add_runtime_dependency(%q<tinder>, [">= 0"])
|
43
|
-
s.add_development_dependency(%q<rspec>, ["
|
46
|
+
s.add_development_dependency(%q<rspec>, ["~> 1.2.9"])
|
47
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<capistrano-spec>, [">= 0"])
|
44
49
|
else
|
50
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
45
51
|
s.add_dependency(%q<tinder>, [">= 0"])
|
46
|
-
s.add_dependency(%q<rspec>, ["
|
52
|
+
s.add_dependency(%q<rspec>, ["~> 1.2.9"])
|
53
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
54
|
+
s.add_dependency(%q<capistrano-spec>, [">= 0"])
|
47
55
|
end
|
48
56
|
else
|
57
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
49
58
|
s.add_dependency(%q<tinder>, [">= 0"])
|
50
|
-
s.add_dependency(%q<rspec>, ["
|
59
|
+
s.add_dependency(%q<rspec>, ["~> 1.2.9"])
|
60
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
61
|
+
s.add_dependency(%q<capistrano-spec>, [">= 0"])
|
51
62
|
end
|
52
63
|
end
|
53
64
|
|
data/lib/capistrano/campfire.rb
CHANGED
@@ -3,26 +3,63 @@ require 'tinder'
|
|
3
3
|
|
4
4
|
module Capistrano
|
5
5
|
module Campfire
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
class RoomCollection
|
7
|
+
def initialize(campfire_options)
|
8
|
+
rooms_options = campfire_options[:rooms]
|
9
9
|
|
10
|
-
|
10
|
+
# if no rooms specified, let's assume the campfire_options has everything
|
11
|
+
# so let's fake it
|
12
|
+
unless rooms_options
|
13
|
+
rooms_options = [{}]
|
14
|
+
end
|
15
|
+
|
16
|
+
@rooms = rooms_options.map do |room_options|
|
17
|
+
account = room_options[:account] || campfire_options[:account]
|
18
|
+
token = room_options[:token] || campfire_options[:token]
|
19
|
+
ssl = room_options[:ssl] || campfire_options[:ssl]
|
20
|
+
ssl_verify = room_options[:ssl_verify] || campfire_options[:ssl_verify]
|
21
|
+
room_name = room_options[:room] || campfire_options[:room]
|
11
22
|
|
12
|
-
account = campfire_options[:account]
|
13
|
-
token = campfire_options[:token]
|
14
|
-
ssl = campfire_options[:ssl]
|
15
|
-
ssl_verify = campfire_options[:ssl_verify]
|
16
|
-
room_name = campfire_options[:room]
|
17
23
|
|
18
24
|
campfire = ::Tinder::Campfire.new account,
|
19
25
|
:token => token,
|
20
26
|
:ssl => ssl,
|
21
27
|
:ssl_verify => ssl_verify
|
22
|
-
|
23
28
|
campfire.find_room_by_name(room_name)
|
24
29
|
end
|
25
30
|
end
|
31
|
+
|
32
|
+
def speak(message)
|
33
|
+
@rooms.each do |room|
|
34
|
+
room.speak message
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def paste(message)
|
39
|
+
@rooms.each do |room|
|
40
|
+
room.paste message
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def play(message)
|
45
|
+
@rooms.each do |room|
|
46
|
+
room.play message
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.extended(configuration)
|
52
|
+
configuration.load do
|
53
|
+
set :campfire_options, {}
|
54
|
+
|
55
|
+
set :campfire_room do
|
56
|
+
RoomCollection.new(campfire_options)
|
57
|
+
end
|
58
|
+
|
59
|
+
set :campfire_rooms do
|
60
|
+
RoomCollection.new(campfire_options)
|
61
|
+
end
|
62
|
+
end
|
26
63
|
end
|
27
64
|
|
28
65
|
end
|
@@ -16,23 +16,89 @@ describe Capistrano::Campfire do
|
|
16
16
|
configuration.campfire_options.should == {}
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
context "with configuration for a single room" do
|
20
|
+
before do
|
21
|
+
configuration.set :campfire_options, {
|
22
|
+
:account => "awesomellc",
|
23
|
+
:token => "yyz123",
|
24
|
+
:ssl => true,
|
25
|
+
:room => "General Awesomeness"
|
26
|
+
}
|
26
27
|
|
27
|
-
|
28
|
-
|
28
|
+
@campfire = stub("campfire")
|
29
|
+
::Tinder::Campfire.should_receive(:new).with("awesomellc", :token => "yyz123", :ssl => true, :ssl_verify => nil).and_return(@campfire)
|
29
30
|
|
30
|
-
|
31
|
-
|
31
|
+
@room = stub("room")
|
32
|
+
@campfire.should_receive(:find_room_by_name).with("General Awesomeness").and_return(@room)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
it "speaks in a single room using `campfire_room.speak`" do
|
37
|
+
@room.should_receive(:speak).with("IMPENDING DOOM")
|
38
|
+
|
39
|
+
configuration.campfire_room.speak "IMPENDING DOOM"
|
40
|
+
end
|
41
|
+
|
42
|
+
it "pastes in a single room using `campfire_room.paste`" do
|
43
|
+
@room.should_receive(:paste).with("IMPENDING DOOM")
|
44
|
+
|
45
|
+
configuration.campfire_room.paste "IMPENDING DOOM"
|
46
|
+
end
|
47
|
+
|
48
|
+
it "plays in a single room using `campfire_room.play`" do
|
49
|
+
@room.should_receive(:play).with("IMPENDING DOOM")
|
50
|
+
|
51
|
+
configuration.campfire_room.play "IMPENDING DOOM"
|
52
|
+
end
|
32
53
|
|
33
|
-
configuration.campfire_room.should == room
|
34
54
|
end
|
35
55
|
|
56
|
+
context "with configuration for multiple rooms" do
|
57
|
+
before do
|
58
|
+
configuration.set :campfire_options, :rooms => [{
|
59
|
+
:account => 'zim',
|
60
|
+
:room => 'World Conquest',
|
61
|
+
:token => '001000101110101001011112'
|
62
|
+
}, {
|
63
|
+
:account => 'swolleneyeballnetwork',
|
64
|
+
:room => 'Agents',
|
65
|
+
:token => '2001000101110101001011110'
|
66
|
+
}],
|
67
|
+
:ssl => true
|
68
|
+
@zim_campfire = stub("zim_campfire")
|
69
|
+
::Tinder::Campfire.should_receive(:new).with('zim', :token => '001000101110101001011112', :ssl => true, :ssl_verify => nil).and_return(@zim_campfire)
|
70
|
+
|
71
|
+
@world_conquest_room = stub("world_conquest_room")
|
72
|
+
@zim_campfire.should_receive(:find_room_by_name).with("World Conquest").and_return(@world_conquest_room)
|
73
|
+
|
74
|
+
@swolleneyeballnetwork_campfire = stub("swolleneyeballnetwork_campfire")
|
75
|
+
::Tinder::Campfire.should_receive(:new).with('swolleneyeballnetwork', :token => '2001000101110101001011110', :ssl => true, :ssl_verify => nil).and_return(@swolleneyeballnetwork_campfire)
|
76
|
+
|
77
|
+
@agents_room = stub("agents_room")
|
78
|
+
@swolleneyeballnetwork_campfire.should_receive(:find_room_by_name).with("Agents").and_return(@agents_room)
|
79
|
+
end
|
80
|
+
|
81
|
+
it "speaks in all rooms using `campfire_rooms.speak`" do
|
82
|
+
@world_conquest_room.should_receive(:speak).with("DOOM IMPENDING")
|
83
|
+
@agents_room.should_receive(:speak).with("DOOM IMPENDING")
|
84
|
+
|
85
|
+
configuration.campfire_rooms.speak "DOOM IMPENDING"
|
86
|
+
end
|
87
|
+
|
88
|
+
it "pastes in all rooms using `campfire_rooms.paste`" do
|
89
|
+
@world_conquest_room.should_receive(:paste).with("DOOM IMPENDING")
|
90
|
+
@agents_room.should_receive(:paste).with("DOOM IMPENDING")
|
91
|
+
|
92
|
+
configuration.campfire_rooms.paste "DOOM IMPENDING"
|
93
|
+
end
|
94
|
+
|
95
|
+
it "plays in all rooms using `campfire_rooms.plays`" do
|
96
|
+
@world_conquest_room.should_receive(:play).with("DOOM IMPENDING")
|
97
|
+
@agents_room.should_receive(:play).with("DOOM IMPENDING")
|
98
|
+
|
99
|
+
configuration.campfire_rooms.play "DOOM IMPENDING"
|
100
|
+
end
|
101
|
+
end
|
36
102
|
end
|
37
103
|
|
38
104
|
end
|
metadata
CHANGED
@@ -1,64 +1,84 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-campfire
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 3
|
10
|
-
version: 0.1.3
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Joshua Nichols
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
12
|
+
date: 2012-10-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: capistrano
|
16
|
+
requirement: &70225647408000 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
|
24
|
+
version_requirements: *70225647408000
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: tinder
|
27
|
+
requirement: &70225647406840 !ruby/object:Gem::Requirement
|
25
28
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
33
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rspec
|
37
34
|
prerelease: false
|
38
|
-
|
35
|
+
version_requirements: *70225647406840
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: rspec
|
38
|
+
requirement: &70225647405420 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 13
|
44
|
-
segments:
|
45
|
-
- 1
|
46
|
-
- 2
|
47
|
-
- 9
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
48
43
|
version: 1.2.9
|
49
44
|
type: :development
|
50
|
-
|
51
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70225647405420
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: jeweler
|
49
|
+
requirement: &70225647549080 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
type: :development
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *70225647549080
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: capistrano-spec
|
60
|
+
requirement: &70225647548260 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70225647548260
|
69
|
+
description: ! ' capistrano-tinder is a very simple library for making a Campfire
|
70
|
+
room accessible from capistrano. All it does is provide said access, and nothing
|
71
|
+
more, preferring to let other gems do that trickery. '
|
52
72
|
email: josh@technicalpickles.com
|
53
73
|
executables: []
|
54
|
-
|
55
74
|
extensions: []
|
56
|
-
|
57
|
-
extra_rdoc_files:
|
75
|
+
extra_rdoc_files:
|
58
76
|
- LICENSE
|
59
77
|
- README.rdoc
|
60
|
-
files:
|
78
|
+
files:
|
61
79
|
- .document
|
80
|
+
- Gemfile
|
81
|
+
- Gemfile.lock
|
62
82
|
- LICENSE
|
63
83
|
- README.rdoc
|
64
84
|
- Rakefile
|
@@ -70,39 +90,31 @@ files:
|
|
70
90
|
- spec/capistrano-campfire_spec.rb
|
71
91
|
- spec/spec.opts
|
72
92
|
- spec/spec_helper.rb
|
73
|
-
has_rdoc: true
|
74
93
|
homepage: http://github.com/technicalpickles/capistrano-campfire
|
75
94
|
licenses: []
|
76
|
-
|
77
95
|
post_install_message:
|
78
96
|
rdoc_options: []
|
79
|
-
|
80
|
-
require_paths:
|
97
|
+
require_paths:
|
81
98
|
- lib
|
82
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
100
|
none: false
|
84
|
-
requirements:
|
85
|
-
- -
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
88
|
-
segments:
|
101
|
+
requirements:
|
102
|
+
- - ! '>='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
105
|
+
segments:
|
89
106
|
- 0
|
90
|
-
|
91
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
hash: -4379137590683155220
|
108
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
109
|
none: false
|
93
|
-
requirements:
|
94
|
-
- -
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
|
97
|
-
segments:
|
98
|
-
- 0
|
99
|
-
version: "0"
|
110
|
+
requirements:
|
111
|
+
- - ! '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
100
114
|
requirements: []
|
101
|
-
|
102
115
|
rubyforge_project:
|
103
|
-
rubygems_version: 1.
|
116
|
+
rubygems_version: 1.8.10
|
104
117
|
signing_key:
|
105
118
|
specification_version: 3
|
106
119
|
summary: Post to Campfire from capistrano
|
107
120
|
test_files: []
|
108
|
-
|