roda 3.28.0 → 3.29.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 (188) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +10 -0
  3. data/README.rdoc +10 -0
  4. data/doc/release_notes/3.29.0.txt +15 -0
  5. data/lib/roda.rb +1 -0
  6. data/lib/roda/plugins/caching.rb +2 -0
  7. data/lib/roda/plugins/common_logger.rb +1 -1
  8. data/lib/roda/plugins/exception_page.rb +7 -1
  9. data/lib/roda/plugins/indifferent_params.rb +2 -0
  10. data/lib/roda/version.rb +1 -1
  11. metadata +4 -214
  12. data/Rakefile +0 -108
  13. data/doc/release_notes/1.0.0.txt +0 -329
  14. data/doc/release_notes/1.1.0.txt +0 -226
  15. data/doc/release_notes/1.2.0.txt +0 -406
  16. data/doc/release_notes/1.3.0.txt +0 -109
  17. data/doc/release_notes/2.0.0.txt +0 -75
  18. data/doc/release_notes/2.1.0.txt +0 -124
  19. data/doc/release_notes/2.10.0.txt +0 -27
  20. data/doc/release_notes/2.11.0.txt +0 -70
  21. data/doc/release_notes/2.12.0.txt +0 -40
  22. data/doc/release_notes/2.13.0.txt +0 -10
  23. data/doc/release_notes/2.14.0.txt +0 -44
  24. data/doc/release_notes/2.15.0.txt +0 -53
  25. data/doc/release_notes/2.16.0.txt +0 -48
  26. data/doc/release_notes/2.17.0.txt +0 -62
  27. data/doc/release_notes/2.18.0.txt +0 -69
  28. data/doc/release_notes/2.19.0.txt +0 -30
  29. data/doc/release_notes/2.2.0.txt +0 -97
  30. data/doc/release_notes/2.20.0.txt +0 -5
  31. data/doc/release_notes/2.21.0.txt +0 -17
  32. data/doc/release_notes/2.22.0.txt +0 -41
  33. data/doc/release_notes/2.23.0.txt +0 -29
  34. data/doc/release_notes/2.24.0.txt +0 -65
  35. data/doc/release_notes/2.25.0.txt +0 -14
  36. data/doc/release_notes/2.26.0.txt +0 -13
  37. data/doc/release_notes/2.27.0.txt +0 -56
  38. data/doc/release_notes/2.28.0.txt +0 -17
  39. data/doc/release_notes/2.29.0.txt +0 -156
  40. data/doc/release_notes/2.3.0.txt +0 -109
  41. data/doc/release_notes/2.4.0.txt +0 -55
  42. data/doc/release_notes/2.5.0.txt +0 -23
  43. data/doc/release_notes/2.5.1.txt +0 -4
  44. data/doc/release_notes/2.6.0.txt +0 -21
  45. data/doc/release_notes/2.7.0.txt +0 -75
  46. data/doc/release_notes/2.8.0.txt +0 -44
  47. data/doc/release_notes/2.9.0.txt +0 -6
  48. data/spec/all.rb +0 -1
  49. data/spec/assets/css/app.scss +0 -1
  50. data/spec/assets/css/no_access.css +0 -1
  51. data/spec/assets/css/raw.css +0 -1
  52. data/spec/assets/js/head/app.js +0 -1
  53. data/spec/composition_spec.rb +0 -31
  54. data/spec/define_roda_method_spec.rb +0 -274
  55. data/spec/env_spec.rb +0 -11
  56. data/spec/freeze_spec.rb +0 -37
  57. data/spec/integration_spec.rb +0 -209
  58. data/spec/matchers_spec.rb +0 -832
  59. data/spec/opts_spec.rb +0 -42
  60. data/spec/plugin/_after_hook_spec.rb +0 -19
  61. data/spec/plugin/all_verbs_spec.rb +0 -29
  62. data/spec/plugin/assets_preloading_spec.rb +0 -98
  63. data/spec/plugin/assets_spec.rb +0 -745
  64. data/spec/plugin/backtracking_array_spec.rb +0 -42
  65. data/spec/plugin/branch_locals_spec.rb +0 -106
  66. data/spec/plugin/caching_spec.rb +0 -337
  67. data/spec/plugin/chunked_spec.rb +0 -201
  68. data/spec/plugin/class_level_routing_spec.rb +0 -164
  69. data/spec/plugin/class_matchers_spec.rb +0 -40
  70. data/spec/plugin/common_logger_spec.rb +0 -85
  71. data/spec/plugin/content_for_spec.rb +0 -162
  72. data/spec/plugin/content_security_policy_spec.rb +0 -175
  73. data/spec/plugin/cookies_spec.rb +0 -51
  74. data/spec/plugin/csrf_spec.rb +0 -111
  75. data/spec/plugin/default_headers_spec.rb +0 -82
  76. data/spec/plugin/default_status_spec.rb +0 -95
  77. data/spec/plugin/delay_build_spec.rb +0 -23
  78. data/spec/plugin/delegate_spec.rb +0 -23
  79. data/spec/plugin/delete_empty_headers_spec.rb +0 -27
  80. data/spec/plugin/direct_call_spec.rb +0 -28
  81. data/spec/plugin/disallow_file_uploads_spec.rb +0 -25
  82. data/spec/plugin/drop_body_spec.rb +0 -24
  83. data/spec/plugin/early_hints_spec.rb +0 -19
  84. data/spec/plugin/empty_root_spec.rb +0 -14
  85. data/spec/plugin/environments_spec.rb +0 -42
  86. data/spec/plugin/error_email_spec.rb +0 -97
  87. data/spec/plugin/error_handler_spec.rb +0 -216
  88. data/spec/plugin/error_mail_spec.rb +0 -93
  89. data/spec/plugin/exception_page_spec.rb +0 -168
  90. data/spec/plugin/flash_spec.rb +0 -121
  91. data/spec/plugin/h_spec.rb +0 -11
  92. data/spec/plugin/halt_spec.rb +0 -119
  93. data/spec/plugin/hash_matcher_spec.rb +0 -27
  94. data/spec/plugin/hash_routes_spec.rb +0 -535
  95. data/spec/plugin/head_spec.rb +0 -52
  96. data/spec/plugin/header_matchers_spec.rb +0 -98
  97. data/spec/plugin/heartbeat_spec.rb +0 -74
  98. data/spec/plugin/hooks_spec.rb +0 -152
  99. data/spec/plugin/indifferent_params_spec.rb +0 -14
  100. data/spec/plugin/json_parser_spec.rb +0 -141
  101. data/spec/plugin/json_spec.rb +0 -83
  102. data/spec/plugin/mail_processor_spec.rb +0 -451
  103. data/spec/plugin/mailer_spec.rb +0 -282
  104. data/spec/plugin/match_affix_spec.rb +0 -43
  105. data/spec/plugin/match_hook_spec.rb +0 -79
  106. data/spec/plugin/middleware_spec.rb +0 -237
  107. data/spec/plugin/middleware_stack_spec.rb +0 -81
  108. data/spec/plugin/module_include_spec.rb +0 -48
  109. data/spec/plugin/multi_route_spec.rb +0 -268
  110. data/spec/plugin/multi_run_spec.rb +0 -87
  111. data/spec/plugin/multi_view_spec.rb +0 -50
  112. data/spec/plugin/multibyte_string_matcher_spec.rb +0 -44
  113. data/spec/plugin/named_templates_spec.rb +0 -96
  114. data/spec/plugin/not_allowed_spec.rb +0 -69
  115. data/spec/plugin/not_found_spec.rb +0 -128
  116. data/spec/plugin/optimized_string_matchers_spec.rb +0 -43
  117. data/spec/plugin/padrino_render_spec.rb +0 -34
  118. data/spec/plugin/param_matchers_spec.rb +0 -69
  119. data/spec/plugin/params_capturing_spec.rb +0 -33
  120. data/spec/plugin/partials_spec.rb +0 -43
  121. data/spec/plugin/pass_spec.rb +0 -29
  122. data/spec/plugin/path_matchers_spec.rb +0 -42
  123. data/spec/plugin/path_rewriter_spec.rb +0 -45
  124. data/spec/plugin/path_spec.rb +0 -222
  125. data/spec/plugin/placeholder_string_matchers_spec.rb +0 -126
  126. data/spec/plugin/precompile_templates_spec.rb +0 -61
  127. data/spec/plugin/public_spec.rb +0 -85
  128. data/spec/plugin/render_each_spec.rb +0 -82
  129. data/spec/plugin/render_locals_spec.rb +0 -114
  130. data/spec/plugin/render_spec.rb +0 -912
  131. data/spec/plugin/request_aref_spec.rb +0 -51
  132. data/spec/plugin/request_headers_spec.rb +0 -39
  133. data/spec/plugin/response_request_spec.rb +0 -43
  134. data/spec/plugin/route_block_args_spec.rb +0 -86
  135. data/spec/plugin/route_csrf_spec.rb +0 -305
  136. data/spec/plugin/run_append_slash_spec.rb +0 -77
  137. data/spec/plugin/run_handler_spec.rb +0 -53
  138. data/spec/plugin/sessions_spec.rb +0 -452
  139. data/spec/plugin/shared_vars_spec.rb +0 -45
  140. data/spec/plugin/sinatra_helpers_spec.rb +0 -537
  141. data/spec/plugin/slash_path_empty_spec.rb +0 -22
  142. data/spec/plugin/static_routing_spec.rb +0 -192
  143. data/spec/plugin/static_spec.rb +0 -30
  144. data/spec/plugin/status_303_spec.rb +0 -28
  145. data/spec/plugin/status_handler_spec.rb +0 -158
  146. data/spec/plugin/streaming_spec.rb +0 -246
  147. data/spec/plugin/strip_path_prefix_spec.rb +0 -24
  148. data/spec/plugin/symbol_matchers_spec.rb +0 -51
  149. data/spec/plugin/symbol_status_spec.rb +0 -25
  150. data/spec/plugin/symbol_views_spec.rb +0 -32
  151. data/spec/plugin/timestamp_public_spec.rb +0 -85
  152. data/spec/plugin/type_routing_spec.rb +0 -348
  153. data/spec/plugin/typecast_params_spec.rb +0 -1370
  154. data/spec/plugin/unescape_path_spec.rb +0 -22
  155. data/spec/plugin/view_options_spec.rb +0 -170
  156. data/spec/plugin_spec.rb +0 -71
  157. data/spec/redirect_spec.rb +0 -41
  158. data/spec/request_spec.rb +0 -97
  159. data/spec/response_spec.rb +0 -199
  160. data/spec/route_spec.rb +0 -39
  161. data/spec/session_middleware_spec.rb +0 -129
  162. data/spec/session_spec.rb +0 -37
  163. data/spec/spec_helper.rb +0 -137
  164. data/spec/version_spec.rb +0 -14
  165. data/spec/views/_test.erb +0 -1
  166. data/spec/views/a.erb +0 -1
  167. data/spec/views/a.rdoc +0 -2
  168. data/spec/views/about.erb +0 -1
  169. data/spec/views/about.str +0 -1
  170. data/spec/views/about/_test.css.gz +0 -0
  171. data/spec/views/about/_test.erb +0 -1
  172. data/spec/views/about/_test.erb.gz +0 -0
  173. data/spec/views/about/comp_test.erb +0 -1
  174. data/spec/views/b.erb +0 -1
  175. data/spec/views/c.erb +0 -1
  176. data/spec/views/comp_layout.erb +0 -1
  177. data/spec/views/comp_test.erb +0 -1
  178. data/spec/views/content-yield.erb +0 -1
  179. data/spec/views/each.str +0 -1
  180. data/spec/views/home.erb +0 -2
  181. data/spec/views/home.str +0 -2
  182. data/spec/views/iv.erb +0 -1
  183. data/spec/views/layout-alternative.erb +0 -2
  184. data/spec/views/layout-yield.erb +0 -3
  185. data/spec/views/layout.erb +0 -2
  186. data/spec/views/layout.str +0 -2
  187. data/spec/views/multiple-layout.erb +0 -1
  188. data/spec/views/multiple.erb +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2de9e0d72db9d2f1d1143c71738067798dbcc3f2786611f8f0a5f85c32f26167
