swamp09/sample_app

View on GitHub
app/assets/javascripts/channels/room.coffee

Summary

Maintainability
Test Coverage
App.room = App.cable.subscriptions.create "RoomChannel",
  connected: ->
    # Called when the subscription is ready for use on the server

  disconnected: ->
    # Called when the subscription has been terminated by the server

  received: (data) ->
    $('#messages').append data['message']

  speak: (message)->
    @perform 'speak', message: message

$(document).on 'keypress', '[data-behavior~=room_speaker]', (event) ->
  if event.keyCode is 13 # return = send
    message = event.target.value
    roomId = $(':hidden[name="room"]').val()
    App.room.speak({message: message, room_id: roomId})
    event.target.value = ''
    event.preventDefault()