roda 1.2.0 → 1.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG +42 -0
- data/README.rdoc +73 -144
- data/doc/conventions.rdoc +10 -8
- data/doc/release_notes/1.3.0.txt +109 -0
- data/lib/roda.rb +67 -100
- data/lib/roda/plugins/assets.rb +4 -4
- data/lib/roda/plugins/chunked.rb +4 -1
- data/lib/roda/plugins/class_level_routing.rb +7 -1
- data/lib/roda/plugins/cookies.rb +34 -0
- data/lib/roda/plugins/default_headers.rb +7 -6
- data/lib/roda/plugins/delegate.rb +8 -1
- data/lib/roda/plugins/delete_empty_headers.rb +33 -0
- data/lib/roda/plugins/delete_nil_headers.rb +34 -0
- data/lib/roda/plugins/environments.rb +12 -4
- data/lib/roda/plugins/error_email.rb +6 -1
- data/lib/roda/plugins/error_handler.rb +7 -4
- data/lib/roda/plugins/hash_matcher.rb +32 -0
- data/lib/roda/plugins/header_matchers.rb +12 -2
- data/lib/roda/plugins/json.rb +9 -6
- data/lib/roda/plugins/module_include.rb +92 -0
- data/lib/roda/plugins/multi_route.rb +7 -0
- data/lib/roda/plugins/multi_run.rb +11 -5
- data/lib/roda/plugins/named_templates.rb +7 -1
- data/lib/roda/plugins/not_found.rb +6 -0
- data/lib/roda/plugins/param_matchers.rb +43 -0
- data/lib/roda/plugins/path_matchers.rb +51 -0
- data/lib/roda/plugins/render.rb +32 -14
- data/lib/roda/plugins/static_path_info.rb +10 -3
- data/lib/roda/plugins/symbol_matchers.rb +1 -1
- data/lib/roda/version.rb +13 -1
- data/spec/freeze_spec.rb +28 -0
- data/spec/plugin/class_level_routing_spec.rb +26 -0
- data/spec/plugin/content_for_spec.rb +1 -2
- data/spec/plugin/cookies_spec.rb +25 -0
- data/spec/plugin/default_headers_spec.rb +4 -7
- data/spec/plugin/delegate_spec.rb +4 -1
- data/spec/plugin/delete_empty_headers_spec.rb +15 -0
- data/spec/plugin/error_handler_spec.rb +31 -0
- data/spec/plugin/hash_matcher_spec.rb +27 -0
- data/spec/plugin/header_matchers_spec.rb +15 -0
- data/spec/plugin/json_spec.rb +1 -2
- data/spec/plugin/mailer_spec.rb +2 -2
- data/spec/plugin/module_include_spec.rb +31 -0
- data/spec/plugin/multi_route_spec.rb +14 -0
- data/spec/plugin/multi_run_spec.rb +41 -0
- data/spec/plugin/named_templates_spec.rb +25 -0
- data/spec/plugin/not_found_spec.rb +29 -0
- data/spec/plugin/param_matchers_spec.rb +37 -0
- data/spec/plugin/path_matchers_spec.rb +42 -0
- data/spec/plugin/render_spec.rb +33 -8
- data/spec/plugin/static_path_info_spec.rb +6 -0
- data/spec/plugin/view_subdirs_spec.rb +1 -2
- data/spec/response_spec.rb +12 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/version_spec.rb +8 -2
- metadata +19 -3
@@ -35,6 +35,12 @@ describe "static_path_info plugin" do
|
|
35
35
|
app(:static_path_info){|r| r.on("a"){r.run a}}
|
36
36
|
body("/a/b").should == "/a|/b"
|
37
37
|
end
|
38
|
+
|
39
|
+
it "restores SCRIPT_NAME/PATH_INFO before returning from run" do
|
40
|
+
a = app{|r| "#{r.script_name}|#{r.path_info}"}
|
41
|
+
app(:static_path_info){|r| s = catch(:halt){r.on("a"){r.run a}}; "#{s[2].join}%#{r.script_name}|#{r.path_info}"}
|
42
|
+
body("/a/b").should == "/a|/b%|/a/b"
|
43
|
+
end
|
38
44
|
end
|
39
45
|
|
40
46
|
describe "static_path_info request.path, .remaining_path, and .matched_path" do
|
data/spec/response_spec.rb
CHANGED
@@ -36,6 +36,18 @@ describe "response #[] and #[]=" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
+
describe "response #headers and #body" do
|
40
|
+
it "should return headers and body" do
|
41
|
+
app do |r|
|
42
|
+
response.headers['foo'] = 'bar'
|
43
|
+
response.write response.body.is_a?(Array)
|
44
|
+
end
|
45
|
+
|
46
|
+
header('foo').should == "bar"
|
47
|
+
body.should == 'true'
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
39
51
|
describe "response #write" do
|
40
52
|
it "should add to body" do
|
41
53
|
app do |r|
|
data/spec/spec_helper.rb
CHANGED
data/spec/version_spec.rb
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
require File.expand_path("spec_helper", File.dirname(__FILE__))
|
2
2
|
|
3
|
-
describe "Roda
|
4
|
-
it "should be a string in x.y.z integer format" do
|
3
|
+
describe "Roda version constants" do
|
4
|
+
it "RodaVersion should be a string in x.y.z integer format" do
|
5
5
|
Roda::RodaVersion.should =~ /\A\d+\.\d+\.\d+\z/
|
6
6
|
end
|
7
|
+
|
8
|
+
it "Roda*Version should be integers" do
|
9
|
+
Roda::RodaMajorVersion.should be_a_kind_of(Integer)
|
10
|
+
Roda::RodaMinorVersion.should be_a_kind_of(Integer)
|
11
|
+
Roda::RodaPatchVersion.should be_a_kind_of(Integer)
|
12
|
+
end
|
7
13
|
end
|
8
14
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -135,6 +135,7 @@ extra_rdoc_files:
|
|
135
135
|
- doc/release_notes/1.0.0.txt
|
136
136
|
- doc/release_notes/1.1.0.txt
|
137
137
|
- doc/release_notes/1.2.0.txt
|
138
|
+
- doc/release_notes/1.3.0.txt
|
138
139
|
files:
|
139
140
|
- CHANGELOG
|
140
141
|
- MIT-LICENSE
|
@@ -144,6 +145,7 @@ files:
|
|
144
145
|
- doc/release_notes/1.0.0.txt
|
145
146
|
- doc/release_notes/1.1.0.txt
|
146
147
|
- doc/release_notes/1.2.0.txt
|
148
|
+
- doc/release_notes/1.3.0.txt
|
147
149
|
- lib/roda.rb
|
148
150
|
- lib/roda/plugins/_erubis_escaping.rb
|
149
151
|
- lib/roda/plugins/all_verbs.rb
|
@@ -153,10 +155,13 @@ files:
|
|
153
155
|
- lib/roda/plugins/chunked.rb
|
154
156
|
- lib/roda/plugins/class_level_routing.rb
|
155
157
|
- lib/roda/plugins/content_for.rb
|
158
|
+
- lib/roda/plugins/cookies.rb
|
156
159
|
- lib/roda/plugins/csrf.rb
|
157
160
|
- lib/roda/plugins/default_headers.rb
|
158
161
|
- lib/roda/plugins/delay_build.rb
|
159
162
|
- lib/roda/plugins/delegate.rb
|
163
|
+
- lib/roda/plugins/delete_empty_headers.rb
|
164
|
+
- lib/roda/plugins/delete_nil_headers.rb
|
160
165
|
- lib/roda/plugins/drop_body.rb
|
161
166
|
- lib/roda/plugins/empty_root.rb
|
162
167
|
- lib/roda/plugins/environments.rb
|
@@ -165,6 +170,7 @@ files:
|
|
165
170
|
- lib/roda/plugins/flash.rb
|
166
171
|
- lib/roda/plugins/h.rb
|
167
172
|
- lib/roda/plugins/halt.rb
|
173
|
+
- lib/roda/plugins/hash_matcher.rb
|
168
174
|
- lib/roda/plugins/head.rb
|
169
175
|
- lib/roda/plugins/header_matchers.rb
|
170
176
|
- lib/roda/plugins/hooks.rb
|
@@ -173,13 +179,16 @@ files:
|
|
173
179
|
- lib/roda/plugins/mailer.rb
|
174
180
|
- lib/roda/plugins/match_affix.rb
|
175
181
|
- lib/roda/plugins/middleware.rb
|
182
|
+
- lib/roda/plugins/module_include.rb
|
176
183
|
- lib/roda/plugins/multi_route.rb
|
177
184
|
- lib/roda/plugins/multi_run.rb
|
178
185
|
- lib/roda/plugins/named_templates.rb
|
179
186
|
- lib/roda/plugins/not_allowed.rb
|
180
187
|
- lib/roda/plugins/not_found.rb
|
188
|
+
- lib/roda/plugins/param_matchers.rb
|
181
189
|
- lib/roda/plugins/pass.rb
|
182
190
|
- lib/roda/plugins/path.rb
|
191
|
+
- lib/roda/plugins/path_matchers.rb
|
183
192
|
- lib/roda/plugins/per_thread_caching.rb
|
184
193
|
- lib/roda/plugins/render.rb
|
185
194
|
- lib/roda/plugins/render_each.rb
|
@@ -197,6 +206,7 @@ files:
|
|
197
206
|
- spec/assets/js/head/app.js
|
198
207
|
- spec/composition_spec.rb
|
199
208
|
- spec/env_spec.rb
|
209
|
+
- spec/freeze_spec.rb
|
200
210
|
- spec/integration_spec.rb
|
201
211
|
- spec/matchers_spec.rb
|
202
212
|
- spec/module_spec.rb
|
@@ -209,10 +219,12 @@ files:
|
|
209
219
|
- spec/plugin/chunked_spec.rb
|
210
220
|
- spec/plugin/class_level_routing_spec.rb
|
211
221
|
- spec/plugin/content_for_spec.rb
|
222
|
+
- spec/plugin/cookies_spec.rb
|
212
223
|
- spec/plugin/csrf_spec.rb
|
213
224
|
- spec/plugin/default_headers_spec.rb
|
214
225
|
- spec/plugin/delay_build_spec.rb
|
215
226
|
- spec/plugin/delegate_spec.rb
|
227
|
+
- spec/plugin/delete_empty_headers_spec.rb
|
216
228
|
- spec/plugin/drop_body_spec.rb
|
217
229
|
- spec/plugin/empty_root_spec.rb
|
218
230
|
- spec/plugin/environments_spec.rb
|
@@ -221,6 +233,7 @@ files:
|
|
221
233
|
- spec/plugin/flash_spec.rb
|
222
234
|
- spec/plugin/h_spec.rb
|
223
235
|
- spec/plugin/halt_spec.rb
|
236
|
+
- spec/plugin/hash_matcher_spec.rb
|
224
237
|
- spec/plugin/head_spec.rb
|
225
238
|
- spec/plugin/header_matchers_spec.rb
|
226
239
|
- spec/plugin/hooks_spec.rb
|
@@ -229,12 +242,15 @@ files:
|
|
229
242
|
- spec/plugin/mailer_spec.rb
|
230
243
|
- spec/plugin/match_affix_spec.rb
|
231
244
|
- spec/plugin/middleware_spec.rb
|
245
|
+
- spec/plugin/module_include_spec.rb
|
232
246
|
- spec/plugin/multi_route_spec.rb
|
233
247
|
- spec/plugin/multi_run_spec.rb
|
234
248
|
- spec/plugin/named_templates_spec.rb
|
235
249
|
- spec/plugin/not_allowed_spec.rb
|
236
250
|
- spec/plugin/not_found_spec.rb
|
251
|
+
- spec/plugin/param_matchers_spec.rb
|
237
252
|
- spec/plugin/pass_spec.rb
|
253
|
+
- spec/plugin/path_matchers_spec.rb
|
238
254
|
- spec/plugin/path_spec.rb
|
239
255
|
- spec/plugin/per_thread_caching_spec.rb
|
240
256
|
- spec/plugin/render_each_spec.rb
|
@@ -282,7 +298,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
298
|
version: '0'
|
283
299
|
requirements: []
|
284
300
|
rubyforge_project:
|
285
|
-
rubygems_version: 2.4.
|
301
|
+
rubygems_version: 2.4.5
|
286
302
|
signing_key:
|
287
303
|
specification_version: 4
|
288
304
|
summary: Routing tree web framework toolkit
|