camper_van 0.0.1 → 0.0.2
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/.rvmrc +45 -24
- data/Gemfile +0 -2
- data/Gemfile.lock +8 -16
- data/Procfile +1 -0
- data/bin/camper_van +9 -1
- data/camper_van.gemspec +2 -2
- data/lib/camper_van/channel.rb +12 -5
- data/lib/camper_van/command_definition.rb +1 -1
- data/lib/camper_van/ircd.rb +2 -1
- data/lib/camper_van/server.rb +22 -5
- data/lib/camper_van/version.rb +1 -1
- data/spec/camper_van/channel_spec.rb +51 -0
- data/spec/camper_van/ircd_spec.rb +33 -3
- data/spec/camper_van/server_spec.rb +26 -4
- metadata +18 -19
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.
|
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
|
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 "
|
40
|
+
if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
|
21
41
|
then
|
22
|
-
. "
|
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 '
|
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" ]]
|
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
|
-
#
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
#
|
52
|
-
|
53
|
-
#
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
#
|
58
|
-
|
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
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.
|
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.
|
18
|
+
escape_utils (0.2.4)
|
26
19
|
eventmachine (0.12.10)
|
27
|
-
firering (1.1.
|
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
|
25
|
+
guard (0.8.4)
|
33
26
|
thor (~> 0.14.6)
|
34
27
|
little-plugger (1.1.2)
|
35
|
-
logging (1.5.
|
28
|
+
logging (1.5.2)
|
36
29
|
little-plugger (>= 1.1.2)
|
37
|
-
|
38
|
-
rb-fsevent (0.4.
|
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
|
-
|
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 "
|
26
|
+
s.add_development_dependency "rake"
|
27
27
|
end
|
data/lib/camper_van/channel.rb
CHANGED
@@ -121,10 +121,12 @@ module CamperVan
|
|
121
121
|
# convert ACTIONs
|
122
122
|
msg.sub! /^\01ACTION (.*)\01$/, '*\1*'
|
123
123
|
|
124
|
-
|
125
|
-
msg
|
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
|
-
|
299
|
-
|
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
|
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
|
data/lib/camper_van/ircd.rb
CHANGED
@@ -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
|
-
"
|
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
|
data/lib/camper_van/server.rb
CHANGED
@@ -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
|
-
#
|
11
|
-
#
|
12
|
-
|
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
|
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
|
data/lib/camper_van/version.rb
CHANGED
@@ -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
|
-
|
110
|
-
|
111
|
-
|
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
|
-
|
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
|
-
|
29
|
-
|
30
|
-
|
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.
|
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:
|
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: &
|
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: *
|
24
|
+
version_requirements: *70178180843580
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: firering
|
28
|
-
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: *
|
35
|
+
version_requirements: *70178180842800
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: logging
|
39
|
-
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: *
|
46
|
+
version_requirements: *70178180842200
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: trollop
|
50
|
-
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: *
|
57
|
+
version_requirements: *70178180841700
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
|
-
name:
|
61
|
-
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:
|
65
|
+
version: '0'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
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
|
-
|
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.
|
128
|
+
rubygems_version: 1.8.11
|
130
129
|
signing_key:
|
131
130
|
specification_version: 3
|
132
131
|
summary: An IRC to Campfire bridge
|