webmachine 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/Gemfile +9 -0
  2. data/README.md +65 -2
  3. data/lib/webmachine.rb +1 -0
  4. data/lib/webmachine/adapters.rb +4 -1
  5. data/lib/webmachine/adapters/hatetepe.rb +104 -0
  6. data/lib/webmachine/adapters/lazy_request_body.rb +32 -0
  7. data/lib/webmachine/adapters/rack.rb +2 -1
  8. data/lib/webmachine/adapters/reel.rb +45 -0
  9. data/lib/webmachine/adapters/webrick.rb +1 -30
  10. data/lib/webmachine/decision/falsey.rb +10 -0
  11. data/lib/webmachine/decision/flow.rb +28 -26
  12. data/lib/webmachine/decision/fsm.rb +22 -12
  13. data/lib/webmachine/decision/helpers.rb +17 -23
  14. data/lib/webmachine/etags.rb +69 -0
  15. data/lib/webmachine/headers.rb +42 -0
  16. data/lib/webmachine/quoted_string.rb +39 -0
  17. data/lib/webmachine/resource.rb +17 -0
  18. data/lib/webmachine/resource/callbacks.rb +1 -1
  19. data/lib/webmachine/resource/entity_tags.rb +17 -0
  20. data/lib/webmachine/streaming.rb +9 -61
  21. data/lib/webmachine/streaming/callable_encoder.rb +21 -0
  22. data/lib/webmachine/streaming/encoder.rb +24 -0
  23. data/lib/webmachine/streaming/enumerable_encoder.rb +20 -0
  24. data/lib/webmachine/streaming/fiber_encoder.rb +25 -0
  25. data/lib/webmachine/streaming/io_encoder.rb +65 -0
  26. data/lib/webmachine/trace/fsm.rb +9 -4
  27. data/lib/webmachine/trace/resource_proxy.rb +2 -4
  28. data/lib/webmachine/trace/static/tracelist.erb +2 -2
  29. data/lib/webmachine/trace/trace_resource.rb +3 -2
  30. data/lib/webmachine/version.rb +1 -1
  31. data/spec/webmachine/adapters/hatetepe_spec.rb +64 -0
  32. data/spec/webmachine/adapters/rack_spec.rb +18 -8
  33. data/spec/webmachine/adapters/reel_spec.rb +23 -0
  34. data/spec/webmachine/decision/falsey_spec.rb +8 -0
  35. data/spec/webmachine/decision/flow_spec.rb +12 -0
  36. data/spec/webmachine/decision/fsm_spec.rb +101 -0
  37. data/spec/webmachine/decision/helpers_spec.rb +68 -8
  38. data/spec/webmachine/dispatcher/route_spec.rb +1 -1
  39. data/spec/webmachine/dispatcher_spec.rb +1 -1
  40. data/spec/webmachine/errors_spec.rb +1 -1
  41. data/spec/webmachine/etags_spec.rb +75 -0
  42. data/spec/webmachine/headers_spec.rb +72 -0
  43. data/spec/webmachine/trace/fsm_spec.rb +5 -0
  44. data/spec/webmachine/trace/resource_proxy_spec.rb +1 -3
  45. data/webmachine.gemspec +1 -2
  46. metadata +49 -20
data/webmachine.gemspec CHANGED
@@ -16,10 +16,9 @@ Gem::Specification.new do |gem|
16
16
 
17
17
  gem.add_runtime_dependency(%q<i18n>, [">= 0.4.0"])
18
18
  gem.add_runtime_dependency(%q<multi_json>)
19
- gem.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
19
+ gem.add_development_dependency(%q<rspec>, ["~> 2.12.0"])
20
20
  gem.add_development_dependency(%q<yard>, ["~> 0.7.3"])
21
21
  gem.add_development_dependency(%q<rake>)
22
- gem.add_development_dependency(%q<mongrel>, ['~>1.2.beta'])
23
22
  gem.add_development_dependency(%q<rack>)
24
23
  gem.add_development_dependency(%q<rack-test>)
25
24
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmachine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-07 00:00:00.000000000 Z
12
+ date: 2013-01-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 2.8.0
53
+ version: 2.12.0
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,7 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 2.8.0
61
+ version: 2.12.0
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: yard
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -91,22 +91,6 @@ dependencies:
91
91
  - - ! '>='
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: mongrel
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 1.2.beta
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 1.2.beta
110
94
  - !ruby/object:Gem::Dependency
111
95
  name: rack
112
96
  requirement: !ruby/object:Gem::Requirement
@@ -164,11 +148,15 @@ files:
164
148
  - doc/method_list.html
165
149
  - doc/top-level-namespace.html
166
150
  - doc/Webmachine/Adapter.html
