zero 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/.gitignore +2 -0
  2. data/.rspec +3 -0
  3. data/.travis.yml +8 -0
  4. data/Gemfile +14 -0
  5. data/Gemfile.lock +59 -0
  6. data/Guardfile +15 -0
  7. data/README.md +60 -0
  8. data/Thorfile +6 -0
  9. data/lib/zero.rb +7 -0
  10. data/lib/zero/controller.rb +46 -0
  11. data/lib/zero/rack_request.rb +44 -0
  12. data/lib/zero/renderer.rb +139 -0
  13. data/lib/zero/request.rb +100 -0
  14. data/lib/zero/request/accept.rb +28 -0
  15. data/lib/zero/request/accept_type.rb +58 -0
  16. data/lib/zero/request/client.rb +31 -0
  17. data/lib/zero/request/parameter.rb +101 -0
  18. data/lib/zero/request/server.rb +41 -0
  19. data/lib/zero/response.rb +80 -0
  20. data/lib/zero/router.rb +63 -0
  21. data/lib/zero/version.rb +3 -0
  22. data/spec/fixtures/templates/index.html.erb +1 -0
  23. data/spec/fixtures/templates/index.json.erb +1 -0
  24. data/spec/spec_helper.rb +65 -0
  25. data/spec/unit/controller/call_spec.rb +22 -0
  26. data/spec/unit/controller/renderer_spec.rb +11 -0
  27. data/spec/unit/renderer/read_template_path_spec.rb +53 -0
  28. data/spec/unit/renderer/render_spec.rb +50 -0
  29. data/spec/unit/renderer/template_path.rb +8 -0
  30. data/spec/unit/renderer/type_map_spec.rb +9 -0
  31. data/spec/unit/request/accept/encoding_spec.rb +9 -0
  32. data/spec/unit/request/accept/language_spec.rb +9 -0
  33. data/spec/unit/request/accept/types_spec.rb +9 -0
  34. data/spec/unit/request/accept_spec.rb +7 -0
  35. data/spec/unit/request/accepttype/each_spec.rb +10 -0
  36. data/spec/unit/request/accepttype/preferred_spec.rb +35 -0
  37. data/spec/unit/request/client/address_spec.rb +9 -0
  38. data/spec/unit/request/client/hostname_spec.rb +9 -0
  39. data/spec/unit/request/client/user_agent_spec.rb +9 -0
  40. data/spec/unit/request/client_spec.rb +8 -0
  41. data/spec/unit/request/content_type_spec.rb +16 -0
  42. data/spec/unit/request/create_spec.rb +21 -0
  43. data/spec/unit/request/delete_spec.rb +15 -0
  44. data/spec/unit/request/get_spec.rb +15 -0
  45. data/spec/unit/request/head_spec.rb +15 -0
  46. data/spec/unit/request/method_spec.rb +8 -0
  47. data/spec/unit/request/parameter/[]_spec.rb +56 -0
  48. data/spec/unit/request/parameter/custom_spec.rb +18 -0
  49. data/spec/unit/request/parameter/initialize_spec.rb +12 -0
  50. data/spec/unit/request/parameter/payload_spec.rb +33 -0
  51. data/spec/unit/request/parameter/query_spec.rb +25 -0
  52. data/spec/unit/request/params_spec.rb +8 -0
  53. data/spec/unit/request/patch_spec.rb +15 -0
  54. data/spec/unit/request/path_spec.rb +9 -0
  55. data/spec/unit/request/post_spec.rb +15 -0
  56. data/spec/unit/request/put_spec.rb +15 -0
  57. data/spec/unit/request/server/hostname_spec.rb +9 -0
  58. data/spec/unit/request/server/port_spec.rb +7 -0
  59. data/spec/unit/request/server/protocol_spec.rb +9 -0
  60. data/spec/unit/request/server/software_spec.rb +9 -0
  61. data/spec/unit/request/server_spec.rb +8 -0
  62. data/spec/unit/response/response_spec.rb +146 -0
  63. data/spec/unit/router/call_spec.rb +55 -0
  64. data/zero.gemspec +27 -0
  65. metadata +345 -0
