camper_van 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -4,11 +4,31 @@
4
4
  # development environment upon cd'ing into the directory
5
5
 
6
6
  # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
7
- environment_id="ruby-1.9.2-p180@camper_van"
7
+ environment_id="ruby-1.9.3-p0@camper_van"
8
+
9
+ #
10
+ # Uncomment the following lines if you want to verify rvm version per project
11
+ #
12
+ # rvmrc_rvm_version="1.10.1" # 1.10.1 seams as a safe start
13
+ # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
+ # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
+ # return 1
16
+ # }
17
+ #
18
+
19
+ #
20
+ # Uncomment following line if you want options to be set only for given project.
21
+ #
22
+ # PROJECT_JRUBY_OPTS=( --1.9 )
23
+ #
24
+ # The variable PROJECT_JRUBY_OPTS requires the following to be run in shell:
25
+ #
26
+ # chmod +x ${rvm_path}/hooks/after_use_jruby_opts
27
+ #
8
28
 
9
29
  #
10
30
  # First we attempt to load the desired environment directly from the environment
11
- # file. This is very fast and efficicent compared to running through the entire
31
+ # file. This is very fast and efficient compared to running through the entire
12
32
  # CLI and selector. If you want feedback on which environment was used then
13
33
  # insert the word 'use' after --create as this triggers verbose mode.
14
34
  #
@@ -17,15 +37,16 @@ if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
17
37
  then
18
38
  \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
19
39
 
20
- if [[ -s ".rvm/hooks/after_use" ]]
40
+ if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
21
41
  then
22
- . ".rvm/hooks/after_use"
42
+ . "${rvm_path:-$HOME/.rvm}/hooks/after_use"
23
43
  fi
24
44
  else
25
45
  # If the environment file has not yet been created, use the RVM CLI to select.
26
46
  if ! rvm --create use "$environment_id"
27
47
  then
28
- echo "Failed to create RVM environment 'ruby-1.9.2-p180@campervan'."
48
+ echo "Failed to create RVM environment '${environment_id}'."
49
+ return 1
29
50
  fi
30
51
  fi
31
52
 
@@ -35,26 +56,26 @@ fi
35
56
  # necessary.
36
57
  #
37
58
  # filename=".gems"
38
- # if [[ -s "$filename" ]] ; then
59
+ # if [[ -s "$filename" ]]
60
+ # then
39
61
  # rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
40
62
  # fi
41
63
 
42
- #
43
- # If you use bundler and would like to run bundle each time you enter the
44
- # directory, you can uncomment the following code.
45
- #
46
- # export PATH="./bin:/Users/nathan/.rvm/gems/ruby-1.9.2-p180@camper_van/bin:/Users/nathan/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/nathan/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/nathan/.rvm/bin:/Users/nathan/bin:/Users/nathan/scripts:/usr/local/bin:/usr/local/sbin:/usr/local/share/python:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/Users/nathan/work/git_support/bin:/Users/nathan/work/bin"
47
- #
48
- # # Ensure that Bundler is installed. Install it if it is not.
49
- # if ! command -v bundle >/dev/null; then
50
- # printf "The rubygem 'bundler' is not installed. Installing it now.\n"
51
- # gem install bundler
52
- # fi
53
- #
54
- # # Bundle while reducing excess noise.
55
- # printf "Bundling your gems. This may take a few minutes on a fresh clone.\n"
56
- # bundle --binstubs | grep -v '^Using ' | grep -v ' is complete' | sed '/^$/d'
57
- #
58
- # alias bundle="bundle --binstubs"
59
- #
64
+ # If you use bundler, this might be useful to you:
65
+ # if [[ -s Gemfile ]] && ! command -v bundle >/dev/null
66
+ # then
67
+ # printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
68
+ # gem install bundler
69
+ # fi
70
+ # if [[ -s Gemfile ]] && command -v bundle
71
+ # then
72
+ # bundle install
73
+ # fi
74
+
75
+ if [[ $- == *i* ]] # check for interactive shells
76
+ then
77
+ echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
78
+ else
79
+ echo "Using: $GEM_HOME" # don't use colors in interactive shells
80
+ fi
60
81
 
