class DrunkMonkey::Transport::Base

Public Class Methods

new(options = {}) click to toggle source
# File lib/drunkmonkey/transport.rb, line 51
def initialize options = {}
  @controller = Celluloid::Actor[options[:controller_name]]
  @messages = []
end
parse_params(request) click to toggle source
# File lib/drunkmonkey/transport.rb, line 38
def parse_params request
  if request.post?
    input = request.env["rack.input"]
    input.rewind
    parameters = input.read.sub(/\Adata=/,"")
    input.rewind
    params = JSON.parse(parameters)
  else
    params = request.params
  end
end
resume(request, options = {}) click to toggle source
# File lib/drunkmonkey/transport.rb, line 26
def resume request, options = {}
  @sessions ||= {}

  params = parse_params request
  id = request.post? ? params["socket"] : params["id"]

  session = @sessions[id]

  return session if session
  @sessions[id] = new options
end

Public Instance Methods

portal(message) click to toggle source
# File lib/drunkmonkey/transport.rb, line 56
def portal message
  @i ||= 0
  {type:"message", data:message, id:(@i+=1),reply:false}.to_json
end