jstp 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.add_dependency 'em-websocket-client'
13
13
  gem.add_dependency 'discoverer'
14
14
  gem.add_dependency 'symbolmatrix'
15
+ gem.add_dependency 'uuid'
15
16
 
16
17
  gem.add_development_dependency 'rspec'
17
18
 
@@ -5,6 +5,7 @@ require 'em-websocket-client'
5
5
  require 'json'
6
6
  require 'discoverer'
7
7
  require 'symbolmatrix'
8
+ require 'uuid'
8
9
 
9
10
  require 'jstp/web_socket'
10
11
  require 'jstp/tcp'
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module JSTP
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
@@ -2,9 +2,21 @@ module JSTP
2
2
  class WebSocket
3
3
  include Singleton
4
4
 
5
+ def sockets
6
+ @sockets ||= {}
7
+ end
8
+
5
9
  def server_setup
6
10
  @server_setup ||= proc { |server|
7
- server.onmessage &WebSocket.instance.event_on_message
11
+ server.onopen {
12
+ JSTP::WebSocket.instance.sockets[UUID.new.generate] = server
13
+ }
14
+
15
+ server.onmessage { |message|
16
+ message = JSON.parse message
17
+ Connector.instance.block.call message,
18
+ JSTP::WebSocket.instance.sockets.key(server)
19
+ }
8
20
  }
9
21
  end
10
22
 
@@ -18,10 +30,13 @@ module JSTP
18
30
 
19
31
  def event_on_message
20
32
  @event_on_message ||= proc { |message|
21
- Connector.instance.block.call JSON.parse message
33
+
22
34
  }
23
35
  end
24
36
 
37
+ def event_on_open
38
+ end
39
+
25
40
  def client resource
26
41
  ::EM::WebSocketClient
27
42
  .connect "ws://#{resource.first}:#{Connector.instance.port.outbound}/#{resource[1..-1].join('/')}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jstp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -77,6 +77,22 @@ dependencies:
77
77
  - - ! '>='
78
78
  - !ruby/object:Gem::Version
79
79
  version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: uuid
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
80
96
  - !ruby/object:Gem::Dependency
81
97
  name: rspec
82
98
  requirement: !ruby/object:Gem::Requirement