data/Gemfile CHANGED
@@ -9,6 +9,4 @@ group :development do
9
9
  gem "rb-fsevent", :require => false
10
10
  gem "growl", :require => false
11
11
  gem "guard"
12
- # 0.4.0.rc versions are still git-only
13
- gem "guard-minitest", :git => "https://github.com/guard/guard-minitest.git"
14
12
  end
data/Gemfile.lock CHANGED
@@ -1,14 +1,7 @@
1
- GIT
2
- remote: https://github.com/guard/guard-minitest.git
3
- revision: c5c1efb9cd10f3be36de5c8fdb6615f9b74b5ef0
4
- specs:
5
- guard-minitest (0.4.0)
6
- guard (~> 0.4)
7
-
8
1
  PATH
9
2
  remote: .
10
3
  specs:
11
- camper_van (0.0.1)
4
+ camper_van (0.0.2)
12
5
  eventmachine (~> 0.12.10)
13
6
  firering (~> 1.1.0)
14
7
  logging (~> 1.5.1)
@@ -22,20 +15,20 @@ GEM
22
15
  addressable (>= 2.0.0)
23
16
  escape_utils
24
17
  eventmachine (>= 0.12.9)
25
- escape_utils (0.2.3)
18
+ escape_utils (0.2.4)
26
19
  eventmachine (0.12.10)
27
- firering (1.1.0)
20
+ firering (1.1.1)
28
21
  em-http-request (~> 0.3.0)
29
22
  eventmachine (~> 0.12.10)
30
23
  yajl-ruby (~> 0.7.6)
31
24
  growl (1.0.3)
32
- guard (0.4.2)
25
+ guard (0.8.4)
33
26
  thor (~> 0.14.6)
34
27
  little-plugger (1.1.2)
35
- logging (1.5.1)
28
+ logging (1.5.2)
36
29
  little-plugger (>= 1.1.2)
37
- minitest (2.2.2)
38
- rb-fsevent (0.4.0)
30
+ rake (0.9.2.2)
31
+ rb-fsevent (0.4.3.1)
39
32
  thor (0.14.6)
40
33
  trollop (1.16.2)
41
34
  yajl-ruby (0.7.9)
@@ -47,6 +40,5 @@ DEPENDENCIES
47
40
  camper_van!
48
41
  growl
49
42
  guard
50
- guard-minitest!
51
- minitest (~> 2.2.2)
43
+ rake
52
44
  rb-fsevent
data/Procfile ADDED
@@ -0,0 +1 @@
1
+ server: ruby -I:lib bin/camper_van 0.0.0.0 $PORT
data/bin/camper_van CHANGED
@@ -30,6 +30,10 @@ For irc debugging, use the debugging proxy:
30
30
 
31
31
  opt :log_level, "Log level", :default => "info"
32
32
  opt :log_file, "Log file", :short => "f", :type => :string
33
+ opt :ssl, "Enable SSL for IRC client connections"
34
+ opt :ssl_private_key, "Path to SSL private key file for IRC client connections, defaults to self-signed", :type => :string
35
+ opt :ssl_cert, "Path to SSL cert file for IRC client connections, defaults to self-signed", :type => :string
36
+ opt :ssl_verify_peer, "Verify peers for IRC client connections"
33
37
  end
34
38
 
35
39
  opts = Trollop.with_standard_exception_handling parser do
@@ -54,7 +58,11 @@ else
54
58
  ARGV[0] || "127.0.0.1",
55
59
  ARGV[1] || 6667,
56
60
  :log_level => opts[:log_level].to_sym,
