em-rocketio-client 0.1.1 → 0.1.2
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.
- checksums.yaml +7 -7
- data/History.txt +4 -0
- data/README.md +7 -7
- data/lib/em-rocketio-client/client.rb +10 -0
- data/lib/em-rocketio-client/version.rb +1 -1
- data/test/app.rb +1 -1
- data/test/test_channel.rb +2 -3
- data/test/test_em_rocketio_client.rb +12 -11
- metadata +140 -88
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
5
|
-
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ea217c13dfc2f0babb7a69266abf890151b20766
|
4
|
+
data.tar.gz: 2d0fb7c526e0e137b8f1c1266876da36ee7ff38d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 083d68b20a111a0504a7b5581bd4fb1c6ff23fe013877720a448745f01f7175a392cf11e174e3646a183106c5f2f23e594e77f7612e3ff898f35ac216a2ba9e6
|
7
|
+
data.tar.gz: 1b75d74437a43e6977230aed0ef6e33d75f64ad004d889f7479c91ef990a2fa37c89baf970d11672b170314052a69be98bb8b35ab4f579507a38ca554956cb56
|
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -21,8 +21,8 @@ EM::run do
|
|
21
21
|
io = EM::RocketIO::Client.new('http://localhost:5000').connect
|
22
22
|
# io = EM::RocketIO::Client.new('http://localhost:5000', :type => :comet).connect
|
23
23
|
# io = EM::RocketIO::Client.new('http://localhost:5000', :channel => '1').connect
|
24
|
-
io.on :connect do
|
25
|
-
puts "#{io.type} connect!! (sessin_id:#{session})"
|
24
|
+
io.on :connect do
|
25
|
+
puts "#{io.type} connect!! (sessin_id:#{io.session})"
|
26
26
|
end
|
27
27
|
|
28
28
|
io.on :disconnect do
|
@@ -51,10 +51,11 @@ Sample
|
|
51
51
|
|
52
52
|
start [chat server](https://github.com/shokai/rocketio-chat-sample)
|
53
53
|
|
54
|
-
% git clone git://github.com/shokai/rocketio
|
55
|
-
% cd rocketio
|
54
|
+
% git clone git://github.com/shokai/sinatra-rocketio.git
|
55
|
+
% cd sinatra-rocketio
|
56
56
|
% bundle install
|
57
|
-
%
|
57
|
+
% cd sample/classic_style
|
58
|
+
% rackup config.ru -p 5000
|
58
59
|
|
59
60
|
=> http://localhost:5000
|
60
61
|
|
@@ -64,7 +65,6 @@ sample chat client
|
|
64
65
|
% ruby sample/cui_chat_client.rb
|
65
66
|
% ruby sample/cui_chat_client.rb http://localhost:5000 comet
|
66
67
|
% ruby sample/cui_chat_client.rb http://localhost:5000 websocket
|
67
|
-
% ruby sample/cui_chat_client.rb http://rocketio-chat.herokuapp.com
|
68
68
|
|
69
69
|
|
70
70
|
Test
|
@@ -76,7 +76,7 @@ Test
|
|
76
76
|
start server
|
77
77
|
|
78
78
|
% export PORT=5000
|
79
|
-
% export WS_PORT=
|
79
|
+
% export WS_PORT=9000
|
80
80
|
% rake test_server
|
81
81
|
|
82
82
|
run test
|
@@ -7,6 +7,10 @@ module EventMachine
|
|
7
7
|
include EventEmitter
|
8
8
|
attr_reader :settings, :type, :io, :channel
|
9
9
|
|
10
|
+
def self.settings
|
11
|
+
@@settings ||= {}
|
12
|
+
end
|
13
|
+
|
10
14
|
public
|
11
15
|
def initialize(url, opt={:type => :websocket, :channel => nil})
|
12
16
|
@url = url
|
@@ -25,11 +29,17 @@ module EventMachine
|
|
25
29
|
|
26
30
|
private
|
27
31
|
def get_settings
|
32
|
+
if self.class.settings[@url].kind_of? Hash
|
33
|
+
@settings = self.class.settings[@url]
|
34
|
+
emit :__settings
|
35
|
+
return
|
36
|
+
end
|
28
37
|
url = "#{@url}/rocketio/settings"
|
29
38
|
http = EM::HttpRequest.new(url).get
|
30
39
|
http.callback do |res|
|
31
40
|
begin
|
32
41
|
@settings = JSON.parse res.response
|
42
|
+
self.class.settings[@url] = @settings
|
33
43
|
emit :__settings
|
34
44
|
rescue => e
|
35
45
|
emit :error, "#{e} (#{url})"
|
data/test/app.rb
CHANGED
data/test/test_channel.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path 'test_helper', File.dirname(__FILE__)
|
2
2
|
|
3
|
-
class TestChannel < MiniTest::
|
3
|
+
class TestChannel < MiniTest::Test
|
4
4
|
|
5
5
|
def test_channel
|
6
6
|
## client1(comet, channel "aaa") ---> server --> client3(websocket, channel "aaa")
|
@@ -34,11 +34,10 @@ class TestChannel < MiniTest::Unit::TestCase
|
|
34
34
|
end
|
35
35
|
|
36
36
|
EM::defer do
|
37
|
-
|
37
|
+
80.times do
|
38
38
|
break if res != nil and res3 != nil
|
39
39
|
sleep 0.1
|
40
40
|
end
|
41
|
-
client.close
|
42
41
|
EM::stop
|
43
42
|
end
|
44
43
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path 'test_helper', File.dirname(__FILE__)
|
2
2
|
|
3
|
-
class TestEmRocketioClient < MiniTest::
|
3
|
+
class TestEmRocketioClient < MiniTest::Test
|
4
4
|
|
5
5
|
def test_websocket_to_comet
|
6
6
|
## websocket --> server --> comet
|
@@ -39,17 +39,19 @@ class TestEmRocketioClient < MiniTest::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
|
41
41
|
EM::defer do
|
42
|
-
|
42
|
+
80.times do
|
43
43
|
break if res != nil
|
44
44
|
sleep 0.1
|
45
45
|
end
|
46
|
-
|
46
|
+
EM::add_timer 1 do
|
47
|
+
EM::stop
|
48
|
+
end
|
47
49
|
end
|
48
50
|
end
|
49
51
|
assert res2 != nil, 'server not respond'
|
50
|
-
|
51
|
-
|
52
|
-
|
52
|
+
assert_equal res2["time"], post_data[:time]
|
53
|
+
assert_equal res2["msg"], post_data[:msg]
|
54
|
+
assert_equal res, nil
|
53
55
|
end
|
54
56
|
|
55
57
|
def test_comet_to_websocket
|
@@ -83,20 +85,19 @@ class TestEmRocketioClient < MiniTest::Unit::TestCase
|
|
83
85
|
end
|
84
86
|
|
85
87
|
EM::defer do
|
86
|
-
|
88
|
+
80.times do
|
87
89
|
break if res != nil
|
88
90
|
sleep 0.1
|
89
91
|
end
|
90
|
-
client.close
|
91
92
|
EM::add_timer 1 do
|
92
93
|
EM::stop
|
93
94
|
end
|
94
95
|
end
|
95
96
|
end
|
96
97
|
assert res2 != nil, 'server not respond'
|
97
|
-
|
98
|
-
|
99
|
-
|
98
|
+
assert_equal res2["time"], post_data[:time]
|
99
|
+
assert_equal res2["msg"], post_data[:msg]
|
100
|
+
assert_equal res, nil
|
100
101
|
end
|
101
102
|
|
102
103
|
end
|
metadata
CHANGED
@@ -1,111 +1,162 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: em-rocketio-client
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Sho Hashimoto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-07-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
19
17
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version:
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
22
20
|
type: :development
|
23
|
-
version_requirements: *id001
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: rake
|
26
21
|
prerelease: false
|
27
|
-
|
28
|
-
requirements:
|
29
|
-
-
|
30
|
-
-
|
31
|
-
|
32
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
33
34
|
type: :development
|
34
|
-
version_requirements: *id002
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: minitest
|
37
35
|
prerelease: false
|
38
|
-
|
39
|
-
requirements:
|
40
|
-
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
41
48
|
type: :development
|
42
|
-
version_requirements: *id004
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
|
-
name: sinatra-rocketio
|
45
49
|
prerelease: false
|
46
|
-
|
47
|
-
requirements:
|
48
|
-
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: sinatra-rocketio
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
49
62
|
type: :development
|
50
|
-
version_requirements: *id005
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: thin
|
53
63
|
prerelease: false
|
54
|
-
|
55
|
-
requirements:
|
56
|
-
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: thin
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
57
76
|
type: :development
|
58
|
-
version_requirements: *id006
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: em-cometio-client
|
61
77
|
prerelease: false
|
62
|
-
|
63
|
-
requirements:
|
64
|
-
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: em-cometio-client
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
65
90
|
type: :runtime
|
66
|
-
version_requirements: *id007
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: em-websocketio-client
|
69
91
|
prerelease: false
|
70
|
-
|
71
|
-
requirements:
|
72
|
-
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: em-websocketio-client
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
73
104
|
type: :runtime
|
74
|
-
version_requirements: *id008
|
75
|
-
- !ruby/object:Gem::Dependency
|
76
|
-
name: em-http-request
|
77
105
|
prerelease: false
|
78
|
-
|
79
|
-
requirements:
|
80
|
-
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: em-http-request
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
81
118
|
type: :runtime
|
82
|
-
version_requirements: *id009
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: eventmachine
|
85
119
|
prerelease: false
|
86
|
-
|
87
|
-
requirements:
|
88
|
-
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: eventmachine
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '>='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
89
132
|
type: :runtime
|
90
|
-
version_requirements: *id010
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: event_emitter
|
93
133
|
prerelease: false
|
94
|
-
|
95
|
-
requirements:
|
96
|
-
-
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '>='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: event_emitter
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '>='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
97
146
|
type: :runtime
|
98
|
-
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '>='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
99
153
|
description: Sinatra RocketIO client for eventmachine
|
100
|
-
email:
|
154
|
+
email:
|
101
155
|
- hashimoto@shokai.org
|
102
156
|
executables: []
|
103
|
-
|
104
157
|
extensions: []
|
105
|
-
|
106
158
|
extra_rdoc_files: []
|
107
|
-
|
108
|
-
files:
|
159
|
+
files:
|
109
160
|
- .gitignore
|
110
161
|
- Gemfile
|
111
162
|
- History.txt
|
@@ -124,29 +175,30 @@ files:
|
|
124
175
|
- test/test_em_rocketio_client.rb
|
125
176
|
- test/test_helper.rb
|
126
177
|
homepage: https://github.com/shokai/em-rocketio-client
|
127
|
-
licenses:
|
178
|
+
licenses:
|
128
179
|
- MIT
|
129
180
|
metadata: {}
|
130
|
-
|
131
181
|
post_install_message:
|
132
182
|
rdoc_options: []
|
133
|
-
|
134
|
-
require_paths:
|
183
|
+
require_paths:
|
135
184
|
- lib
|
136
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
-
requirements:
|
138
|
-
-
|
139
|
-
|
140
|
-
|
141
|
-
|
185
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
142
195
|
requirements: []
|
143
|
-
|
144
196
|
rubyforge_project:
|
145
197
|
rubygems_version: 2.0.3
|
146
198
|
signing_key:
|
147
199
|
specification_version: 4
|
148
200
|
summary: Sinatra RocketIO client for eventmachine
|
149
|
-
test_files:
|
201
|
+
test_files:
|
150
202
|
- test/app.rb
|
151
203
|
- test/app/config.ru
|
152
204
|
- test/app/main.rb
|