metadata ADDED
@@ -0,0 +1,345 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zero
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Gibheer
9
+ - Stormwind
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-12-01 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ type: :runtime
17
+ version_requirements: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ none: false
23
+ name: tilt
24
+ requirement: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
29
+ none: false
30
+ prerelease: false
31
+ - !ruby/object:Gem::Dependency
32
+ type: :development
33
+ version_requirements: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ none: false
39
+ name: thor
40
+ requirement: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ none: false
46
+ prerelease: false
47
+ - !ruby/object:Gem::Dependency
48
+ type: :development
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ none: false
55
+ name: rack
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ none: false
62
+ prerelease: false
63
+ - !ruby/object:Gem::Dependency
64
+ type: :development
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ none: false
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ none: false
78
+ prerelease: false
79
+ - !ruby/object:Gem::Dependency
80
+ type: :development
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ none: false
87
+ name: simplecov
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ none: false
94
+ prerelease: false
95
+ description: The focus of this project is to provide small helpers for building web
96
+ services without the need of learning a complete new web stack from the bottom to
97
+ the top.
98
+ email: gibheer@gmail.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files:
102
+ - README.md
103
+ files:
104
+ - !binary |-
105
+ LmdpdGlnbm9yZQ==
106
+ - !binary |-
107
+ LnJzcGVj
108
+ - !binary |-
109
+ LnRyYXZpcy55bWw=
110
+ - !binary |-
111
+ R2VtZmlsZQ==
112
+ - !binary |-
113
+ R2VtZmlsZS5sb2Nr
114
+ - !binary |-
115
+ R3VhcmRmaWxl
116
+ - !binary |-
117
+ UkVBRE1FLm1k
118
+ - !binary |-
119
+ VGhvcmZpbGU=
120
+ - !binary |-
121
+ bGliL3plcm8ucmI=
122
+ - !binary |-
123
+ bGliL3plcm8vY29udHJvbGxlci5yYg==
124
+ - !binary |-
125
+ bGliL3plcm8vcmFja19yZXF1ZXN0LnJi
126
+ - !binary |-
127
+ bGliL3plcm8vcmVuZGVyZXIucmI=
128
+ - !binary |-
129
+ bGliL3plcm8vcmVxdWVzdC5yYg==
130
+ - !binary |-
131
+ bGliL3plcm8vcmVxdWVzdC9hY2NlcHQucmI=
132
+ - !binary |-
133
+ bGliL3plcm8vcmVxdWVzdC9hY2NlcHRfdHlwZS5yYg==
134
+ - !binary |-
135
+ bGliL3plcm8vcmVxdWVzdC9jbGllbnQucmI=
136
+ - !binary |-
137
+ bGliL3plcm8vcmVxdWVzdC9wYXJhbWV0ZXIucmI=
138
+ - !binary |-
139
+ bGliL3plcm8vcmVxdWVzdC9zZXJ2ZXIucmI=
140
+ - !binary |-
141
+ bGliL3plcm8vcmVzcG9uc2UucmI=
142
+ - !binary |-
143
+ bGliL3plcm8vcm91dGVyLnJi
144
+ - !binary |-
145
+ bGliL3plcm8vdmVyc2lvbi5yYg==
146
+ - !binary |-
147
+ c3BlYy9maXh0dXJlcy90ZW1wbGF0ZXMvaW5kZXguaHRtbC5lcmI=
148
+ - !binary |-
149
+ c3BlYy9maXh0dXJlcy90ZW1wbGF0ZXMvaW5kZXguanNvbi5lcmI=
150
+ - !binary |-
151
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
152
+ - !binary |-
153
+ c3BlYy91bml0L2NvbnRyb2xsZXIvY2FsbF9zcGVjLnJi
154
+ - !binary |-
155
+ c3BlYy91bml0L2NvbnRyb2xsZXIvcmVuZGVyZXJfc3BlYy5yYg==
156
+ - !binary |-
157
+ c3BlYy91bml0L3JlbmRlcmVyL3JlYWRfdGVtcGxhdGVfcGF0aF9zcGVjLnJi
158
+ - !binary |-
159
+ c3BlYy91bml0L3JlbmRlcmVyL3JlbmRlcl9zcGVjLnJi
160
+ - !binary |-
161
+ c3BlYy91bml0L3JlbmRlcmVyL3RlbXBsYXRlX3BhdGgucmI=
162
+ - !binary |-
163
+ c3BlYy91bml0L3JlbmRlcmVyL3R5cGVfbWFwX3NwZWMucmI=
164
+ - !binary |-
165
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L2VuY29kaW5nX3NwZWMucmI=
166
+ - !binary |-
167
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L2xhbmd1YWdlX3NwZWMucmI=
168
+ - !binary |-
169
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L3R5cGVzX3NwZWMucmI=
170
+ - !binary |-
171
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0X3NwZWMucmI=
172
+ - !binary |-
173
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0dHlwZS9lYWNoX3NwZWMucmI=
174
+ - !binary |-
175
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0dHlwZS9wcmVmZXJyZWRfc3BlYy5y
176
+ Yg==
177
+ - !binary |-
178
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L2FkZHJlc3Nfc3BlYy5yYg==
179
+ - !binary |-
180
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L2hvc3RuYW1lX3NwZWMucmI=
181
+ - !binary |-
182
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L3VzZXJfYWdlbnRfc3BlYy5yYg==
183
+ - !binary |-
184
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50X3NwZWMucmI=
185
+ - !binary |-
186
+ c3BlYy91bml0L3JlcXVlc3QvY29udGVudF90eXBlX3NwZWMucmI=
187
+ - !binary |-
188
+ c3BlYy91bml0L3JlcXVlc3QvY3JlYXRlX3NwZWMucmI=
189
+ - !binary |-
190
+ c3BlYy91bml0L3JlcXVlc3QvZGVsZXRlX3NwZWMucmI=
191
+ - !binary |-
192
+ c3BlYy91bml0L3JlcXVlc3QvZ2V0X3NwZWMucmI=
193
+ - !binary |-
194
+ c3BlYy91bml0L3JlcXVlc3QvaGVhZF9zcGVjLnJi
195
+ - !binary |-
196
+ c3BlYy91bml0L3JlcXVlc3QvbWV0aG9kX3NwZWMucmI=
197
+ - !binary |-
198
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL1tdX3NwZWMucmI=
199
+ - !binary |-
200
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL2N1c3RvbV9zcGVjLnJi
201
+ - !binary |-
202
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL2luaXRpYWxpemVfc3BlYy5y
203
+ Yg==
204
+ - !binary |-
205
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL3BheWxvYWRfc3BlYy5yYg==
206
+ - !binary |-
207
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL3F1ZXJ5X3NwZWMucmI=
208
+ - !binary |-
209
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1zX3NwZWMucmI=
210
+ - !binary |-
211
+ c3BlYy91bml0L3JlcXVlc3QvcGF0Y2hfc3BlYy5yYg==
212
+ - !binary |-
213
+ c3BlYy91bml0L3JlcXVlc3QvcGF0aF9zcGVjLnJi
214
+ - !binary |-
215
+ c3BlYy91bml0L3JlcXVlc3QvcG9zdF9zcGVjLnJi
216
+ - !binary |-
217
+ c3BlYy91bml0L3JlcXVlc3QvcHV0X3NwZWMucmI=
218
+ - !binary |-
219
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL2hvc3RuYW1lX3NwZWMucmI=
220
+ - !binary |-
221
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3BvcnRfc3BlYy5yYg==
222
+ - !binary |-
223
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3Byb3RvY29sX3NwZWMucmI=
224
+ - !binary |-
225
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3NvZnR3YXJlX3NwZWMucmI=
226
+ - !binary |-
227
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyX3NwZWMucmI=
228
+ - !binary |-
229
+ c3BlYy91bml0L3Jlc3BvbnNlL3Jlc3BvbnNlX3NwZWMucmI=
230
+ - !binary |-
231
+ c3BlYy91bml0L3JvdXRlci9jYWxsX3NwZWMucmI=
232
+ - !binary |-
233
+ emVyby5nZW1zcGVj
234
+ homepage: http://github.com/gibheer/zero
235
+ licenses: []
236
+ post_install_message:
237
+ rdoc_options: []
238
+ require_paths:
239
+ - lib
240
+ required_ruby_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ! '>='
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ none: false
246
+ required_rubygems_version: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ! '>='
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ none: false
252
+ requirements: []
253
+ rubyforge_project:
254
+ rubygems_version: 1.8.24
255
+ signing_key:
256
+ specification_version: 3
257
+ summary: a toolkit for building web services
258
+ test_files:
259
+ - !binary |-
260
+ c3BlYy9maXh0dXJlcy90ZW1wbGF0ZXMvaW5kZXguaHRtbC5lcmI=
261
+ - !binary |-
262
+ c3BlYy9maXh0dXJlcy90ZW1wbGF0ZXMvaW5kZXguanNvbi5lcmI=
263
+ - !binary |-
264
+ c3BlYy9zcGVjX2hlbHBlci5yYg==
265
+ - !binary |-
266
+ c3BlYy91bml0L2NvbnRyb2xsZXIvY2FsbF9zcGVjLnJi
267
+ - !binary |-
268
+ c3BlYy91bml0L2NvbnRyb2xsZXIvcmVuZGVyZXJfc3BlYy5yYg==
269
+ - !binary |-
270
+ c3BlYy91bml0L3JlbmRlcmVyL3JlYWRfdGVtcGxhdGVfcGF0aF9zcGVjLnJi
271
+ - !binary |-
272
+ c3BlYy91bml0L3JlbmRlcmVyL3JlbmRlcl9zcGVjLnJi
273
+ - !binary |-
274
+ c3BlYy91bml0L3JlbmRlcmVyL3RlbXBsYXRlX3BhdGgucmI=
275
+ - !binary |-
276
+ c3BlYy91bml0L3JlbmRlcmVyL3R5cGVfbWFwX3NwZWMucmI=
277
+ - !binary |-
278
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L2VuY29kaW5nX3NwZWMucmI=
279
+ - !binary |-
280
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L2xhbmd1YWdlX3NwZWMucmI=
281
+ - !binary |-
282
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0L3R5cGVzX3NwZWMucmI=
283
+ - !binary |-
284
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0X3NwZWMucmI=
285
+ - !binary |-
286
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0dHlwZS9lYWNoX3NwZWMucmI=
287
+ - !binary |-
288
+ c3BlYy91bml0L3JlcXVlc3QvYWNjZXB0dHlwZS9wcmVmZXJyZWRfc3BlYy5y
289
+ Yg==
290
+ - !binary |-
291
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L2FkZHJlc3Nfc3BlYy5yYg==
292
+ - !binary |-
293
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L2hvc3RuYW1lX3NwZWMucmI=
294
+ - !binary |-
295
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50L3VzZXJfYWdlbnRfc3BlYy5yYg==
296
+ - !binary |-
297
+ c3BlYy91bml0L3JlcXVlc3QvY2xpZW50X3NwZWMucmI=
298
+ - !binary |-
299
+ c3BlYy91bml0L3JlcXVlc3QvY29udGVudF90eXBlX3NwZWMucmI=
300
+ - !binary |-
301
+ c3BlYy91bml0L3JlcXVlc3QvY3JlYXRlX3NwZWMucmI=
302
+ - !binary |-
303
+ c3BlYy91bml0L3JlcXVlc3QvZGVsZXRlX3NwZWMucmI=
304
+ - !binary |-
305
+ c3BlYy91bml0L3JlcXVlc3QvZ2V0X3NwZWMucmI=
306
+ - !binary |-
307
+ c3BlYy91bml0L3JlcXVlc3QvaGVhZF9zcGVjLnJi
308
+ - !binary |-
309
+ c3BlYy91bml0L3JlcXVlc3QvbWV0aG9kX3NwZWMucmI=
310
+ - !binary |-
311
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL1tdX3NwZWMucmI=
312
+ - !binary |-
313
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL2N1c3RvbV9zcGVjLnJi
314
+ - !binary |-
315
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL2luaXRpYWxpemVfc3BlYy5y
316
+ Yg==
317
+ - !binary |-
318
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL3BheWxvYWRfc3BlYy5yYg==
319
+ - !binary |-
320
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1ldGVyL3F1ZXJ5X3NwZWMucmI=
321
+ - !binary |-
322
+ c3BlYy91bml0L3JlcXVlc3QvcGFyYW1zX3NwZWMucmI=
323
+ - !binary |-
324
+ c3BlYy91bml0L3JlcXVlc3QvcGF0Y2hfc3BlYy5yYg==
325
+ - !binary |-
326
+ c3BlYy91bml0L3JlcXVlc3QvcGF0aF9zcGVjLnJi
327
+ - !binary |-
328
+ c3BlYy91bml0L3JlcXVlc3QvcG9zdF9zcGVjLnJi
329
+ - !binary |-
330
+ c3BlYy91bml0L3JlcXVlc3QvcHV0X3NwZWMucmI=
331
+ - !binary |-
332
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL2hvc3RuYW1lX3NwZWMucmI=
333
+ - !binary |-
334
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3BvcnRfc3BlYy5yYg==
335
+ - !binary |-
336
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3Byb3RvY29sX3NwZWMucmI=
337
+ - !binary |-
338
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyL3NvZnR3YXJlX3NwZWMucmI=
339
+ - !binary |-
340
+ c3BlYy91bml0L3JlcXVlc3Qvc2VydmVyX3NwZWMucmI=
341
+ - !binary |-
342
+ c3BlYy91bml0L3Jlc3BvbnNlL3Jlc3BvbnNlX3NwZWMucmI=
343
+ - !binary |-
344
+ c3BlYy91bml0L3JvdXRlci9jYWxsX3NwZWMucmI=
345
+ has_rdoc: