class Talkshow::Server

Public Class Methods

answer_queue(queue = nil) click to toggle source
# File lib/talkshow/server.rb, line 42
def self.answer_queue(queue = nil)
  if queue
    @@answer_queue = queue
  end
  @@answer_queue
end
question_queue(queue = nil) click to toggle source
# File lib/talkshow/server.rb, line 35
def self.question_queue(queue = nil)
  if queue
    @@question_queue = queue
  end
  @@question_queue
end
set_logfile(file) click to toggle source
# File lib/talkshow/server.rb, line 29
def self.set_logfile file
  @@logfile = file
  @logger.close if @logger
  @logger = nil
end
set_port(port) click to toggle source
# File lib/talkshow/server.rb, line 24
def self.set_port port
  set :port, port
end

Public Instance Methods

handle_answer(params, data) click to toggle source

Deal with an answer, push it back to the main thread

# File lib/talkshow/server.rb, line 136
def handle_answer(params, data)
  if params[:status] != 'nop'
            
    Talkshow::Server.answer_queue.push( {
                                        :data    => data,
                                        :object  => params[:object],
                                        :status  => params[:status],
                                        :chunks  => params[:chunks],
                                        :payload => params[:payload],
                                        :id      => params[:id]
                                       } )
  end
  
  logger.info( "/answer ##{params[:id]}"+ ( params[:chunks] ? "(#{params[:payload].to_i+1}/#{params[:chunks]})" : '') +": #{data}" )
  if params[:id] == 0
    logger.info( "Reset received, talkshow reloaded")
  end
  
  content_type 'text/javascript'
  'ts.ack();'
end
logger() click to toggle source
# File lib/talkshow/server.rb, line 50
def logger
  if !@logger
    @logger = Logger.new(@@logfile)
  end
  @logger
end