4
- data.tar.gz: 92645c4e9792b1217cfae3d8b430741f64212a30003cf81b393c37636dc531c0
3
+ metadata.gz: 47d34c142084b4dc11049861f97621177bd1071744caff3b18ad113a79308139
4
+ data.tar.gz: 7021cfd179b0bd159f93ff31d86b9128686686d2f63c2068863b3ffc5150b44a
5
5
  SHA512:
6
- metadata.gz: 35a615a610ca645130cbd15482f6864a50a3a8727e6e4cf7bad8d63a00e40118f7a0443f88931ec24a5f416ae822a9bd8ebc101f930efff178831660d5125849
7
- data.tar.gz: a6b9f48cfe249297ce8abfd3a856c65634364ea0490910b956f25fe4cd54c4b77096bd980a59276e6ed0fb4db537e99fa8b4e1e0e35441afaaf942ca7e92bb02
6
+ metadata.gz: 48fa41c207a4e37aaa3deb8eb773480bd015875e8f2c9ef7d4489ef6b2538ad98001afa9ab1adf7555ebc100929a5cd0b7eb1b333cc331255818583c1d1dfb25
7
+ data.tar.gz: 4f7103b4730ed2f51309704c8f991c5c3f7fc3c865e07ba917219b54ef9019e0bafddbdeca280bd8343c8fd1e496ca5e3444e674eb59c93e98f5bdf7eab09647
data/CHANGELOG CHANGED
@@ -1,3 +1,13 @@
1
+ = 3.29.0 (2020-02-14)
2
+
3
+ * Remove specs and old release notes from the gem to reduce gem size by over 35% (jeremyevans)
4
+
5
+ * Raise RodaError if trying to load a plugin that is not a module (jeremyevans)
6
+
7
+ * Include SCRIPT_NAME when logging in common logger plugin (jeremyevans)
8
+
9
+ * Handle invalid POST data when using the exception_page plugin (jeremyevans)
10
+
1
11
  = 3.28.0 (2020-01-15)
2
12
 
3
13
  * Add session_created_at and session_updated_at methods to the sessions plugin (jeremyevans)
@@ -137,6 +137,16 @@ in your application. It is recommended to freeze the app in production and
137
137
  during testing. The +.app+ is an optimization, which saves a few method calls
138
138
  for every request.
139
139
 
140
+ == Running the Application
141
+
142
+ Running a Roda application is similar to running any other rack-based application
143
+ that uses a +config.ru+ file. You can start a basic server using +rackup+:
144
+
145
+ $ rackup
146
+
147
+ Ruby web servers such as Unicorn and Puma also ship with their own programs
148
+ that you can use to run a Roda application.
149
+
140
150
  == The Routing Tree
141
151
 
142
152
  Roda is called a routing tree web toolkit because the way most sites are structured,
@@ -0,0 +1,15 @@
1
+ = Improvements
2
+
3
+ * The common_logger plugin now includes the SCRIPT_NAME when
4
+ logging, for greater compatibility with typical web server
5
+ logs.
6
+
7
+ * The exception_page plugin now handles invalid POST data.
8
+ Previously, invalid POST data would cause the exception page
9
+ display to raise an exception.
10
+
11
+ * An error is now raised if trying to load a plugin that is not a
12
+ module or a recognized plugin symbol.
13
+
14
+ * Specs and older release notes are no longer shipped in the
15
+ gem, reducing gem size by over 35%.
@@ -269,6 +269,7 @@ class Roda
269
269
  def plugin(plugin, *args, &block)
270
270
  raise RodaError, "Cannot add a plugin to a frozen Roda class" if frozen?
271
271
  plugin = RodaPlugins.load_plugin(plugin) if plugin.is_a?(Symbol)
272
+ raise RodaError, "Invalid plugin type: #{plugin.class.inspect}" unless plugin.is_a?(Module)
272
273
  plugin.load_dependencies(self, *args, &block) if plugin.respond_to?(:load_dependencies)
273
274
  include(plugin::InstanceMethods) if defined?(plugin::InstanceMethods)
274
275
  extend(plugin::ClassMethods) if defined?(plugin::ClassMethods)
@@ -1,5 +1,7 @@
1
1
  # frozen-string-literal: true
2
2
 
3
+ require 'time'
4
+
3
5
  #
4
6
  class Roda
5
7
  module RodaPlugins
@@ -52,7 +52,7 @@ class Roda
52
52
 
53
53
  env = @_request.env
54
54
 
55
- opts[:common_logger_meth].call("#{env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-"} - #{env["REMOTE_USER"] || "-"} [#{Time.now.strftime("%d/%b/%Y:%H:%M:%S %z")}] \"#{env["REQUEST_METHOD"]} #{env["PATH_INFO"]}#{"?#{env["QUERY_STRING"]}" if ((qs = env["QUERY_STRING"]) && !qs.empty?)} #{env["HTTP_VERSION"]}\" #{result[0]} #{((length = result[1]['Content-Length']) && (length unless length == '0')) || '-'} #{elapsed_time}\n")
55
+ opts[:common_logger_meth].call("#{env['HTTP_X_FORWARDED_FOR'] || env["REMOTE_ADDR"] || "-"} - #{env["REMOTE_USER"] || "-"} [#{Time.now.strftime("%d/%b/%Y:%H:%M:%S %z")}] \"#{env["REQUEST_METHOD"]} #{env["SCRIPT_NAME"]}#{env["PATH_INFO"]}#{"?#{env["QUERY_STRING"]}" if ((qs = env["QUERY_STRING"]) && !qs.empty?)} #{env["HTTP_VERSION"]}\" #{result[0]} #{((length = result[1]['Content-Length']) && (length unless length == '0')) || '-'} #{elapsed_time}\n")
56
56
  end
57
57
 
58
58
  # Create timer instance used for timing
@@ -267,6 +267,12 @@ END
267
267
  end.compact
268
268
 
269
269
  r = @_request
270
+ begin
271
+ post_data = r.POST
272
+ missing_post = "No POST data"
273
+ rescue
274
+ missing_post = "Invalid POST data"
275
+ end
270
276
  info = lambda do |title, id, var, none|
271
277
  <<END
272
278
  <h3 id="#{id}">#{title}</h3>
@@ -363,7 +369,7 @@ END1
363
369
  <h2>Request information</h2>
364
370
 
365
371
  #{info.call('GET', 'get-info', r.GET, 'No GET data')}
366
- #{info.call('POST', 'post-info', r.POST, 'No POST data')}
372
+ #{info.call('POST', 'post-info', post_data, missing_post)}
367
373
  #{info.call('Cookies', 'cookie-info', r.cookies, 'No cookie data')}
368
374
  #{info.call('Rack ENV', 'env-info', r.env, 'No Rack env?')}
369
375
  </div>
@@ -42,6 +42,8 @@ class Roda
42
42
  INDIFFERENT_PROC = lambda{|h,k| h[k.to_s] if k.is_a?(Symbol)}
43
43
 
44
44
  if Rack.release > '2'
45
+ require 'rack/query_parser'
46
+
45
47
  class QueryParser < Rack::QueryParser
46
48
  # Work around for invalid optimization in rack
47
49
  def parse_nested_query(qs, d=nil)
@@ -4,7 +4,7 @@ class Roda
4
4
  RodaMajorVersion = 3
5
5
 
6
6
  # The minor version of Roda, updated for new feature releases of Roda.
7
- RodaMinorVersion = 28
7
+ RodaMinorVersion = 29
8
8
 
9
9
  # The patch version of Roda, updated only for bug fixes from the last
10
10
  # feature release.
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: 3.28.0
4
+ version: 3.29.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: 2020-01-15 00:00:00.000000000 Z
11
+ date: 2020-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -175,41 +175,6 @@ extra_rdoc_files:
175
175
  - CHANGELOG
176
176
  - doc/conventions.rdoc
177
177
  - doc/release_notes/3.7.0.txt
178
- - doc/release_notes/1.0.0.txt
179
- - doc/release_notes/1.1.0.txt
180
- - doc/release_notes/1.2.0.txt
181
- - doc/release_notes/1.3.0.txt
182
- - doc/release_notes/2.0.0.txt
183
- - doc/release_notes/2.1.0.txt
184
- - doc/release_notes/2.10.0.txt
185
- - doc/release_notes/2.11.0.txt
186
- - doc/release_notes/2.12.0.txt
187
- - doc/release_notes/2.13.0.txt
188
- - doc/release_notes/2.14.0.txt
189
- - doc/release_notes/2.15.0.txt
190
- - doc/release_notes/2.16.0.txt
191
- - doc/release_notes/2.17.0.txt
192
- - doc/release_notes/2.18.0.txt
193
- - doc/release_notes/2.19.0.txt
194
- - doc/release_notes/2.2.0.txt
195
- - doc/release_notes/2.20.0.txt
196
- - doc/release_notes/2.21.0.txt
197
- - doc/release_notes/2.22.0.txt
198
- - doc/release_notes/2.23.0.txt
199
- - doc/release_notes/2.24.0.txt
200
- - doc/release_notes/2.25.0.txt
201
- - doc/release_notes/2.26.0.txt
202
- - doc/release_notes/2.27.0.txt
203
- - doc/release_notes/2.28.0.txt
204
- - doc/release_notes/2.29.0.txt
205
- - doc/release_notes/2.3.0.txt
206
- - doc/release_notes/2.4.0.txt
207
- - doc/release_notes/2.5.0.txt
208
- - doc/release_notes/2.5.1.txt
209
- - doc/release_notes/2.6.0.txt
210
- - doc/release_notes/2.7.0.txt
211
- - doc/release_notes/2.8.0.txt
212
- - doc/release_notes/2.9.0.txt
213
178
  - doc/release_notes/3.0.0.txt
214
179
  - doc/release_notes/3.1.0.txt
215
180
  - doc/release_notes/3.2.0.txt
@@ -239,47 +204,12 @@ extra_rdoc_files:
239
204
  - doc/release_notes/3.26.0.txt
240
205
  - doc/release_notes/3.27.0.txt
241
206
  - doc/release_notes/3.28.0.txt
207
+ - doc/release_notes/3.29.0.txt
242
208
  files:
243
209
  - CHANGELOG
244
210
  - MIT-LICENSE
245
211
  - README.rdoc
246
- - Rakefile
247
212
  - doc/conventions.rdoc
248
- - doc/release_notes/1.0.0.txt
249
- - doc/release_notes/1.1.0.txt
250
- - doc/release_notes/1.2.0.txt
251
- - doc/release_notes/1.3.0.txt
252
- - doc/release_notes/2.0.0.txt
253
- - doc/release_notes/2.1.0.txt
254
- - doc/release_notes/2.10.0.txt
255
- - doc/release_notes/2.11.0.txt
256
- - doc/release_notes/2.12.0.txt
257
- - doc/release_notes/2.13.0.txt
258
- - doc/release_notes/2.14.0.txt
259
- - doc/release_notes/2.15.0.txt
260
- - doc/release_notes/2.16.0.txt
261
- - doc/release_notes/2.17.0.txt
262
- - doc/release_notes/2.18.0.txt
263
- - doc/release_notes/2.19.0.txt
264
- - doc/release_notes/2.2.0.txt
265
- - doc/release_notes/2.20.0.txt
266
- - doc/release_notes/2.21.0.txt
267
- - doc/release_notes/2.22.0.txt
268
- - doc/release_notes/2.23.0.txt
269
- - doc/release_notes/2.24.0.txt
270
- - doc/release_notes/2.25.0.txt
271
- - doc/release_notes/2.26.0.txt
272
- - doc/release_notes/2.27.0.txt
273
- - doc/release_notes/2.28.0.txt
274
- - doc/release_notes/2.29.0.txt
275
- - doc/release_notes/2.3.0.txt
276
- - doc/release_notes/2.4.0.txt
277
- - doc/release_notes/2.5.0.txt
278
- - doc/release_notes/2.5.1.txt
279
- - doc/release_notes/2.6.0.txt
280
- - doc/release_notes/2.7.0.txt
281
- - doc/release_notes/2.8.0.txt
282
- - doc/release_notes/2.9.0.txt
283
213
  - doc/release_notes/3.0.0.txt
284
214
  - doc/release_notes/3.1.0.txt
285
215
  - doc/release_notes/3.10.0.txt
@@ -303,6 +233,7 @@ files:
303
233
  - doc/release_notes/3.26.0.txt
304
234
  - doc/release_notes/3.27.0.txt
305
235
  - doc/release_notes/3.28.0.txt
236
+ - doc/release_notes/3.29.0.txt
306
237
  - doc/release_notes/3.3.0.txt
307
238
  - doc/release_notes/3.4.0.txt
308
239
  - doc/release_notes/3.5.0.txt
@@ -415,147 +346,6 @@ files:
415
346
  - lib/roda/response.rb
416
347
  - lib/roda/session_middleware.rb
417
348
  - lib/roda/version.rb
418
- - spec/all.rb
419
- - spec/assets/css/app.scss
420
- - spec/assets/css/no_access.css
421
- - spec/assets/css/raw.css
422
- - spec/assets/js/head/app.js
423
- - spec/composition_spec.rb
424
- - spec/define_roda_method_spec.rb
425
- - spec/env_spec.rb
426
- - spec/freeze_spec.rb
427
- - spec/integration_spec.rb
428
- - spec/matchers_spec.rb
429
- - spec/opts_spec.rb
430
- - spec/plugin/_after_hook_spec.rb
431
- - spec/plugin/all_verbs_spec.rb
432
- - spec/plugin/assets_preloading_spec.rb
433
- - spec/plugin/assets_spec.rb
434
- - spec/plugin/backtracking_array_spec.rb
435
- - spec/plugin/branch_locals_spec.rb
436
- - spec/plugin/caching_spec.rb
437
- - spec/plugin/chunked_spec.rb
438
- - spec/plugin/class_level_routing_spec.rb
439
- - spec/plugin/class_matchers_spec.rb
440
- - spec/plugin/common_logger_spec.rb
441
- - spec/plugin/content_for_spec.rb
442
- - spec/plugin/content_security_policy_spec.rb
443
- - spec/plugin/cookies_spec.rb
444
- - spec/plugin/csrf_spec.rb
445
- - spec/plugin/default_headers_spec.rb
446
- - spec/plugin/default_status_spec.rb
447
- - spec/plugin/delay_build_spec.rb
448
- - spec/plugin/delegate_spec.rb
449
- - spec/plugin/delete_empty_headers_spec.rb
450
- - spec/plugin/direct_call_spec.rb
451
- - spec/plugin/disallow_file_uploads_spec.rb
452
- - spec/plugin/drop_body_spec.rb
453
- - spec/plugin/early_hints_spec.rb
454
- - spec/plugin/empty_root_spec.rb
455
- - spec/plugin/environments_spec.rb
456
- - spec/plugin/error_email_spec.rb
457
- - spec/plugin/error_handler_spec.rb
458
- - spec/plugin/error_mail_spec.rb
459
- - spec/plugin/exception_page_spec.rb
460
- - spec/plugin/flash_spec.rb
461
- - spec/plugin/h_spec.rb
462
- - spec/plugin/halt_spec.rb
463
- - spec/plugin/hash_matcher_spec.rb
464
- - spec/plugin/hash_routes_spec.rb
465
- - spec/plugin/head_spec.rb
466
- - spec/plugin/header_matchers_spec.rb
467
- - spec/plugin/heartbeat_spec.rb
468
- - spec/plugin/hooks_spec.rb
469
- - spec/plugin/indifferent_params_spec.rb
470
- - spec/plugin/json_parser_spec.rb
471
- - spec/plugin/json_spec.rb
472
- - spec/plugin/mail_processor_spec.rb
473
- - spec/plugin/mailer_spec.rb
474
- - spec/plugin/match_affix_spec.rb
475
- - spec/plugin/match_hook_spec.rb
476
- - spec/plugin/middleware_spec.rb
477
- - spec/plugin/middleware_stack_spec.rb
478
- - spec/plugin/module_include_spec.rb
479
- - spec/plugin/multi_route_spec.rb
480
- - spec/plugin/multi_run_spec.rb
481
- - spec/plugin/multi_view_spec.rb
482
- - spec/plugin/multibyte_string_matcher_spec.rb
483
- - spec/plugin/named_templates_spec.rb
484
- - spec/plugin/not_allowed_spec.rb
485
- - spec/plugin/not_found_spec.rb
486
- - spec/plugin/optimized_string_matchers_spec.rb
487
- - spec/plugin/padrino_render_spec.rb
488
- - spec/plugin/param_matchers_spec.rb
489
- - spec/plugin/params_capturing_spec.rb
490
- - spec/plugin/partials_spec.rb
491
- - spec/plugin/pass_spec.rb
492
- - spec/plugin/path_matchers_spec.rb
493
- - spec/plugin/path_rewriter_spec.rb
494
- - spec/plugin/path_spec.rb
495
- - spec/plugin/placeholder_string_matchers_spec.rb
496
- - spec/plugin/precompile_templates_spec.rb
497
- - spec/plugin/public_spec.rb
498
- - spec/plugin/render_each_spec.rb
499
- - spec/plugin/render_locals_spec.rb
500
- - spec/plugin/render_spec.rb
501
- - spec/plugin/request_aref_spec.rb
502
- - spec/plugin/request_headers_spec.rb
503
- - spec/plugin/response_request_spec.rb
504
- - spec/plugin/route_block_args_spec.rb
505
- - spec/plugin/route_csrf_spec.rb
506
- - spec/plugin/run_append_slash_spec.rb
507
- - spec/plugin/run_handler_spec.rb
508
- - spec/plugin/sessions_spec.rb
509
- - spec/plugin/shared_vars_spec.rb
510
- - spec/plugin/sinatra_helpers_spec.rb
511
- - spec/plugin/slash_path_empty_spec.rb
512
- - spec/plugin/static_routing_spec.rb
513
- - spec/plugin/static_spec.rb
514
- - spec/plugin/status_303_spec.rb
515
- - spec/plugin/status_handler_spec.rb
516
- - spec/plugin/streaming_spec.rb
517
- - spec/plugin/strip_path_prefix_spec.rb
518
- - spec/plugin/symbol_matchers_spec.rb
519
- - spec/plugin/symbol_status_spec.rb
520
- - spec/plugin/symbol_views_spec.rb
521
- - spec/plugin/timestamp_public_spec.rb
522
- - spec/plugin/type_routing_spec.rb
523
- - spec/plugin/typecast_params_spec.rb
524
- - spec/plugin/unescape_path_spec.rb
525
- - spec/plugin/view_options_spec.rb
526
- - spec/plugin_spec.rb
527
- - spec/redirect_spec.rb
528
- - spec/request_spec.rb
529
- - spec/response_spec.rb
530
- - spec/route_spec.rb
531
- - spec/session_middleware_spec.rb
532
- - spec/session_spec.rb
533
- - spec/spec_helper.rb
534
- - spec/version_spec.rb
535
- - spec/views/_test.erb
536
- - spec/views/a.erb
537
- - spec/views/a.rdoc
538
- - spec/views/about.erb
539
- - spec/views/about.str
540
- - spec/views/about/_test.css.gz
541
- - spec/views/about/_test.erb
542
- - spec/views/about/_test.erb.gz
543
- - spec/views/about/comp_test.erb
544
- - spec/views/b.erb
545
- - spec/views/c.erb
546
- - spec/views/comp_layout.erb
547
- - spec/views/comp_test.erb
548
- - spec/views/content-yield.erb
549
- - spec/views/each.str
550
- - spec/views/home.erb
551
- - spec/views/home.str
552
- - spec/views/iv.erb
553
- - spec/views/layout-alternative.erb
554
- - spec/views/layout-yield.erb
555
- - spec/views/layout.erb
556
- - spec/views/layout.str
557
- - spec/views/multiple-layout.erb
558
- - spec/views/multiple.erb
559
349
  homepage: http://roda.jeremyevans.net
560
350
  licenses:
561
351
  - MIT
data/Rakefile DELETED
@@ -1,108 +0,0 @@
1
- require "rake"
2
- require "rake/clean"
3
- require "rdoc/task"
4
-
5
- NAME = 'roda'
6
- VERS = lambda do
7
- require_relative 'lib/roda/version'
8
- Roda::RodaVersion
9
- end
10
- CLEAN.include ["#{NAME}-*.gem", "rdoc", "coverage", "www/public/*.html", "www/public/rdoc", "spec/assets/app.*.css", "spec/assets/app.*.js", "spec/assets/app.*.css.gz", "spec/assets/app.*.js.gz", "spec/iv.erb"]
11
-
12
- # Gem Packaging and Release
13
-
14
- desc "Packages #{NAME}"
15
- task :package=>[:clean] do |p|
16
- sh %{gem build #{NAME}.gemspec}
17
- end
18
-
19
- ### RDoc
20
-
21
- RDOC_OPTS = ["--line-numbers", "--inline-source", '--title', 'Roda: Routing tree web toolkit']
22
-
23
- begin
24
- gem 'hanna-nouveau'
25
- RDOC_OPTS.concat(['-f', 'hanna'])
26
- rescue Gem::LoadError
27
- end
28
-
29
- RDOC_OPTS.concat(['--main', 'README.rdoc'])
30
- RDOC_FILES = %w"README.rdoc CHANGELOG MIT-LICENSE lib/**/*.rb" + Dir["doc/*.rdoc"] + Dir['doc/release_notes/*.txt']
31
-
32
- RDoc::Task.new do |rdoc|
33
- rdoc.rdoc_dir = "rdoc"
34
- rdoc.options += RDOC_OPTS
35
- rdoc.rdoc_files.add RDOC_FILES
36
- end
37
-
38
- RDoc::Task.new(:website_rdoc) do |rdoc|
39
- rdoc.rdoc_dir = "www/public/rdoc"
40
- rdoc.options += RDOC_OPTS
41
- rdoc.rdoc_files.add RDOC_FILES
42
- end
43
-
44
- ### Website
45
-
46
- desc "Make local version of website"
47
- task :website_base do
48
- sh %{#{FileUtils::RUBY} -I lib www/make_www.rb}
49
- end
50
-
51
- desc "Make local version of website, with rdoc"
52
- task :website => [:website_base, :website_rdoc]
53
-
54
- desc "Serve local version of website via rackup"
55
- task :serve => :website do
56
- sh %{#{FileUtils::RUBY} -C www -S rackup}
57
- end
58
-
59
-
60
- ### Specs
61
-
62
- spec = proc do |env|
63
- env.each{|k,v| ENV[k] = v}
64
- sh "#{FileUtils::RUBY} spec/all.rb"
65
- env.each{|k,v| ENV.delete(k)}
66
- end
67
-
68
- desc "Run specs"
69
- task "spec" do
70
- spec.call({})
71
- end
72
-
73
- task :default=>:spec
74
-
75
- desc "Run specs with coverage"
76
- task "spec_cov" do
77
- spec.call('COVERAGE'=>'1')
78
- end
79
-
80
- desc "Run specs with branch coverage"
81
- task "spec_branch_cov" do
82
- spec.call('COVERAGE'=>'1', 'BRANCH_COVERAGE'=>'1')
83
- end
84
-
85
- desc "Run specs with -w, some warnings filtered"
86
- task "spec_w" do
87
- rubyopt = ENV['RUBYOPT']
88
- ENV['RUBYOPT'] = "#{rubyopt} -w"
89
- spec.call('WARNING'=>'1')
90
- ENV['RUBYOPT'] = rubyopt
91
- end
92
-
93
- ### Other
94
-
95
- desc "Print #{NAME} version"
96
- task :version do
97
- puts VERS.call
98
- end
99
-
100
- desc "Start an IRB shell using the extension"
101
- task :irb do
102
- require 'rbconfig'
103
- ruby = ENV['RUBY'] || File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
104
- irb = ENV['IRB'] || File.join(RbConfig::CONFIG['bindir'], File.basename(ruby).sub('ruby', 'irb'))
105
- sh %{#{irb} -I lib -r #{NAME}}
106
- end
107
-
108
-