camper_van 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.md +4 -1
- data/lib/camper_van/channel.rb +7 -3
- data/lib/camper_van/ircd.rb +2 -0
- data/lib/camper_van/version.rb +1 -1
- data/spec/camper_van/channel_spec.rb +19 -0
- data/spec/camper_van/ircd_spec.rb +6 -0
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -53,6 +53,9 @@ Connect, and `/LIST` will show you the irc channels / campfire rooms you
|
|
53
53
|
have access to. To connect to more than one subdomain, make a separate
|
54
54
|
connection for each.
|
55
55
|
|
56
|
+
Your campfire subdomain should be just the subdomain part. If your campfire url
|
57
|
+
is `mycompany.campfirenow.com`, your subdomain would be `mycompany`.
|
58
|
+
|
56
59
|
## Development
|
57
60
|
|
58
61
|
CamperVan uses:
|
@@ -66,7 +69,7 @@ CamperVan uses:
|
|
66
69
|
|
67
70
|
## License
|
68
71
|
|
69
|
-
See LICENSE for details.
|
72
|
+
MIT, See LICENSE for details.
|
70
73
|
|
71
74
|
## Contributing
|
72
75
|
|
data/lib/camper_van/channel.rb
CHANGED
@@ -309,7 +309,7 @@ module CamperVan
|
|
309
309
|
users.delete user.id
|
310
310
|
|
311
311
|
when "Paste"
|
312
|
-
lines = message.body.split(
|
312
|
+
lines = message.body.split(/\n|\r\n|\r/)
|
313
313
|
|
314
314
|
lines[0..2].each do |line|
|
315
315
|
client.campfire_reply :privmsg, name, channel, ":> " + line
|
@@ -352,7 +352,9 @@ module CamperVan
|
|
352
352
|
else
|
353
353
|
body = message.body
|
354
354
|
end
|
355
|
-
|
355
|
+
body.split(/[\r\n]+/).each do |line|
|
356
|
+
client.campfire_reply :privmsg, name, channel, ":" + line
|
357
|
+
end
|
356
358
|
end
|
357
359
|
|
358
360
|
when "TopicChange"
|
@@ -366,7 +368,9 @@ module CamperVan
|
|
366
368
|
end
|
367
369
|
|
368
370
|
when "Tweet"
|
369
|
-
|
371
|
+
message.body.split(/\n|\r\n|\r/).each do |line|
|
372
|
+
client.campfire_reply :privmsg, name, channel, line
|
373
|
+
end
|
370
374
|
|
371
375
|
else
|
372
376
|
logger.warn "unknown message #{message.type}: #{message.body}"
|
data/lib/camper_van/ircd.rb
CHANGED
data/lib/camper_van/version.rb
CHANGED
@@ -332,6 +332,18 @@ describe CamperVan::Channel do
|
|
332
332
|
@client.sent.last.must_match ":joe!joe@campfire PRIVMSG #test :hello there"
|
333
333
|
end
|
334
334
|
|
335
|
+
it "splits text messages on newline and carriage returns" do
|
336
|
+
@channel.map_message_to_irc msg("Text", :body => "hello\n\r\r\nthere")
|
337
|
+
@client.sent[-2].must_match ":joe!joe@campfire PRIVMSG #test :hello"
|
338
|
+
@client.sent[-1].must_match ":joe!joe@campfire PRIVMSG #test :there"
|
339
|
+
end
|
340
|
+
|
341
|
+
it "sends the first few lines, split by newline or carriage return, for a paste" do
|
342
|
+
@channel.map_message_to_irc msg("Paste", :body => "foo\r\nbar\nbaz\nbleh")
|
343
|
+
@client.sent[-4].must_match %r(:joe\S+ PRIVMSG #test :> foo)
|
344
|
+
@client.sent.last.must_match %r(:joe\S+ PRIVMSG #test .*room/10/paste/1234)
|
345
|
+
end
|
346
|
+
|
335
347
|
it "sends a privmsg with the pasted url and the first line when a user pastes something" do
|
336
348
|
@channel.map_message_to_irc msg("Paste", :body => "foo\nbar\nbaz\nbleh")
|
337
349
|
@client.sent.last.must_match %r(:joe\S+ PRIVMSG #test .*room/10/paste/1234)
|
@@ -481,6 +493,13 @@ describe CamperVan::Channel do
|
|
481
493
|
@client.sent.last.must_match %r(:joe\S+ PRIVMSG #test .*twitter.com/aniero/status/12345.*)
|
482
494
|
end
|
483
495
|
|
496
|
+
it "splits on newline or carriage returns in tweets" do
|
497
|
+
body = "hello world\nsays me -- @author, twitter.com/aniero/status/12345.*"
|
498
|
+
@channel.map_message_to_irc msg("Tweet", :body => body)
|
499
|
+
@client.sent[-2].must_match %r(:joe\S+ PRIVMSG #test :hello world)
|
500
|
+
@client.sent.last.must_match %r(:joe\S+ PRIVMSG #test :says.*twitter.com/aniero/status/12345.*)
|
501
|
+
end
|
502
|
+
|
484
503
|
# it "sends a notice with the message when the system sends a message"
|
485
504
|
|
486
505
|
it "marks the user as away when a user goes idle" do
|
@@ -42,6 +42,12 @@ describe CamperVan::IRCD do
|
|
42
42
|
@server.api_key.must_equal "asdf1234"
|
43
43
|
end
|
44
44
|
|
45
|
+
it "only uses the subdomain if a full domain is specified" do
|
46
|
+
@server.handle :pass => ["test.campfirenow.com:asdf1234"]
|
47
|
+
@server.subdomain.must_equal "test"
|
48
|
+
@server.api_key.must_equal "asdf1234"
|
49
|
+
end
|
50
|
+
|
45
51
|
it "saves the nickname from the NICK command" do
|
46
52
|
@server.handle :nick => ["nathan"]
|
47
53
|
@server.nick.must_equal "nathan"
|
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.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
@@ -150,10 +150,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
150
|
version: '0'
|
151
151
|
segments:
|
152
152
|
- 0
|
153
|
-
hash: -
|
153
|
+
hash: -3050987797857657263
|
154
154
|
requirements: []
|
155
155
|
rubyforge_project: camper_van
|
156
|
-
rubygems_version: 1.8.
|
156
|
+
rubygems_version: 1.8.25
|
157
157
|
signing_key:
|
158
158
|
specification_version: 3
|
159
159
|
summary: An IRC to Campfire bridge
|