tinder 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.txt +4 -1
- data/lib/tinder/room.rb +28 -8
- data/lib/tinder/version.rb +1 -1
- data/test/remote/remote_campfire_test.rb +5 -4
- metadata +7 -5
data/CHANGELOG.txt
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
1.2.1 - 2009-08-27
|
2
|
+
* Fixes for listening after campfire updates [Jordan Byron]
|
3
|
+
|
1
4
|
1.2.0 - 2009-01-28
|
2
5
|
* Get the list of available files [Christopher MacGown]
|
3
|
-
* Upload files [Joshua
|
6
|
+
* Upload files [Joshua Wand]
|
4
7
|
* Find rooms even when full [Josh Owens]
|
5
8
|
* Join rooms as a guest [Ian Lesperance]
|
6
9
|
|
data/lib/tinder/room.rb
CHANGED
@@ -13,10 +13,10 @@ module Tinder
|
|
13
13
|
def join(force = false)
|
14
14
|
@room = returning(get("room/#{id}")) do |room|
|
15
15
|
raise Error, "Could not join room" unless verify_response(room, :success)
|
16
|
-
@membership_key = room.body.scan(/\"membershipKey\"
|
17
|
-
@user_id = room.body.scan(/\"userID\"
|
18
|
-
@last_cache_id = room.body.scan(/\"lastCacheID\"
|
19
|
-
@timestamp = room.body.scan(/\"timestamp\"
|
16
|
+
@membership_key = room.body.scan(/\"membershipKey\":\s?\"([a-z0-9]+)\"/).to_s
|
17
|
+
@user_id = room.body.scan(/\"userID\":\s?(\d+)/).to_s
|
18
|
+
@last_cache_id = room.body.scan(/\"lastCacheID\":\s?(\d+)/).to_s
|
19
|
+
@timestamp = room.body.scan(/\"timestamp\":\s?(\d+)/).to_s
|
20
20
|
@idle_since = Time.now
|
21
21
|
end if @room.nil? || force
|
22
22
|
ping
|
@@ -159,16 +159,36 @@ module Tinder
|
|
159
159
|
# Get the transcript for the given date (Returns a hash in the same format as #listen)
|
160
160
|
#
|
161
161
|
# room.transcript(room.available_transcripts.first)
|
162
|
-
# #=> [{:message=>"foobar!",
|
162
|
+
# #=> [{:message=>"foobar!",
|
163
|
+
# :user_id=>"99999",
|
164
|
+
# :person=>"Brandon",
|
165
|
+
# :id=>"18659245",
|
166
|
+
# :timestamp=>=>Tue May 05 07:15:00 -0700 2009}]
|
163
167
|
#
|
164
|
-
|
165
|
-
|
168
|
+
# The timestamp slot will typically have a granularity of five minutes.
|
169
|
+
#
|
170
|
+
def transcript(transcript_date)
|
171
|
+
url = "room/#{id}/transcript/#{transcript_date.to_date.strftime('%Y/%m/%d')}"
|
172
|
+
date, time = nil, nil
|
173
|
+
(Hpricot(get(url).body) / ".message").collect do |message|
|
166
174
|
person = (message / '.person span').first
|
175
|
+
if !person
|
176
|
+
# No span for enter/leave the room messages
|
177
|
+
person = (message / '.person').first
|
178
|
+
end
|
167
179
|
body = (message / '.body div').first
|
180
|
+
if d = (message / '.date span').first
|
181
|
+
date = d.inner_html
|
182
|
+
end
|
183
|
+
if t = (message / '.time div').first
|
184
|
+
time = t.inner_html
|
185
|
+
end
|
168
186
|
{:id => message.attributes['id'].scan(/message_(\d+)/).to_s,
|
169
187
|
:person => person ? person.inner_html : nil,
|
170
188
|
:user_id => message.attributes['class'].scan(/user_(\d+)/).to_s,
|
171
|
-
:message => body ? body.inner_html : nil
|
189
|
+
:message => body ? body.inner_html : nil,
|
190
|
+
# Use the transcript_date to fill in the correct year
|
191
|
+
:timestamp => Time.parse("#{date} #{time}", transcript_date)
|
172
192
|
}
|
173
193
|
end
|
174
194
|
end
|
data/lib/tinder/version.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
require File.dirname(__FILE__) + '/credentials'
|
2
3
|
|
3
4
|
class RemoteCampfireTest < Test::Unit::TestCase
|
4
5
|
|
5
6
|
def setup
|
6
|
-
|
7
|
-
|
8
|
-
@ssl =
|
9
|
-
raise "Set your campfire credentials before running the remote tests" unless @user && @pass && @subdomain
|
7
|
+
@subdomain = SUBDOMAIN
|
8
|
+
@user, @pass = USER, PASS
|
9
|
+
@ssl = SSL
|
10
|
+
raise "Set your campfire credentials in /test/remote/credentials.rb before running the remote tests" unless @user && @pass && @subdomain
|
10
11
|
@campfire = Tinder::Campfire.new @subdomain, :ssl => @ssl
|
11
12
|
end
|
12
13
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tinder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Keepers
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-09-06 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 2.0.0
|
54
54
|
version:
|
55
55
|
description: An API for interfacing with Campfire, the 37Signals chat application.
|
56
56
|
email: brandon@opensoul.org
|
@@ -75,6 +75,8 @@ files:
|
|
75
75
|
- lib/tinder/version.rb
|
76
76
|
has_rdoc: true
|
77
77
|
homepage: http://tinder.rubyforge.org
|
78
|
+
licenses: []
|
79
|
+
|
78
80
|
post_install_message:
|
79
81
|
rdoc_options:
|
80
82
|
- --main
|
@@ -96,9 +98,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
98
|
requirements: []
|
97
99
|
|
98
100
|
rubyforge_project: tinder
|
99
|
-
rubygems_version: 1.3.
|
101
|
+
rubygems_version: 1.3.3
|
100
102
|
signing_key:
|
101
|
-
specification_version:
|
103
|
+
specification_version: 3
|
102
104
|
summary: An (unofficial) Campfire API
|
103
105
|
test_files:
|
104
106
|
- test/remote/remote_campfire_test.rb
|