Class: Atig::Channel::List
- Inherits:
-
Object
- Object
- Atig::Channel::List
- Defined in:
- lib/atig/channel/list.rb
Defined Under Namespace
Classes: Handler
Instance Method Summary collapse
-
#initialize(context, gateway, db) ⇒ List
constructor
A new instance of List.
Constructor Details
#initialize(context, gateway, db) ⇒ List
Returns a new instance of List.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/atig/channel/list.rb', line 32 def initialize(context, gateway, db) @channels = Hash.new do|hash,name| channel = gateway.channel "##{name}", :handler => Handler.new(db, name) channel.join_me hash[name] = channel end db.statuses.listen do|entry| if entry.source == :list then @channels[entry.list]. entry else lists = db.lists.find_by_screen_name(entry.user.screen_name) lists.each{|name| @channels[name]. entry } end end db.statuses.listen do|entry| if entry.user.id == db.me.id @channels.each{|_,channel| channel.topic entry } end end db.lists.listen do|kind, name, users| case kind when :new @channels[name].join_me @channels[name].join db.lists[name].users when :del @channels[name].part_me "No longer follow the list #{name}" when :join @channels[name].join users when :part @channels[name].part users when :mode end end end |