module CodenjoyConnection
Constants
- VERSION
Public Class Methods
play(player, opts)
click to toggle source
# File lib/codenjoy_connection.rb, line 22 def self.play(player, opts) url = prepare_url(opts) player = CodenjoyConnection::Player.new(player) set_connection(player,url) end
prepare_url(opts = {})
click to toggle source
# File lib/codenjoy_connection.rb, line 8 def self.prepare_url(opts = {}) raise CodenjoyConnection::GenericError.new("Please, specify connection params.") if opts == {} host, port, username, player = opts[:host], opts[:port], opts[:username], opts[:player] game_url = opts[:game_url] ||'tetris-contest/ws?' raise CodenjoyConnection::GenericError.new("Please, specify a host for connection.") unless host raise CodenjoyConnection::GenericError.new("Please, specify a port for connection.") unless port raise CodenjoyConnection::GenericError.new("Please, specify a username for connection.") unless username "ws://#{host}:#{port}/#{game_url}user=#{username}" end
set_connection(player,url)
click to toggle source
# File lib/codenjoy_connection.rb, line 28 def self.set_connection(player,url) EM.run do ws = Faye::WebSocket::Client.new(url) ws.on :message do |event| p [:message, event.data] player.process_data(event.data) ws.send(player.make_step) end end end