em-cometio-client 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA512:
3
+ metadata.gz: 1d2c863dde4908fc650be1807cb52ebc4d6830e4f0ed39c40e365f737a20c56ce35e3b7800608edcf293bd1596ea2467b29633dcfdc4728f8ba5986a101de764
4
+ data.tar.gz: 167970809b4741fb5ccdc72ef7305ebe3fdbf8ca9fa04abb0be3bd98cc8bbbbcd276a514aebf18c7287a75165a3242cee9e29a3bcbb29a45c0ca8ae36076390d
5
+ SHA1:
6
+ metadata.gz: dab8ae4e2635bdc7c47d3a2ad5820d585da8de26
7
+ data.tar.gz: fed2b23db5cb1caeae2fbbd52527e14a13274ef3
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  .DS_Store
2
+ .ruby-version
2
3
  *.tmp
3
4
  *~
4
5
  *#*
@@ -1,3 +1,7 @@
1
+ === 0.1.0 2013-04-02
2
+
3
+ * use queue on push
4
+
1
5
  === 0.0.7 2013-03-25
2
6
 
3
7
  * fix timeout retry
@@ -11,12 +11,20 @@ module EventMachine
11
11
  @session = nil
12
12
  @running = false
13
13
  @timeout = 120
14
+ @post_queue = []
15
+ EM::add_periodic_timer 1 do
16
+ flush
17
+ end
14
18
  end
15
19
 
16
- def push(type, data)
20
+ private
21
+ def flush
22
+ return if !@running or @post_queue.size < 1
23
+ post_data = {:session => @session, :events => @post_queue}
17
24
  that = self
18
25
  http = EM::HttpRequest.new(@url, :connect_timeout => 10).
19
- post(:body => {:type => type, :data => data, :session => @session})
26
+ post(:body => post_data)
27
+ @post_queue = []
20
28
  http.callback do |res|
21
29
  end
22
30
  http.errback do |err|
@@ -24,6 +32,15 @@ module EventMachine
24
32
  end
25
33
  end
26
34
 
35
+ public
36
+ def push(type, data)
37
+ if !@running or !@session
38
+ emit :error, "CometIO not connected"
39
+ return
40
+ end
41
+ @post_queue.push :type => type, :data => data
42
+ end
43
+
27
44
  def connect
28
45
  return self if @running
29
46
  self.on :__session_id do |session|
@@ -1,7 +1,7 @@
1
1
  module EventMachine
2
2
  module CometIO
3
3
  class Client
4
- VERSION = "0.0.7"
4
+ VERSION = "0.1.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,135 +1,87 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: em-cometio-client
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
6
5
  platform: ruby
7
- authors:
6
+ authors:
8
7
  - Sho Hashimoto
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-03-24 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+
12
+ date: 2013-04-02 00:00:00 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
16
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: sinatra-cometio
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
17
+ requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - &id002
20
+ - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
38
23
  type: :development
24
+ version_requirements: *id001
25
+ - !ruby/object:Gem::Dependency
26
+ name: sinatra-cometio
39
27
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: thin
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
28
+ requirement: &id003 !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - *id002
54
31
  type: :development
32
+ version_requirements: *id003
33
+ - !ruby/object:Gem::Dependency
34
+ name: thin
55
35
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
36
+ requirement: &id004 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - *id002
39
+ type: :development
40
+ version_requirements: *id004
41
+ - !ruby/object:Gem::Dependency
63
42
  name: eventmachine
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :runtime
71
43
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- - !ruby/object:Gem::Dependency
79
- name: em-http-request
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ! '>='
84
- - !ruby/object:Gem::Version
85
- version: '0'
44
+ requirement: &id005 !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - *id002
86
47
  type: :runtime
48
+ version_requirements: *id005
49
+ - !ruby/object:Gem::Dependency
50
+ name: em-http-request
87
51
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: json
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
52
+ requirement: &id006 !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - *id002
102
55
  type: :runtime
56
+ version_requirements: *id006
57
+ - !ruby/object:Gem::Dependency
58
+ name: json
103
59
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: event_emitter
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: 0.2.0
60
+ requirement: &id007 !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - *id002
118
63
  type: :runtime
64
+ version_requirements: *id007
65
+ - !ruby/object:Gem::Dependency
66
+ name: event_emitter
119
67
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
68
+ requirement: &id008 !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
125
72
  version: 0.2.0
73
+ type: :runtime
74
+ version_requirements: *id008
126
75
  description: Sinatra CometIO client for eventmachine
127
- email:
76
+ email:
128
77
  - hashimoto@shokai.org
129
78
  executables: []
79
+
130
80
  extensions: []
81
+
131
82
  extra_rdoc_files: []
132
- files:
83
+
84
+ files:
133
85
  - .gitignore
134
86
  - Gemfile
135
87
  - History.txt
@@ -148,29 +100,28 @@ files:
148
100
  - test/test_helper.rb
149
101
  homepage: https://github.com/shokai/em-cometio-client
150
102
  licenses: []
103
+
104
+ metadata: {}
105
+
151
106
  post_install_message:
152
107
  rdoc_options: []
153
- require_paths:
108
+
109
+ require_paths:
154
110
  - lib
155
- required_ruby_version: !ruby/object:Gem::Requirement
156
- none: false
157
- requirements:
158
- - - ! '>='
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- required_rubygems_version: !ruby/object:Gem::Requirement
162
- none: false
163
- requirements:
164
- - - ! '>='
165
- - !ruby/object:Gem::Version
166
- version: '0'
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - *id002
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - *id002
167
117
  requirements: []
118
+
168
119
  rubyforge_project:
169
- rubygems_version: 1.8.24
120
+ rubygems_version: 2.0.3
170
121
  signing_key:
171
- specification_version: 3
122
+ specification_version: 4
172
123
  summary: Sinatra CometIO client for eventmachine
173
- test_files:
124
+ test_files:
174
125
  - test/app.rb
175
126
  - test/app/config.ru
176
127
  - test/app/main.rb