151
+ - doc/Webmachine/Adapters/Hatetepe/Body.html
152
+ - doc/Webmachine/Adapters/Hatetepe.html
153
+ - doc/Webmachine/Adapters/LazyRequestBody.html
167
154
  - doc/Webmachine/Adapters/Mongrel/Handler.html
168
155
  - doc/Webmachine/Adapters/Mongrel/RequestBody.html
169
156
  - doc/Webmachine/Adapters/Mongrel.html
170
157
  - doc/Webmachine/Adapters/Rack/RequestBody.html
171
158
  - doc/Webmachine/Adapters/Rack.html
159
+ - doc/Webmachine/Adapters/Reel.html
172
160
  - doc/Webmachine/Adapters/WEBrick/RequestBody.html
173
161
  - doc/Webmachine/Adapters/WEBrick/Server.html
174
162
  - doc/Webmachine/Adapters/WEBrick.html
@@ -189,26 +177,38 @@ files:
189
177
  - doc/Webmachine/Dispatcher.html
190
178
  - doc/Webmachine/EnumerableEncoder.html
191
179
  - doc/Webmachine/Error.html
180
+ - doc/Webmachine/ETag.html
192
181
  - doc/Webmachine/FiberEncoder.html
193
182
  - doc/Webmachine/Headers.html
194
183
  - doc/Webmachine/InvalidResource.html
195
184
  - doc/Webmachine/MalformedRequest.html
196
185
  - doc/Webmachine/MediaType.html
186
+ - doc/Webmachine/QuotedString.html
197
187
  - doc/Webmachine/Request.html
198
188
  - doc/Webmachine/Resource/Authentication.html
199
189
  - doc/Webmachine/Resource/Callbacks.html
200
190
  - doc/Webmachine/Resource/Encodings.html
191
+ - doc/Webmachine/Resource/EntityTags.html
192
+ - doc/Webmachine/Resource/Tracing.html
201
193
  - doc/Webmachine/Resource.html
202
194
  - doc/Webmachine/Response/HeaderHash.html
203
195
  - doc/Webmachine/Response.html
196
+ - doc/Webmachine/Streaming/CallableEncoder.html
197
+ - doc/Webmachine/Streaming/Encoder.html
198
+ - doc/Webmachine/Streaming/EnumerableEncoder.html
199
+ - doc/Webmachine/Streaming/FiberEncoder.html
200
+ - doc/Webmachine/Streaming/IOEncoder.html
201
+ - doc/Webmachine/Streaming.html
204
202
  - doc/Webmachine/StreamingEncoder.html
205
203
  - doc/Webmachine/Trace/Call.html
204
+ - doc/Webmachine/Trace/FSM.html
206
205
  - doc/Webmachine/Trace/PStoreTraceStore.html
207
206
  - doc/Webmachine/Trace/ResourceProxy.html
208
207
  - doc/Webmachine/Trace/TraceResource.html
209
208
  - doc/Webmachine/Trace/Wrapper.html
210
209
  - doc/Webmachine/Trace.html
211
210
  - doc/Webmachine/Translation.html
211
+ - doc/Webmachine/WeakETag.html
212
212
  - doc/Webmachine.html
213
213
  - examples/application.rb
214
214
  - examples/debugger.rb
@@ -216,8 +216,12 @@ files:
216
216
  - Gemfile
217
217
  - Guardfile
218
218
  - lib/webmachine/adapter.rb
219
+ - lib/webmachine/adapters/#reel.rb#
220
+ - lib/webmachine/adapters/hatetepe.rb
221
+ - lib/webmachine/adapters/lazy_request_body.rb
219
222
  - lib/webmachine/adapters/mongrel.rb
220
223
  - lib/webmachine/adapters/rack.rb
224
+ - lib/webmachine/adapters/reel.rb
221
225
  - lib/webmachine/adapters/webrick.rb
222
226
  - lib/webmachine/adapters.rb
223
227
  - lib/webmachine/application.rb
@@ -225,6 +229,7 @@ files:
225
229
  - lib/webmachine/configuration.rb
226
230
  - lib/webmachine/cookie.rb
227
231
  - lib/webmachine/decision/conneg.rb
232
+ - lib/webmachine/decision/falsey.rb
228
233
  - lib/webmachine/decision/flow.rb
229
234
  - lib/webmachine/decision/fsm.rb
230
235
  - lib/webmachine/decision/helpers.rb
@@ -232,17 +237,25 @@ files:
232
237
  - lib/webmachine/dispatcher/route.rb
233
238
  - lib/webmachine/dispatcher.rb
234
239
  - lib/webmachine/errors.rb
240
+ - lib/webmachine/etags.rb
235
241
  - lib/webmachine/fiber18.rb
236
242
  - lib/webmachine/headers.rb
237
243
  - lib/webmachine/locale/en.yml
238
244
  - lib/webmachine/media_type.rb
