em-cometio-client 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +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
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3aa9aae21b543d2bf036a2bf43057977f45e783a
4
+ data.tar.gz: 92475676563a8aaeec26a4d5e3f34648d4ab7122
5
+ SHA512:
6
+ metadata.gz: 2ef2b31825a0e3aec99cf58d2ccb301721a24634ac256abaa30a2cca869327d4c47d7e31b0a48cad3ba459cbd1f650d30b143da325e342c4b2f77688510c945e
7
+ data.tar.gz: cf8d43790befe20e18e0414f19587a60f304c48f668597bdabd914dfc9b4932d1a57451c3217c990ceaad58e9f2ca0368f61c2e389a8db9313bef639c26f0755
@@ -1,3 +1,7 @@
1
+ === 0.1.1 2013-05-29
2
+
3
+ * post with JSON for nested Array
4
+
1
5
  === 0.1.0 2013-04-02
2
6
 
3
7
  * use queue on push
data/README.md CHANGED
@@ -66,9 +66,14 @@ Test
66
66
 
67
67
  % gem install bundler
68
68
  % bundle install
69
- % export PORT=5000
70
- % export PID_FILE=/tmp/em-cometio-client-testapp.pid
71
- % rake test
69
+
70
+ start server
71
+
72
+ % bundle exec rake test_server
73
+
74
+ test
75
+
76
+ % bundle exec rake test
72
77
 
73
78
 
74
79
  Contributing
data/Rakefile CHANGED
@@ -5,4 +5,10 @@ Rake::TestTask.new do |t|
5
5
  t.pattern = "test/test_*.rb"
6
6
  end
7
7
 
8
+ desc "Start test server"
9
+ task :test_server do
10
+ require File.expand_path 'test/app', File.dirname(__FILE__)
11
+ App.start
12
+ end
13
+
8
14
  task :default => :test
@@ -20,11 +20,11 @@ module EventMachine
20
20
  private
21
21
  def flush
22
22
  return if !@running or @post_queue.size < 1
23
- post_data = {:session => @session, :events => @post_queue}
23
+ post_data = {:json => {:session => @session, :events => @post_queue}.to_json}
24
+ @post_queue = []
24
25
  that = self
25
26
  http = EM::HttpRequest.new(@url, :connect_timeout => 10).
26
27
  post(:body => post_data)
27
- @post_queue = []
28
28
  http.callback do |res|
29
29
  end
30
30
  http.errback do |err|
@@ -1,7 +1,7 @@
1
1
  module EventMachine
2
2
  module CometIO
3
3
  class Client
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
6
6
  end
7
7
  end
@@ -12,46 +12,15 @@ class App
12
12
  "http://localhost:#{port}/cometio/io"
13
13
  end
14
14
 
15
- def self.pid_file
16
- ENV['PID_FILE'] || "/tmp/em-cometio-client-testapp.pid"
17
- end
18
-
19
15
  def self.app_dir
20
16
  File.expand_path 'app', File.dirname(__FILE__)
21
17
  end
22
18
 
23
- def self.pid
24
- return unless @running
25
- File.open(pid_file) do |f|
26
- pid = f.gets.strip.to_i
27
- return pid if pid > 0
28
- end
29
- return
30
- end
31
-
32
19
  def self.start
33
20
  return if @running
34
- File.delete pid_file if File.exists? pid_file
35
- Thread.new do
36
- IO::popen "cd #{app_dir} && PID_FILE=#{pid_file} rackup config.ru -p #{port} > /dev/null 2>&1"
37
- end
38
21
  @running = true
39
- 100.times do
40
- if File.exists? pid_file
41
- sleep 1
42
- return true
43
- end
44
- sleep 0.1
45
- end
46
- @running = false
47
- return false
48
- end
49
-
50
- def self.stop
51
- return unless @running
52
- system "kill #{pid}"
53
- File.delete pid_file if File.exists? pid_file
54
- @running = false
22
+ cmd = "cd #{app_dir} && bundle exec rackup config.ru -p #{port}"
23
+ system cmd
55
24
  end
56
25
 
57
26
  end
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'bundler'
3
3
  Bundler.require
4
4
  $stdout.sync = true
5
+ $:.unshift File.expand_path '../../lib', File.dirname(__FILE__)
5
6
  require 'sinatra'
6
7
  require 'sinatra/base'
7
8
  require 'sinatra/cometio'
@@ -1,8 +1,3 @@
1
- pid_file = ENV['PID_FILE'] || "/tmp/sinatra-cometio-test-pid"
2
- File.open(pid_file, "w+") do |f|
3
- f.write Process.pid.to_s
4
- end
5
-
6
1
  class TestApp < Sinatra::Base
