sinatra-synchrony 0.0.3 → 0.1.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.markdown +7 -6
  2. data/lib/sinatra/synchrony.rb +0 -5
  3. metadata +73 -31
data/README.markdown CHANGED
@@ -1,7 +1,3 @@
1
- ## Announcement ##
2
-
3
- **There is work underway to make this a Rack middleware, and integrate that middleware with this plugin. That way, many other frameworks can take advantage of this. There is also work underway to provide support for non-EventMachine Reactor pattern implementations with this approach. Stay tuned, amazing stuff coming very soon!**
4
-
5
1
  Sinatra::Synchrony
6
2
  ===
7
3
 
@@ -99,11 +95,16 @@ Let's try a simple blocking IO example to prove it works. 100 hits to google.com
99
95
 
100
96
  For a perspective, this operation takes __33 seconds__ without this extension. That's __26x__ faster!
101
97
 
98
+ Geoloqi
99
+ ---
100
+ This gem was designed to help us develop faster games and internal applications for [Geoloqi](http://geoloqi.org): a private, real-time mobile and web platform for securely sharing location data. We wanted to share with you how we deal with concurrency issues, and also make it easy to utilize this for our other projects. One of these projects is our recently released [Geoloqi ruby adapter](http://github.com/kyledrake/geoloqi-ruby), which utilizes [Faraday](http://github.com/technoweenie/faraday) and sinatra-synchrony to provide massive concurrency with almost no changes required to your code. Geoloqi is production ready right now, and we have a lot of major features and enhancements in store for this summer. Keep an eye on us! We won't disappoint.
101
+
102
102
  TODO / Thoughts
103
103
  ---
104
- * This is fairly alpha. Please test before deploying to production.
104
+ * This is fairly new, though we are using it in production without any problems. Test before deploying anything with it.
105
105
  * Provide better method for patching Rack::Test that's less fragile to version changes. This is a big priority and I intend to improve this. Pull requests here welcome!
106
106
  * Research way to run tests with Rack::FiberPool enabled.
107
+ * There is work underway to make this a Rack middleware, and integrate that middleware with this plugin. That way, many other frameworks can take advantage of this. There is also work exploratory work to provide support for non-EventMachine Reactor pattern implementations with this approach, but it's beyond the scope of this extension.
107
108
 
108
109
  Author
109
110
  ---
@@ -113,6 +114,6 @@ Thanks
113
114
  ---
114
115
  * [Ilya Grigorik](http://www.igvita.com) and [PostRank](http://www.postrank.com) for their amazing work on em-synchrony, em-http-request, and countless articles explaining this.
115
116
  * [Mike Perham](http://www.mikeperham.com) and [Carbon Five](http://carbonfive.com). For rack-fiber_pool, em-resolv-replace, and many blog posts and presentations on this.
116
- * [Konstantin Haase](http://rkh.im/) for async-rack and his many contributions to Sinatra.
117
+ * [Konstantin Haase](http://rkh.im/) for session overload suggestion.
117
118
  * [Steeve Morin](http://github.com/steeve)
118
119
  * The many Sinatra developers that liberated me from framework hell, and EventMachine developers that liberated me from blocking IO hell.
@@ -6,11 +6,6 @@ require 'em-synchrony'
6
6
  require 'em-resolv-replace'
7
7
  require 'net/http'
8
8
 
9
- original_verbosity = $VERBOSE
10
- $VERBOSE = nil
11
- TCPSocket = EventMachine::Synchrony::TCPSocket
12
- $VERBOSE = original_verbosity
13
-
14
9
  module Sinatra
15
10
  module Synchrony
16
11
  def setup_sessions(builder)
metadata CHANGED
@@ -1,8 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-synchrony
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.3
4
+ hash: 62196407
5
+ prerelease: 6
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ - beta
11
+ - 2
12
+ version: 0.1.0.beta.2
6
13
  platform: ruby
7
14
  authors:
8
15
  - Kyle Drake
@@ -10,8 +17,7 @@ autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
19
 
13
- date: 2011-05-09 00:00:00 -07:00
14
- default_executable:
20
+ date: 2011-07-11 00:00:00 Z
15
21
  dependencies:
16
22
  - !ruby/object:Gem::Dependency
17
23
  name: sinatra
@@ -21,6 +27,10 @@ dependencies:
21
27
  requirements:
22
28
  - - ">="
23
29
  - !ruby/object:Gem::Version
30
+ hash: 15
31
+ segments:
32
+ - 1
33
+ - 0
24
34
  version: "1.0"
25
35
  type: :runtime
26
36
  version_requirements: *id001
@@ -32,97 +42,122 @@ dependencies:
32
42
  requirements:
33
43
  - - "="
34
44
  - !ruby/object:Gem::Version
45
+ hash: 57
46
+ segments:
47
+ - 0
48
+ - 9
49
+ - 1
35
50
  version: 0.9.1
36
51
  type: :runtime
37
52
  version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: async-rack
40
- prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
42
- none: false
43
- requirements:
44
- - - "="
45
- - !ruby/object:Gem::Version
46
- version: 0.5.1
47
- type: :runtime
48
- version_requirements: *id003
49
53
  - !ruby/object:Gem::Dependency
50
54
  name: em-http-request
51
55
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ requirement: &id003 !ruby/object:Gem::Requirement
53
57
  none: false
54
58
  requirements:
55
59
  - - "="
56
60
  - !ruby/object:Gem::Version
61
+ hash: 19
62
+ segments:
63
+ - 0
64
+ - 3
65
+ - 0
57
66
  version: 0.3.0
58
67
  type: :runtime
59
- version_requirements: *id004
68
+ version_requirements: *id003
60
69
  - !ruby/object:Gem::Dependency
61
70
  name: em-synchrony
62
71
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ requirement: &id004 !ruby/object:Gem::Requirement
64
73
  none: false
65
74
  requirements:
66
75
  - - "="
67
76
  - !ruby/object:Gem::Version
77
+ hash: 23
78
+ segments:
79
+ - 0
80
+ - 2
81
+ - 0
68
82
  version: 0.2.0
69
83
  type: :runtime
70
- version_requirements: *id005
84
+ version_requirements: *id004
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: em-resolv-replace
73
87
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ requirement: &id005 !ruby/object:Gem::Requirement
75
89
  none: false
76
90
  requirements:
77
91
  - - "="
78
92
  - !ruby/object:Gem::Version
93
+ hash: 17
94
+ segments:
95
+ - 1
96
+ - 1
97
+ - 1
79
98
  version: 1.1.1
80
99
  type: :runtime
81
- version_requirements: *id006
100
+ version_requirements: *id005
82
101
  - !ruby/object:Gem::Dependency
83
102
  name: rake
84
103
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ requirement: &id006 !ruby/object:Gem::Requirement
86
105
  none: false
87
106
  requirements:
88
107
  - - ">="
89
108
  - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
90
112
  version: "0"
91
113
  type: :development
92
- version_requirements: *id007
114
+ version_requirements: *id006
93
115
  - !ruby/object:Gem::Dependency
94
116
  name: rack-test
95
117
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
118
+ requirement: &id007 !ruby/object:Gem::Requirement
97
119
  none: false
98
120
  requirements:
99
121
  - - "="
100
122
  - !ruby/object:Gem::Version
123
+ hash: 5
124
+ segments:
125
+ - 0
126
+ - 5
127
+ - 7
101
128
  version: 0.5.7
102
129
  type: :development
103
- version_requirements: *id008
130
+ version_requirements: *id007
104
131
  - !ruby/object:Gem::Dependency
105
132
  name: wrong
106
133
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
134
+ requirement: &id008 !ruby/object:Gem::Requirement
108
135
  none: false
109
136
  requirements:
110
137
  - - "="
111
138
  - !ruby/object:Gem::Version
139
+ hash: 11
140
+ segments:
141
+ - 0
142
+ - 5
143
+ - 0
112
144
  version: 0.5.0
113
145
  type: :development
114
- version_requirements: *id009
146
+ version_requirements: *id008
115
147
  - !ruby/object:Gem::Dependency
116
148
  name: minitest
117
149
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
150
+ requirement: &id009 !ruby/object:Gem::Requirement
119
151
  none: false
120
152
  requirements:
121
153
  - - ">="
122
154
  - !ruby/object:Gem::Version
155
+ hash: 3
156
+ segments:
157
+ - 0
123
158
  version: "0"
124
159
  type: :development
125
- version_requirements: *id010
160
+ version_requirements: *id009
126
161
  description: Bootstraps in code required to take advantage of EventMachine/EM-Synchrony's concurrency enhancements for slow IO. Patches TCPSocket, which makes anything based on it EM-aware (including RestClient). Includes patch for tests. Requires ruby 1.9.
127
162
  email:
128
163
  - kyledrake@gmail.com
@@ -140,7 +175,6 @@ files:
140
175
  - Gemfile.lock
141
176
  - Rakefile
142
177
  - README.markdown
143
- has_rdoc: true
144
178
  homepage: https://github.com/kyledrake/sinatra-synchrony
145
179
  licenses: []
146
180
 
@@ -154,17 +188,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
188
  requirements:
155
189
  - - ">="
156
190
  - !ruby/object:Gem::Version
191
+ hash: 3
192
+ segments:
193
+ - 0
157
194
  version: "0"
158
195
  required_rubygems_version: !ruby/object:Gem::Requirement
159
196
  none: false
160
197
  requirements:
161
198
  - - ">="
162
199
  - !ruby/object:Gem::Version
200
+ hash: 19
201
+ segments:
202
+ - 1
203
+ - 3
204
+ - 4
163
205
  version: 1.3.4
164
206
  requirements: []
165
207
 
166
208
  rubyforge_project: sinatra-synchrony
167
- rubygems_version: 1.6.2
209
+ rubygems_version: 1.8.5
168
210
  signing_key:
169
211
  specification_version: 3
170
212
  summary: Bootstraps Sinatra with EM-Synchrony code, make TCPSocket EM-aware, provides support for tests