webmachine 1.0.0 → 1.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.
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