libfchat 1.1 → 1.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/lib/libfchat/fchat.rb +56 -0
- data/lib/libfchat/version.rb +1 -1
- metadata +9 -9
data/lib/libfchat/fchat.rb
CHANGED
@@ -30,6 +30,7 @@ module Libfchat
|
|
30
30
|
attr_accessor :ignore
|
31
31
|
attr_accessor :ops
|
32
32
|
attr_accessor :users
|
33
|
+
attr_accessor :rooms
|
33
34
|
|
34
35
|
##
|
35
36
|
# Initialize the object with the name and version.
|
@@ -39,6 +40,7 @@ module Libfchat
|
|
39
40
|
@clientname = clientname
|
40
41
|
@version = version
|
41
42
|
@users = Hash.new
|
43
|
+
@rooms = Hash.new
|
42
44
|
end
|
43
45
|
|
44
46
|
##
|
@@ -182,8 +184,62 @@ module Libfchat
|
|
182
184
|
# Handle user logging off
|
183
185
|
def got_FLN(message)
|
184
186
|
@users.delete(message['character'])
|
187
|
+
@rooms.each do |room|
|
188
|
+
room['characters'].delete(message['character'])
|
189
|
+
end
|
185
190
|
end
|
186
191
|
|
192
|
+
##
|
193
|
+
# Store data about newly joined chatroom
|
194
|
+
def got_JCH(message)
|
195
|
+
begin
|
196
|
+
@rooms[message['channel']]['characters'].push(message['character']['identity'])
|
197
|
+
puts "Someone else joined a room"
|
198
|
+
rescue
|
199
|
+
@rooms[message['channel']] = {
|
200
|
+
'title' => message['title'],
|
201
|
+
'description' => '',
|
202
|
+
'characters' => [],
|
203
|
+
'ops' => [],
|
204
|
+
}
|
205
|
+
puts "I joined a new room"
|
206
|
+
end
|
207
|
+
end
|
208
|
+
|
209
|
+
##
|
210
|
+
# Store ops list for room
|
211
|
+
def got_COL(message)
|
212
|
+
@rooms[message['channel']]['ops'] = message['oplist']
|
213
|
+
end
|
214
|
+
|
215
|
+
##
|
216
|
+
# Store userlist for newly joined chatroom
|
217
|
+
def got_ICH(message)
|
218
|
+
message['users'].each do |user|
|
219
|
+
@rooms[message['channel']]['characters'].push(user['identity'])
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
223
|
+
##
|
224
|
+
# Handle user joining chatroom
|
225
|
+
def got_LCH(message)
|
226
|
+
@rooms[message['channel']]['characters'].delete(message['character'])
|
227
|
+
end
|
228
|
+
|
229
|
+
##
|
230
|
+
# Handle user leaving chatroom
|
231
|
+
def got_LCH(message)
|
232
|
+
@rooms[message['channel']]['characters'].delete(message['character'])
|
233
|
+
end
|
234
|
+
|
235
|
+
##
|
236
|
+
# Store description for newly joined chatroom
|
237
|
+
def got_CDS(message)
|
238
|
+
@rooms[message['channel']]['description'] = message['description']
|
239
|
+
end
|
240
|
+
|
241
|
+
##
|
242
|
+
##
|
187
243
|
# ====================================================== #
|
188
244
|
# All commands that can be sent by a client have helpers #
|
189
245
|
# ====================================================== #
|
data/lib/libfchat/version.rb
CHANGED
@@ -2,5 +2,5 @@ module Libfchat
|
|
2
2
|
# We're doing this because we might write tests that deal
|
3
3
|
# with other versions of Libfchat and we are unsure how to
|
4
4
|
# handle this better.
|
5
|
-
VERSION = "1.
|
5
|
+
VERSION = "1.2" unless defined?(::Libfchat::VERSION)
|
6
6
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libfchat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-06-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: turn
|
16
|
-
requirement: &
|
16
|
+
requirement: &9466340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.9.5
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *9466340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: miniunit
|
27
|
-
requirement: &
|
27
|
+
requirement: &9560780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.2.1
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *9560780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: multi_json
|
38
|
-
requirement: &
|
38
|
+
requirement: &9560240 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.3.6
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *9560240
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faye-websocket
|
49
|
-
requirement: &
|
49
|
+
requirement: &9559760 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 0.4.6
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *9559760
|
58
58
|
description: A library for connecting to F-chat ( http://f-list.net )
|
59
59
|
email: cheetahmorph@gmail.com
|
60
60
|
executables: []
|