57
- :log_to => opts[:log_file]
61
+ :log_to => opts[:log_file],
62
+ :ssl => opts[:ssl],
63
+ :ssl_private_key => opts[:ssl_private_key],
64
+ :ssl_cert => opts[:ssl_cert],
65
+ :ssl_verify_peer => opts[:ssl_verify_peer]
58
66
  )
59
67
 
60
68
  end
data/camper_van.gemspec CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
7
7
  s.version = CamperVan::VERSION
8
8
  s.authors = ["Nathan Witmer"]
9
9
  s.email = ["nwitmer@gmail.com"]
10
- s.homepage = ""
10
+ s.homepage = "https://github.com/aniero/camper_van"
11
11
  s.summary = %q{An IRC to Campfire bridge}
12
12
  s.description = %q{An IRC to Campfire bridge for IRC-based access to campfire chatrooms}
13
13
 
@@ -23,5 +23,5 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency "logging", "~> 1.5.1"
24
24
  s.add_dependency "trollop", "~> 1.16.2"
25
25
 
26
- s.add_development_dependency "minitest", "~> 2.2.2"
26
+ s.add_development_dependency "rake"
27
27
  end
@@ -121,10 +121,12 @@ module CamperVan
121
121
  # convert ACTIONs
122
122
  msg.sub! /^\01ACTION (.*)\01$/, '*\1*'
123
123
 