245
+ - lib/webmachine/quoted_string.rb
239
246
  - lib/webmachine/request.rb
240
247
  - lib/webmachine/resource/authentication.rb
241
248
  - lib/webmachine/resource/callbacks.rb
242
249
  - lib/webmachine/resource/encodings.rb
250
+ - lib/webmachine/resource/entity_tags.rb
243
251
  - lib/webmachine/resource/tracing.rb
244
252
  - lib/webmachine/resource.rb
245
253
  - lib/webmachine/response.rb
254
+ - lib/webmachine/streaming/callable_encoder.rb
255
+ - lib/webmachine/streaming/encoder.rb
256
+ - lib/webmachine/streaming/enumerable_encoder.rb
257
+ - lib/webmachine/streaming/fiber_encoder.rb
258
+ - lib/webmachine/streaming/io_encoder.rb
246
259
  - lib/webmachine/streaming.rb
247
260
  - lib/webmachine/trace/fsm.rb
248
261
  - lib/webmachine/trace/pstore_trace_store.rb
@@ -262,19 +275,24 @@ files:
262
275
  - README.md
263
276
  - spec/spec_helper.rb
264
277
  - spec/webmachine/adapter_spec.rb
278
+ - spec/webmachine/adapters/hatetepe_spec.rb
265
279
  - spec/webmachine/adapters/mongrel_spec.rb
266
280
  - spec/webmachine/adapters/rack_spec.rb
281
+ - spec/webmachine/adapters/reel_spec.rb
267
282
  - spec/webmachine/adapters/webrick_spec.rb
268
283
  - spec/webmachine/application_spec.rb
269
284
  - spec/webmachine/chunked_body_spec.rb
270
285
  - spec/webmachine/configuration_spec.rb
271
286
  - spec/webmachine/cookie_spec.rb
272
287
  - spec/webmachine/decision/conneg_spec.rb
288
+ - spec/webmachine/decision/falsey_spec.rb
273
289
  - spec/webmachine/decision/flow_spec.rb
290
+ - spec/webmachine/decision/fsm_spec.rb
274
291
  - spec/webmachine/decision/helpers_spec.rb
275
292
  - spec/webmachine/dispatcher/route_spec.rb
276
293
  - spec/webmachine/dispatcher_spec.rb
277
294
  - spec/webmachine/errors_spec.rb
295
+ - spec/webmachine/etags_spec.rb
278
296
  - spec/webmachine/headers_spec.rb
279
297
  - spec/webmachine/media_type_spec.rb
280
298
  - spec/webmachine/request_spec.rb
@@ -298,12 +316,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
298
316
  - - ! '>='
299
317
  - !ruby/object:Gem::Version
300
318
  version: '0'
319
+ segments:
320
+ - 0
321
+ hash: 2113185395505301122
301
322
  required_rubygems_version: !ruby/object:Gem::Requirement
302
323
  none: false
303
324
  requirements:
304
325
  - - ! '>='
305
326
  - !ruby/object:Gem::Version
306
327
  version: '0'
328
+ segments:
329
+ - 0
330
+ hash: 2113185395505301122
307
331
  requirements: []
308
332
  rubyforge_project:
309
333
  rubygems_version: 1.8.23
@@ -313,19 +337,24 @@ summary: webmachine is a toolkit for building HTTP applications,
313
337
  test_files:
314
338
  - spec/spec_helper.rb
315
339
  - spec/webmachine/adapter_spec.rb
340
+ - spec/webmachine/adapters/hatetepe_spec.rb
316
341
  - spec/webmachine/adapters/mongrel_spec.rb
317
342
  - spec/webmachine/adapters/rack_spec.rb
343
+ - spec/webmachine/adapters/reel_spec.rb
318
344
  - spec/webmachine/adapters/webrick_spec.rb
319
345
  - spec/webmachine/application_spec.rb
320
346
  - spec/webmachine/chunked_body_spec.rb
321
347
  - spec/webmachine/configuration_spec.rb
322
348
  - spec/webmachine/cookie_spec.rb
323
349
  - spec/webmachine/decision/conneg_spec.rb
350
+ - spec/webmachine/decision/falsey_spec.rb
324
351
  - spec/webmachine/decision/flow_spec.rb
352
+ - spec/webmachine/decision/fsm_spec.rb
325
353
  - spec/webmachine/decision/helpers_spec.rb
326
354
  - spec/webmachine/dispatcher/route_spec.rb
327
355
  - spec/webmachine/dispatcher_spec.rb
328
356
  - spec/webmachine/errors_spec.rb
357
+ - spec/webmachine/etags_spec.rb
329
358
  - spec/webmachine/headers_spec.rb
330
359
  - spec/webmachine/media_type_spec.rb
331
360
  - spec/webmachine/request_spec.rb