Sha256: 74fc7568ffc945096d555dc6ec631c543d5118d9ebb2f11efbf3a620c5c69d40

Contents?: true

Size: 686 Bytes

Versions: 1

Compression:

Stored size: 686 Bytes

Contents

require 'em-websocket'
require 'nirvana'

module Nirvana
  module Websocket
    def self.run
      EventMachine.run do
        EventMachine::WebSocket.start(:host => '127.0.0.1', :port => 8080) do |ws|
          ws.onopen {
            result = Nirvana::Runner.run ARGV
            ws.send(result) unless result.to_s.empty?
          }
          ws.onmessage {|msg| ws.send Ripl.shell.web_loop_once(msg) }
          ws.onclose { Ripl.shell.after_loop }
        end
      end
    rescue
      message = "Unable to start websocket since port 8080 is occupied"
      message = $!.message unless $!.message[/no acceptor/]
      abort "nirvana websocket error: #{message}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nirvana-0.1.1 lib/nirvana/websocket.rb