em-cometio-client 0.0.7 → 0.1.0

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.
@@ -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