em-cometio-client 0.1.0 → 0.1.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.
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: