pyre 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +9 -0
- data/README.txt +1 -1
- data/lib/pyre.rb +1 -1
- data/lib/pyre/campfire.rb +7 -3
- data/lib/pyre/room.rb +5 -5
- metadata +3 -3
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 0.3.1 / 2008-03-14
|
2
|
+
|
3
|
+
* Improved methods
|
4
|
+
* Pyre::Campfire#room raises an exception if given a block and the room is
|
5
|
+
not found
|
6
|
+
* General cleanup
|
7
|
+
* Changed weird "begin raise Exception end" blocks to just "raise Exception".
|
8
|
+
I thought I had a reason for it, but I guess not.
|
9
|
+
|
1
10
|
== 0.3.0 / 2008-02-20
|
2
11
|
|
3
12
|
* Huge enhancement!
|
data/README.txt
CHANGED
@@ -13,7 +13,7 @@ Pyre owes a great deal of debt to Tinder (http://tinder.rubyforge.org)
|
|
13
13
|
Features:
|
14
14
|
* Speak in a Campfire room!
|
15
15
|
* Paste in a Campfire room!
|
16
|
-
*
|
16
|
+
* Upload to a Campfire room!
|
17
17
|
|
18
18
|
Problems:
|
19
19
|
* No public tests (I have them on my box, but you can't see them (passwords!))
|
data/lib/pyre.rb
CHANGED
data/lib/pyre/campfire.rb
CHANGED
@@ -31,7 +31,7 @@ module Pyre
|
|
31
31
|
login_form.fields.name('email_address').value = email
|
32
32
|
login_form.fields.name('password').value = password
|
33
33
|
@agent.submit(login_form)
|
34
|
-
logged_in? or
|
34
|
+
logged_in? or raise LoginError
|
35
35
|
end
|
36
36
|
|
37
37
|
# Log out. Returns true on success.
|
@@ -79,8 +79,12 @@ module Pyre
|
|
79
79
|
find_room_by_id(identifier)
|
80
80
|
end
|
81
81
|
if block_given?
|
82
|
-
|
83
|
-
|
82
|
+
if room
|
83
|
+
yield room
|
84
|
+
room.leave
|
85
|
+
else
|
86
|
+
raise NavigationError, "No such room: #{identifier}"
|
87
|
+
end
|
84
88
|
end
|
85
89
|
room
|
86
90
|
end
|
data/lib/pyre/room.rb
CHANGED
@@ -13,7 +13,7 @@ module Pyre
|
|
13
13
|
# Enter the room. Returns true on success.
|
14
14
|
def join
|
15
15
|
@campfire.agent.get(@url)
|
16
|
-
joined? or
|
16
|
+
joined? or raise NavigationError
|
17
17
|
end
|
18
18
|
|
19
19
|
# Leave the room. Returns true on success.
|
@@ -21,7 +21,7 @@ module Pyre
|
|
21
21
|
if joined?
|
22
22
|
leave = @campfire.agent.current_page.links.detect {|link| link.text == 'Leave'}
|
23
23
|
@campfire.agent.post(leave.uri)
|
24
|
-
not joined? or
|
24
|
+
not joined? or raise NavigationError
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -35,7 +35,7 @@ module Pyre
|
|
35
35
|
result = submit_chat_form(message)
|
36
36
|
success = (result.uri.to_s == "#{@url}/speak")
|
37
37
|
join
|
38
|
-
success or
|
38
|
+
success or raise CommunicationError
|
39
39
|
end
|
40
40
|
|
41
41
|
# Paste +message+ to the room. Joins the room if necessary. Returns true on success.
|
@@ -43,7 +43,7 @@ module Pyre
|
|
43
43
|
result = submit_chat_form(message, 'paste' => 'true')
|
44
44
|
success = (result.links.detect {|link| link.text == 'View paste'} and result.uri.to_s == "#{@url}/speak")
|
45
45
|
join
|
46
|
-
success or
|
46
|
+
success or raise CommunicationError
|
47
47
|
end
|
48
48
|
|
49
49
|
# Upload a file (named +filename+) to the room. Joins the room if necessary. Returns true on success.
|
@@ -54,7 +54,7 @@ module Pyre
|
|
54
54
|
result = @campfire.agent.submit(upload_form)
|
55
55
|
join
|
56
56
|
success = @campfire.agent.current_page.search(%Q{ul[@id="file_list"]//a[@href$="/#{File.basename(filename)}"]}).size > 0
|
57
|
-
success or
|
57
|
+
success or raise UploadError
|
58
58
|
end
|
59
59
|
|
60
60
|
def inspect #:nodoc:
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pyre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Shea
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-03-14 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.7.
|
22
|
+
version: 0.7.4
|
23
23
|
version:
|
24
24
|
description: Pyre is a library for interacting with Campfire, the web-based group chat site from 37signals. Pyre owes a great deal of debt to Tinder (http://tinder.rubyforge.org)
|
25
25
|
email: chris@ruby.tie-rack.org
|