jstp 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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