7
2
  register Sinatra::CometIO
8
3
  io = Sinatra::CometIO
@@ -1,14 +1,6 @@
1
1
  require File.expand_path 'test_helper', File.dirname(__FILE__)
2
2
 
3
- class TestEmCometioClient < MiniTest::Unit::TestCase
4
-
5
- def setup
6
- App.start
7
- end
8
-
9
- def teardown
10
- App.stop
11
- end
3
+ class TestEmCometioClient < MiniTest::Test
12
4
 
13
5
  def test_simple
14
6
  post_data = {:time => Time.now.to_s, :msg => 'hello!!'}
@@ -4,12 +4,3 @@ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
4
4
  require 'minitest/autorun'
5
5
  require 'em-cometio-client'
6
6
  require File.expand_path 'app', File.dirname(__FILE__)
7
-
8
- ['SIGHUP', 'SIGINT', 'SIGKILL', 'SIGTERM'].each do |sig|
9
- Kernel.trap sig do
10
- App.stop
11
- EM::add_timer do
12
- EM::stop
13
- end
14
- end
15
- end
metadata CHANGED
@@ -1,87 +1,120 @@
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.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
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
- date: 2013-04-02 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
11
+ date: 2013-05-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
15
14
  name: minitest
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
19
- - &id002
20
- - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
23
20
  type: :development
24
- version_requirements: *id001
25
- - !ruby/object:Gem::Dependency
26
- name: sinatra-cometio
27
21
  prerelease: false
28
- requirement: &id003 !ruby/object:Gem::Requirement
29
- requirements:
30
- - *id002
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sinatra-cometio
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
31
34
  type: :development
32
- version_requirements: *id003
33
- - !ruby/object:Gem::Dependency
34
- name: thin
35
35
  prerelease: false
36
- requirement: &id004 !ruby/object:Gem::Requirement
37
- requirements:
38
- - *id002
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: thin
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
39
48
  type: :development
40
- version_requirements: *id004
41
- - !ruby/object:Gem::Dependency
42
- name: eventmachine
43
49
  prerelease: false
44
- requirement: &id005 !ruby/object:Gem::Requirement
45
- requirements:
46
- - *id002
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: eventmachine
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  type: :runtime
48
- version_requirements: *id005
49
- - !ruby/object:Gem::Dependency
50
- name: em-http-request
51
63
  prerelease: false
52
- requirement: &id006 !ruby/object:Gem::Requirement
53
- requirements:
54
- - *id002
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: em-http-request
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
55
76
  type: :runtime
56
- version_requirements: *id006
57
- - !ruby/object:Gem::Dependency
58
- name: json
59
77
  prerelease: false
60
- requirement: &id007 !ruby/object:Gem::Requirement
61
- requirements:
62
- - *id002
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: json
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
63
90
  type: :runtime
64
- version_requirements: *id007
65
- - !ruby/object:Gem::Dependency
66
- name: event_emitter
67
91
  prerelease: false
68
- requirement: &id008 !ruby/object:Gem::Requirement
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
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: event_emitter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
72
103
  version: 0.2.0
73
104
  type: :runtime
74
- version_requirements: *id008
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.2.0
75
111
  description: Sinatra CometIO client for eventmachine
76
- email:
112
+ email:
77
113
  - hashimoto@shokai.org
78
114
  executables: []
79
-
80
115
  extensions: []
81
-
82
116
  extra_rdoc_files: []
83
-
84
- files:
117
+ files:
85
118
  - .gitignore
86
119
  - Gemfile
87
120
  - History.txt
@@ -100,30 +133,31 @@ files:
100
133
  - test/test_helper.rb
101
134
  homepage: https://github.com/shokai/em-cometio-client
102
135
  licenses: []
103
-
104
136
  metadata: {}
105
-
106
137
  post_install_message:
107
138
  rdoc_options: []
108
-
109
- require_paths:
139
+ require_paths:
110
140
  - lib
111
- required_ruby_version: !ruby/object:Gem::Requirement
112
- requirements:
113
- - *id002
114
- required_rubygems_version: !ruby/object:Gem::Requirement
115
- requirements:
116
- - *id002
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
117
151
  requirements: []
118
-
119
152
  rubyforge_project:
120
153
  rubygems_version: 2.0.3
121
154
  signing_key:
122
155
  specification_version: 4
123
156
  summary: Sinatra CometIO client for eventmachine
124
- test_files:
157
+ test_files:
125
158
  - test/app.rb
126
159
  - test/app/config.ru
127
160
  - test/app/main.rb
128
161
  - test/test_em_cometio_client.rb
129
162
  - test/test_helper.rb
163
+ has_rdoc: