Opal wrapper for Phoenix Framework javascript library.
Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
opal
.codeclimate.yml
.gitignore
Gemfile
LICENSE.md
README.md
Rakefile move js dependencies to vendor Nov 28, 2015
opal-phoenix.gemspec

README.md

opal-phoenix Gem Version Code Climate

Opal wrapper for Phoenix Framework javascript library.

usage

Server side

config.ru, Rakefile, Rails, Sinatra, etc.

require 'opal-phoenix'

Gemfile

gem 'opal-phoenix'

Browser side

require 'phoenix'

# setup socket
socket = Phoenix::Socket.new('ws://localhost:4000/ws', params: {some: 'param'})

socket.on_error do
  $console.log 'socket error!'
end

socket.on_close do
  $console.log 'socket closed!'
end

# connect to socket
socket.connect

# setup channel
channel = socket.channel('lobby', other: 'param')

channel.on_error do
  $console.log 'channel error!'
end

channel.on_close do
  $console.log 'channel closed!'
end

channel.on 'msg' do |payload|
  $console.log "payload: #{payload}"
end

# join channel
channel
  .join
  .receive('ok') { $console.log 'ok' }
  .receive('failed') { $console.log 'failed' }

# push a message
channel
  .push("msg", {a: :b})
  .receive('ok') { $console.log 'ok' }
  .receive('failed') { $console.log 'failed' }

Thank you!

Become Patreon