124
- if matched = users.values.detect {|u| msg.start_with?(u.nick + ': ')}
125
- msg = msg.sub(/^#{matched.nick}/, matched.name)
124
+ matched = users.values.detect do |user|
125
+ msg =~ /^#{Regexp.escape(user.nick)}($|\W+(\s|$))/
126
126
  end
127
127
 
128
+ msg = msg.sub(/^#{matched.nick}/, matched.name) if matched
129
+
128
130
  room.text(msg) { } # async, no-op callback
129
131
  end
130
132
 
@@ -295,8 +297,10 @@ module CamperVan
295
297
  end
296
298
 
297
299
  when "Enter"
298
- client.campfire_reply :join, name, channel
299
- users[user.id] = User.new(user)
300
+ unless users[user.id]
301
+ client.campfire_reply :join, name, channel
302
+ users[user.id] = User.new(user)
303
+ end
300
304
 
301
305
  when "Leave", "Kick" # kick is used for idle timeouts
302
306
  client.campfire_reply :part, name, channel, "Leaving..."
@@ -337,7 +341,10 @@ module CamperVan
337
341
  if message.body =~ /^\*.*\*$/
338
342
  client.campfire_reply :privmsg, name, channel, ":\01ACTION " + message.body[1..-2] + "\01"
339
343
  else
340
- matched = users.values.detect {|u| message.body.start_with?(u.name + ': ')}
344
+ matched = users.values.detect do |user|
345
+ message.body =~ /^#{Regexp.escape(user.name)}(\W+(\s|$)|$)/
346
+ end
347
+
341
348
  if matched
342
349
  body = message.body.sub(/^#{matched.name}/, matched.nick)
343
350
  else
@@ -3,7 +3,7 @@ module CamperVan
3
3
  attr_reader :command
4
4
  def initialize(command)
5
5
  @command = command
6
- @message = "no handler for the #{command.keys.first} command"
6
+ @message = "no handler for the #{command and command.keys.first} command"
7
7
  end
8
8
  end
9
9
 
@@ -53,7 +53,7 @@ module CamperVan
53
53
  # client using the configured subdomain and API key.
54
54
  def campfire
55
55
  @campfire ||= Firering::Connection.new(
56
- "http://#{subdomain}.campfirenow.com"
56
+ "https://#{subdomain}.campfirenow.com"
57
57
  ) do |c|
58
58
  c.token = api_key
59
59
  c.logger = CamperVan.logger
@@ -179,6 +179,7 @@ module CamperVan
179
179
  end
180
180
 
181
181
  handle :join do |args|
182
+ args = args.map { |args| args.split(",")}.flatten
182
183
  args.each do |channel|
183
184
  join_channel channel
184
185
  end
@@ -7,16 +7,21 @@ module CamperVan
7
7
  #
8
8
  # bind_address - what address to bind to
9
9
  # port - what port to listen on
10
- # log_options - an optional hash of additional configuration
11
- # options for the logger (see .initialize_logging)
12
- def self.run(bind_address="localhost", port=6667, log_options={})
10
+ # options - an optional hash of additional configuration
11
+ # :log_level - defaults to 'info'
12
+ # :log_to - log to filename (string), IO. defaults to STDOUT
13
+ # :ssl - use ssl for client connections, defaults to false
14
+ # :ssl_private_key - if using ssl, private key file to use, defaults to self-signed
15
+ # :ssl_cert - if using ssl, cert file to use, defaults to self-signed
16
+ # :ssl_verify_peer - if using ssl, verify client certificates, defaults to false
17
+ def self.run(bind_address="localhost", port=6667, options={})
13
18
 
14
- initialize_logging log_options
19
+ initialize_logging options
15
20
 
16
21
  EM.run do
17
22
  logger = Logging.logger[self.name]
18
23
  logger.info "starting server on #{bind_address}:#{port}"
19
- EM.start_server bind_address, port, self
24
+ EM.start_server bind_address, port, self, options
20
25
  trap("INT") do
21
26
  logger.info "SIGINT, shutting down"
22
27
  EM.stop
@@ -58,6 +63,13 @@ module CamperVan
58
63
  # Public: returns the instance of the ircd for this connection
59
64
  attr_reader :ircd
60
65
 
66
+ # Public: returns connection options
67
+ attr_reader :options
68
+
69
+ def initialize(options={})
70
+ @options = options
71
+ end
72
+
61
73
  # Public callback once a server connection is established.
62
74
  #
63
75
  # Initializes an IRCD instance for this connection.
@@ -69,6 +81,11 @@ module CamperVan
69
81
 
70
82
  # start up the IRCD for this connection
71
83
  @ircd = IRCD.new(self)
84
+
85
+ if options[:ssl]
86
+ logger.info "starting TLS for #{remote_ip}"
87
+ start_tls(:cert_chain_file => options[:ssl_cert], :private_key_file => options[:ssl_private_key], :verify_peer => options[:ssl_verify_peer])
88
+ end
72
89
  end
73
90
 
74
91
  # Public: callback for when a line of the protocol has been
@@ -1,3 +1,3 @@
1
1
  module CamperVan
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -192,6 +192,28 @@ describe CamperVan::Channel do
192
192
  @channel.privmsg "bob_fred: sup dude"
193
193
  @room.sent.last.must_match /Bob Fred: sup dude/
194
194
  end
195
+
196
+ it "converts leading nicknames followed by punctuation" do
197
+ @room.users = [
198
+ OpenStruct.new(:id => 11, :name => "Bob Fred", :email_address => "x@y.com"),
199
+ OpenStruct.new(:id => 12, :name => "Joe", :email_address => "x@y.com")
200
+ ]
201
+ @channel.list_users
202
+
203
+ @channel.privmsg "bob_fred! sup!"
204
+ @room.sent.last.must_match /Bob Fred! sup/
205
+ end
206
+
207
+ it "converts just leading nicks to names" do
208
+ @room.users = [
209
+ OpenStruct.new(:id => 11, :name => "Bob Fred", :email_address => "x@y.com"),
210
+ OpenStruct.new(:id => 12, :name => "Joe", :email_address => "x@y.com")
211
+ ]
212
+ @channel.list_users
213
+
214
+ @channel.privmsg "bob_fred"
215
+ @room.sent.last.must_match /Bob Fred/
216
+ end
195
217
  end
196
218
 
197
219
  describe "#current_mode" do
@@ -310,6 +332,27 @@ describe CamperVan::Channel do
310
332
  @client.sent.last.must_match %r(PRIVMSG #test :bob_fred: hello)
311
333
  end
312
334
 
335
+ it "converts just leading names to nicks" do
336
+ @room.users = [
337
+ OpenStruct.new(:id => 11, :name => "Bob Fred", :email_address => "x@y.com"),
338
+ OpenStruct.new(:id => 12, :name => "Joe", :email_address => "x@y.com")
339
+ ]
340
+ @channel.list_users
341
+ @channel.map_message_to_irc msg("Text", :body => "Bob Fred")
342
+ @client.sent.last.must_match %r(PRIVMSG #test bob_fred)
343
+ end
344
+
345
+ it "converts leading names plus punctuation to nicks" do
346
+ @room.users = [
347
+ OpenStruct.new(:id => 11, :name => "Bob Fred", :email_address => "x@y.com"),
348
+ OpenStruct.new(:id => 12, :name => "Joe", :email_address => "x@y.com")
349
+ ]
350
+ @channel.list_users
351
+
352
+ @channel.map_message_to_irc msg("Text", :body => "Bob Fred!!? dude!")
353
+ @client.sent.last.must_match %r(PRIVMSG #test :bob_fred!!\? dude)
354
+ end
355
+
313
356
  it "sends an action when a user plays the crickets sound" do
314
357
  @channel.map_message_to_irc msg("Sound", :body => "crickets")
315
358
  @client.sent.last.must_match /\x01ACTION hears crickets chirping\x01/
@@ -360,6 +403,14 @@ describe CamperVan::Channel do
360
403
  @client.sent.last.must_match %r/:joe\S+ JOIN #test/
361
404
  end
362
405
 
406
+ it "does not resend a join command when a user enters the room twice" do
407
+ @channel.map_message_to_irc msg("Enter")
408
+ @client.sent.clear
409
+ @client.sent.last.must_equal nil
410
+ @channel.map_message_to_irc msg("Enter")
411
+ @client.sent.last.must_equal nil
412
+ end
413
+
363
414
  it "adds the user to the internal tracking list when a user joins" do
364
415
  @channel.map_message_to_irc msg("Enter")
365
416
  @client.sent.last.must_match %r/:joe\S+ JOIN #test/
@@ -106,9 +106,39 @@ describe CamperVan::IRCD do
106
106
  @server.handle :user => ["nathan", 0, 0, "Nathan"]
107
107
  end
108
108
 
109
- # it "connects to the campfire API" do
110
- # skip "campfire api next!"
111
- # end
109
+ context "with a JOIN command" do
110
+ before :each do
111
+ @server.campfire = Class.new do
112
+ def rooms
113
+ yield [
114
+ OpenStruct.new(:name => "Test"),
115
+ OpenStruct.new(:name => "Day Job")
116
+ ]
117
+ end
118
+ end.new
119
+ @connection.sent.clear
120
+ end
121
+
122
+ it "joins the given room" do
123
+ @server.handle :join => ["#test"]
124
+ @server.channels["#test"].must_be_instance_of CamperVan::Channel
125
+ end
126
+
127
+ it "returns an error if the room doesn't exist" do
128
+ @server.handle :join => ["#foo"]
129
+ @server.channels["#foo"].must_equal nil
130
+ @connection.sent.last.must_match /no such.*room/i
131
+ end
132
+
133
+ it "joins multiple channels if given" do
134
+ @server.handle :join => ["#test,#day_job"]
135
+ @connection.sent.must_be_empty
136
+ @server.channels["#test"].must_be_instance_of CamperVan::Channel
137
+ @server.channels["#day_job"].must_be_instance_of CamperVan::Channel
138
+ @ser
139
+ end
140
+ end
141
+
112
142
  end
113
143
 
114
144
  context "with a MODE command" do
@@ -9,8 +9,16 @@ describe CamperVan::Server do
9
9
  include CamperVan::Server
10
10
 
11
11
  attr_reader :sent
12
- def initialize
12
+ attr_reader :tls_started
13
+ def initialize(*)
14
+ super
15
+
13
16
  @sent = []
17
+ @tls_started = false
18
+ end
19
+
20
+ def start_tls(*)
21
+ @tls_started = true
14
22
  end
15
23
 
16
24
  def close_connection
@@ -25,13 +33,27 @@ describe CamperVan::Server do
25
33
  end
26
34
  end
27
35
 
28
- before :each do
29
- @server = TestServer.new
30
- @server.post_init
36
+ describe "#post_init" do
37
+ it "starts TLS if the ssl option is true" do
38
+ @server = TestServer.new(:ssl => true)
39
+
40
+ @server.post_init
41
+ @server.tls_started.must_equal true
42
+ end
43
+
44
+ it "does not start TLS if the ssl option is not true" do
45
+ @server = TestServer.new
46
+
47
+ @server.post_init
48
+ @server.tls_started.must_equal false
49
+ end
31
50
  end
32
51
 
33
52
  describe "#receive_line" do
34
53
  it "allows for a failed attempt at registration" do
54
+ @server = TestServer.new
55
+ @server.post_init
56
+
35
57
  @server.receive_line "PASS invalid"
36
58
  @server.receive_line "NICK nathan" # ignored
37
59
  @server.receive_line "USER nathan 0 0 :Nathan" # ignored
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: camper_van
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-04 00:00:00.000000000 -06:00
13
- default_executable:
12
+ date: 2012-01-23 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: eventmachine
17
- requirement: &2152888420 !ruby/object:Gem::Requirement
16
+ requirement: &70178180843580 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 0.12.10
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2152888420
24
+ version_requirements: *70178180843580
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: firering
28
- requirement: &2152887920 !ruby/object:Gem::Requirement
27
+ requirement: &70178180842800 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: 1.1.0
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *2152887920
35
+ version_requirements: *70178180842800
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: logging
39
- requirement: &2152887460 !ruby/object:Gem::Requirement
38
+ requirement: &70178180842200 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: 1.5.1
45
44
  type: :runtime
46
45
  prerelease: false
47
- version_requirements: *2152887460
46
+ version_requirements: *70178180842200
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: trollop
50
- requirement: &2152887000 !ruby/object:Gem::Requirement
49
+ requirement: &70178180841700 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,18 +54,18 @@ dependencies:
55
54
  version: 1.16.2
56
55
  type: :runtime
57
56
  prerelease: false
58
- version_requirements: *2152887000
57
+ version_requirements: *70178180841700
59
58
  - !ruby/object:Gem::Dependency
60
- name: minitest
61
- requirement: &2152886540 !ruby/object:Gem::Requirement
59
+ name: rake
60
+ requirement: &70178180841280 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
- - - ~>
63
+ - - ! '>='
65
64
  - !ruby/object:Gem::Version
66
- version: 2.2.2
65
+ version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *2152886540
68
+ version_requirements: *70178180841280
70
69
  description: An IRC to Campfire bridge for IRC-based access to campfire chatrooms
71
70
  email:
72
71
  - nwitmer@gmail.com
@@ -81,6 +80,7 @@ files:
81
80
  - Gemfile.lock
82
81
  - Guardfile
83
82
  - LICENSE
83
+ - Procfile
84
84
  - README.md
85
85
  - Rakefile
86
86
  - bin/camper_van
@@ -105,8 +105,7 @@ files:
105
105
  - spec/camper_van/server_spec.rb
106
106
  - spec/camper_van/user_spec.rb
107
107
  - spec/spec_helper.rb
108
- has_rdoc: true
109
- homepage: ''
108
+ homepage: https://github.com/aniero/camper_van
110
109
  licenses: []
111
110
  post_install_message:
112
111
  rdoc_options: []
@@ -126,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
125
  version: '0'
127
126
  requirements: []
128
127
  rubyforge_project: camper_van
129
- rubygems_version: 1.6.2
128
+ rubygems_version: 1.8.11
130
129
  signing_key:
131
130
  specification_version: 3
132
131
  summary: An IRC to Campfire bridge