class Colossus::SimpleWriterServer
Attributes
faye_client[R]
faye_client_extension[R]
faye_extension[R]
Public Class Methods
new(faye_extension)
click to toggle source
# File lib/colossus/simple_writer_server.rb, line 5 def initialize(faye_extension) @faye_extension = faye_extension @faye_client = faye_extension.faye.get_client @faye_client_extension = FayeClientExtension.new @faye_client.add_extension(faye_client_extension) end
Public Instance Methods
colossus()
click to toggle source
# File lib/colossus/simple_writer_server.rb, line 48 def colossus faye_extension.colossus end
presence(writer_token, optional_user_ids = nil)
click to toggle source
# File lib/colossus/simple_writer_server.rb, line 12 def presence(writer_token, optional_user_ids = nil) raise 'Invalid token' unless valid?(writer_token) faye_client_extension.writer_token = writer_token case optional_user_ids when Array colossus.get_multi(*optional_user_ids) when String colossus.get(optional_user_ids) when NilClass colossus.get_all else raise 'Invalid user_ids data' end end
push(writer_token, user_ids, message)
click to toggle source
# File lib/colossus/simple_writer_server.rb, line 28 def push(writer_token, user_ids, message) raise 'Invalid token' unless valid?(writer_token) faye_client_extension.writer_token = writer_token case user_ids when Array user_ids.each do |user_id| faye_client.publish("/users/#{user_id}", message) end when String faye_client.publish("/users/#{user_ids}", message) else raise 'Invalid user_ids data' end end
valid?(writer_token)
click to toggle source
# File lib/colossus/simple_writer_server.rb, line 44 def valid?(writer_token) colossus.verifier.verify_writer_token(writer_token) end