Sha256: 1f7568c66ab5f8c8dd6aeac656f37693eb8d851235559f77f4380e21d266e4e3

Contents?: true

Size: 980 Bytes

Versions: 1

Compression:

Stored size: 980 Bytes

Contents

###
The Event object stores all the relevant event information.
###

class WebSocketRails.Event

  constructor: (message, @success_callback, @failure_callback) ->
    @name   = message[0]
    @data   = message[1]
    options = message[2]

    if options?
      @id = if options['id']? then options['id'] else (((1+Math.random())*0x10000)|0)
      @channel = options.channel
      @token = options.token
      @connection_id = options.connection_id
      if options.success?
        @result  = true
        @success = options.success

  is_channel: ->
    @channel?

  is_result: ->
    typeof @result != 'undefined'

  is_ping: ->
    @name == 'websocket_rails.ping'

  serialize: ->
    JSON.stringify [@name, @data, @meta_data()]

  meta_data: ->
    id: @id,
    connection_id: @connection_id,
    channel: @channel,
    token: @token

  run_callbacks: (@success, @result) ->
    if @success == true
      @success_callback?(@result)
    else
      @failure_callback?(@result)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
websocket-rails-js-0.0.1 app/assets/javascripts/websocket_rails/event.js.coffee