actionpack 3.2.19 → 4.0.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 (263) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +850 -401
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +5 -288
  5. data/lib/abstract_controller/asset_paths.rb +2 -2
  6. data/lib/abstract_controller/base.rb +39 -37
  7. data/lib/abstract_controller/callbacks.rb +101 -82
  8. data/lib/abstract_controller/collector.rb +7 -3
  9. data/lib/abstract_controller/helpers.rb +25 -13
  10. data/lib/abstract_controller/layouts.rb +74 -74
  11. data/lib/abstract_controller/logger.rb +1 -2
  12. data/lib/abstract_controller/rendering.rb +30 -13
  13. data/lib/abstract_controller/translation.rb +16 -1
  14. data/lib/abstract_controller/url_for.rb +6 -6
  15. data/lib/abstract_controller/view_paths.rb +1 -1
  16. data/lib/abstract_controller.rb +1 -8
  17. data/lib/action_controller/base.rb +46 -22
  18. data/lib/action_controller/caching/fragments.rb +23 -53
  19. data/lib/action_controller/caching.rb +46 -33
  20. data/lib/action_controller/deprecated/integration_test.rb +3 -0
  21. data/lib/action_controller/deprecated.rb +5 -1
  22. data/lib/action_controller/log_subscriber.rb +16 -8
  23. data/lib/action_controller/metal/conditional_get.rb +76 -32
  24. data/lib/action_controller/metal/data_streaming.rb +20 -26
  25. data/lib/action_controller/metal/exceptions.rb +19 -6
  26. data/lib/action_controller/metal/flash.rb +24 -9
  27. data/lib/action_controller/metal/force_ssl.rb +70 -12
  28. data/lib/action_controller/metal/head.rb +25 -4
  29. data/lib/action_controller/metal/helpers.rb +5 -9
  30. data/lib/action_controller/metal/hide_actions.rb +0 -1
  31. data/lib/action_controller/metal/http_authentication.rb +107 -83
  32. data/lib/action_controller/metal/implicit_render.rb +1 -1
  33. data/lib/action_controller/metal/instrumentation.rb +2 -1
  34. data/lib/action_controller/metal/live.rb +175 -0
  35. data/lib/action_controller/metal/mime_responds.rb +161 -47
  36. data/lib/action_controller/metal/params_wrapper.rb +112 -74
  37. data/lib/action_controller/metal/rack_delegation.rb +9 -3
  38. data/lib/action_controller/metal/redirecting.rb +15 -20
  39. data/lib/action_controller/metal/renderers.rb +11 -9
  40. data/lib/action_controller/metal/rendering.rb +9 -1
  41. data/lib/action_controller/metal/request_forgery_protection.rb +112 -19
  42. data/lib/action_controller/metal/responder.rb +20 -19
  43. data/lib/action_controller/metal/streaming.rb +12 -18
  44. data/lib/action_controller/metal/strong_parameters.rb +520 -0
  45. data/lib/action_controller/metal/testing.rb +13 -18
  46. data/lib/action_controller/metal/url_for.rb +28 -25
  47. data/lib/action_controller/metal.rb +17 -32
  48. data/lib/action_controller/model_naming.rb +12 -0
  49. data/lib/action_controller/railtie.rb +33 -17
  50. data/lib/action_controller/railties/helpers.rb +22 -0
  51. data/lib/action_controller/record_identifier.rb +18 -72
  52. data/lib/action_controller/test_case.rb +251 -131
  53. data/lib/action_controller/vendor/html-scanner.rb +4 -19
  54. data/lib/action_controller.rb +15 -6
  55. data/lib/action_dispatch/http/cache.rb +63 -11
  56. data/lib/action_dispatch/http/filter_parameters.rb +18 -8
  57. data/lib/action_dispatch/http/filter_redirect.rb +37 -0
  58. data/lib/action_dispatch/http/headers.rb +49 -17
  59. data/lib/action_dispatch/http/mime_negotiation.rb +24 -1
  60. data/lib/action_dispatch/http/mime_type.rb +154 -100
  61. data/lib/action_dispatch/http/mime_types.rb +1 -1
  62. data/lib/action_dispatch/http/parameter_filter.rb +44 -46
  63. data/lib/action_dispatch/http/parameters.rb +28 -28
  64. data/lib/action_dispatch/http/rack_cache.rb +2 -3
  65. data/lib/action_dispatch/http/request.rb +64 -18
  66. data/lib/action_dispatch/http/response.rb +130 -35
  67. data/lib/action_dispatch/http/upload.rb +63 -20
  68. data/lib/action_dispatch/http/url.rb +98 -35
  69. data/lib/action_dispatch/journey/backwards.rb +5 -0
  70. data/lib/action_dispatch/journey/formatter.rb +146 -0
  71. data/lib/action_dispatch/journey/gtg/builder.rb +162 -0
  72. data/lib/action_dispatch/journey/gtg/simulator.rb +44 -0
  73. data/lib/action_dispatch/journey/gtg/transition_table.rb +156 -0
  74. data/lib/action_dispatch/journey/nfa/builder.rb +76 -0
  75. data/lib/action_dispatch/journey/nfa/dot.rb +36 -0
  76. data/lib/action_dispatch/journey/nfa/simulator.rb +47 -0
  77. data/lib/action_dispatch/journey/nfa/transition_table.rb +163 -0
  78. data/lib/action_dispatch/journey/nodes/node.rb +124 -0
  79. data/lib/action_dispatch/journey/parser.rb +206 -0
  80. data/lib/action_dispatch/journey/parser.y +47 -0
  81. data/lib/action_dispatch/journey/parser_extras.rb +23 -0
  82. data/lib/action_dispatch/journey/path/pattern.rb +196 -0
  83. data/lib/action_dispatch/journey/route.rb +124 -0
  84. data/lib/action_dispatch/journey/router/strexp.rb +24 -0
  85. data/lib/action_dispatch/journey/router/utils.rb +54 -0
  86. data/lib/action_dispatch/journey/router.rb +166 -0
  87. data/lib/action_dispatch/journey/routes.rb +75 -0
  88. data/lib/action_dispatch/journey/scanner.rb +61 -0
  89. data/lib/action_dispatch/journey/visitors.rb +197 -0
  90. data/lib/action_dispatch/journey/visualizer/fsm.css +34 -0
  91. data/lib/action_dispatch/journey/visualizer/fsm.js +134 -0
  92. data/lib/action_dispatch/journey/visualizer/index.html.erb +52 -0
  93. data/lib/action_dispatch/journey.rb +5 -0
  94. data/lib/action_dispatch/middleware/callbacks.rb +9 -4
  95. data/lib/action_dispatch/middleware/cookies.rb +259 -114
  96. data/lib/action_dispatch/middleware/debug_exceptions.rb +26 -17
  97. data/lib/action_dispatch/middleware/exception_wrapper.rb +29 -3
  98. data/lib/action_dispatch/middleware/flash.rb +58 -58
  99. data/lib/action_dispatch/middleware/params_parser.rb +14 -29
  100. data/lib/action_dispatch/middleware/public_exceptions.rb +30 -14
  101. data/lib/action_dispatch/middleware/reloader.rb +6 -6
  102. data/lib/action_dispatch/middleware/remote_ip.rb +145 -39
  103. data/lib/action_dispatch/middleware/request_id.rb +2 -6
  104. data/lib/action_dispatch/middleware/session/abstract_store.rb +22 -20
  105. data/lib/action_dispatch/middleware/session/cookie_store.rb +82 -28
  106. data/lib/action_dispatch/middleware/session/mem_cache_store.rb +8 -3
  107. data/lib/action_dispatch/middleware/show_exceptions.rb +12 -45
  108. data/lib/action_dispatch/middleware/ssl.rb +70 -0
  109. data/lib/action_dispatch/middleware/stack.rb +6 -1
  110. data/lib/action_dispatch/middleware/static.rb +2 -1
  111. data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb +14 -11
  112. data/lib/action_dispatch/middleware/templates/rescues/_source.erb +25 -0
  113. data/lib/action_dispatch/middleware/templates/rescues/_trace.erb +7 -9
  114. data/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb +15 -9
  115. data/lib/action_dispatch/middleware/templates/rescues/layout.erb +127 -5
  116. data/lib/action_dispatch/middleware/templates/rescues/missing_template.erb +7 -2
  117. data/lib/action_dispatch/middleware/templates/rescues/routing_error.erb +30 -15
  118. data/lib/action_dispatch/middleware/templates/rescues/template_error.erb +39 -13
  119. data/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb +6 -2
  120. data/lib/action_dispatch/middleware/templates/routes/_route.html.erb +16 -0
  121. data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +144 -0
  122. data/lib/action_dispatch/railtie.rb +16 -6
  123. data/lib/action_dispatch/request/session.rb +181 -0
  124. data/lib/action_dispatch/routing/inspector.rb +240 -0
  125. data/lib/action_dispatch/routing/mapper.rb +540 -291
  126. data/lib/action_dispatch/routing/polymorphic_routes.rb +16 -20
  127. data/lib/action_dispatch/routing/redirection.rb +46 -29
  128. data/lib/action_dispatch/routing/route_set.rb +207 -164
  129. data/lib/action_dispatch/routing/routes_proxy.rb +2 -0
  130. data/lib/action_dispatch/routing/url_for.rb +48 -33
  131. data/lib/action_dispatch/routing.rb +48 -83
  132. data/lib/action_dispatch/testing/assertions/dom.rb +3 -13
  133. data/lib/action_dispatch/testing/assertions/response.rb +32 -40
  134. data/lib/action_dispatch/testing/assertions/routing.rb +42 -41
  135. data/lib/action_dispatch/testing/assertions/selector.rb +17 -22
  136. data/lib/action_dispatch/testing/assertions/tag.rb +20 -23
  137. data/lib/action_dispatch/testing/integration.rb +65 -51
  138. data/lib/action_dispatch/testing/test_process.rb +9 -6
  139. data/lib/action_dispatch/testing/test_request.rb +7 -3
  140. data/lib/action_dispatch.rb +21 -15
  141. data/lib/action_pack/version.rb +7 -6
  142. data/lib/action_pack.rb +1 -1
  143. data/lib/action_view/base.rb +15 -34
  144. data/lib/action_view/buffers.rb +7 -1
  145. data/lib/action_view/context.rb +4 -4
  146. data/lib/action_view/dependency_tracker.rb +93 -0
  147. data/lib/action_view/digestor.rb +85 -0
  148. data/lib/action_view/flows.rb +1 -4
  149. data/lib/action_view/helpers/active_model_helper.rb +3 -4
  150. data/lib/action_view/helpers/asset_tag_helper.rb +215 -352
  151. data/lib/action_view/helpers/asset_url_helper.rb +355 -0
  152. data/lib/action_view/helpers/atom_feed_helper.rb +13 -10
  153. data/lib/action_view/helpers/cache_helper.rb +150 -18
  154. data/lib/action_view/helpers/capture_helper.rb +44 -31
  155. data/lib/action_view/helpers/csrf_helper.rb +0 -2
  156. data/lib/action_view/helpers/date_helper.rb +269 -248
  157. data/lib/action_view/helpers/debug_helper.rb +10 -11
  158. data/lib/action_view/helpers/form_helper.rb +931 -537
  159. data/lib/action_view/helpers/form_options_helper.rb +341 -166
  160. data/lib/action_view/helpers/form_tag_helper.rb +190 -90
  161. data/lib/action_view/helpers/javascript_helper.rb +23 -16
  162. data/lib/action_view/helpers/number_helper.rb +148 -329
  163. data/lib/action_view/helpers/output_safety_helper.rb +3 -3
  164. data/lib/action_view/helpers/record_tag_helper.rb +17 -22
  165. data/lib/action_view/helpers/rendering_helper.rb +2 -2
  166. data/lib/action_view/helpers/sanitize_helper.rb +3 -6
  167. data/lib/action_view/helpers/tag_helper.rb +46 -33
  168. data/lib/action_view/helpers/tags/base.rb +147 -0
  169. data/lib/action_view/helpers/tags/check_box.rb +64 -0
  170. data/lib/action_view/helpers/tags/checkable.rb +16 -0
  171. data/lib/action_view/helpers/tags/collection_check_boxes.rb +43 -0
  172. data/lib/action_view/helpers/tags/collection_helpers.rb +83 -0
  173. data/lib/action_view/helpers/tags/collection_radio_buttons.rb +36 -0
  174. data/lib/action_view/helpers/tags/collection_select.rb +28 -0
  175. data/lib/action_view/helpers/tags/color_field.rb +25 -0
  176. data/lib/action_view/helpers/tags/date_field.rb +13 -0
  177. data/lib/action_view/helpers/tags/date_select.rb +72 -0
  178. data/lib/action_view/helpers/tags/datetime_field.rb +22 -0
  179. data/lib/action_view/helpers/tags/datetime_local_field.rb +19 -0
  180. data/lib/action_view/helpers/tags/datetime_select.rb +8 -0
  181. data/lib/action_view/helpers/tags/email_field.rb +8 -0
  182. data/lib/action_view/helpers/tags/file_field.rb +8 -0
  183. data/lib/action_view/helpers/tags/grouped_collection_select.rb +29 -0
  184. data/lib/action_view/helpers/tags/hidden_field.rb +8 -0
  185. data/lib/action_view/helpers/tags/label.rb +65 -0
  186. data/lib/action_view/helpers/tags/month_field.rb +13 -0
  187. data/lib/action_view/helpers/tags/number_field.rb +18 -0
  188. data/lib/action_view/helpers/tags/password_field.rb +12 -0
  189. data/lib/action_view/helpers/tags/radio_button.rb +31 -0
  190. data/lib/action_view/helpers/tags/range_field.rb +8 -0
  191. data/lib/action_view/helpers/tags/search_field.rb +24 -0
  192. data/lib/action_view/helpers/tags/select.rb +40 -0
  193. data/lib/action_view/helpers/tags/tel_field.rb +8 -0
  194. data/lib/action_view/helpers/tags/text_area.rb +18 -0
  195. data/lib/action_view/helpers/tags/text_field.rb +29 -0
  196. data/lib/action_view/helpers/tags/time_field.rb +13 -0
  197. data/lib/action_view/helpers/tags/time_select.rb +8 -0
  198. data/lib/action_view/helpers/tags/time_zone_select.rb +20 -0
  199. data/lib/action_view/helpers/tags/url_field.rb +8 -0
  200. data/lib/action_view/helpers/tags/week_field.rb +13 -0
  201. data/lib/action_view/helpers/tags.rb +39 -0
  202. data/lib/action_view/helpers/text_helper.rb +130 -114
  203. data/lib/action_view/helpers/translation_helper.rb +32 -16
  204. data/lib/action_view/helpers/url_helper.rb +211 -270
  205. data/lib/action_view/helpers.rb +2 -4
  206. data/lib/action_view/locale/en.yml +1 -105
  207. data/lib/action_view/log_subscriber.rb +6 -4
  208. data/lib/action_view/lookup_context.rb +15 -28
  209. data/lib/action_view/model_naming.rb +12 -0
  210. data/lib/action_view/path_set.rb +8 -20
  211. data/lib/action_view/railtie.rb +6 -22
  212. data/lib/action_view/record_identifier.rb +84 -0
  213. data/lib/action_view/renderer/abstract_renderer.rb +25 -19
  214. data/lib/action_view/renderer/partial_renderer.rb +158 -81
  215. data/lib/action_view/renderer/renderer.rb +8 -12
  216. data/lib/action_view/renderer/streaming_template_renderer.rb +2 -5
  217. data/lib/action_view/renderer/template_renderer.rb +12 -10
  218. data/lib/action_view/routing_url_for.rb +107 -0
  219. data/lib/action_view/template/error.rb +22 -12
  220. data/lib/action_view/template/handlers/builder.rb +1 -1
  221. data/lib/action_view/template/handlers/erb.rb +40 -19
  222. data/lib/action_view/template/handlers/raw.rb +11 -0
  223. data/lib/action_view/template/handlers.rb +12 -9
  224. data/lib/action_view/template/resolver.rb +107 -53
  225. data/lib/action_view/template/text.rb +12 -8
  226. data/lib/action_view/template/types.rb +57 -0
  227. data/lib/action_view/template.rb +25 -23
  228. data/lib/action_view/test_case.rb +67 -42
  229. data/lib/{action_controller → action_view}/vendor/html-scanner/html/document.rb +0 -0
  230. data/lib/{action_controller → action_view}/vendor/html-scanner/html/node.rb +12 -12
  231. data/lib/{action_controller → action_view}/vendor/html-scanner/html/sanitizer.rb +13 -2
  232. data/lib/{action_controller → action_view}/vendor/html-scanner/html/selector.rb +9 -9
  233. data/lib/{action_controller → action_view}/vendor/html-scanner/html/tokenizer.rb +1 -1
  234. data/lib/{action_controller → action_view}/vendor/html-scanner/html/version.rb +0 -0
  235. data/lib/action_view/vendor/html-scanner.rb +20 -0
  236. data/lib/action_view.rb +17 -8
  237. metadata +184 -214
  238. data/lib/action_controller/caching/actions.rb +0 -185
  239. data/lib/action_controller/caching/pages.rb +0 -187
  240. data/lib/action_controller/caching/sweeping.rb +0 -97
  241. data/lib/action_controller/deprecated/performance_test.rb +0 -1
  242. data/lib/action_controller/metal/compatibility.rb +0 -65
  243. data/lib/action_controller/metal/session_management.rb +0 -14
  244. data/lib/action_controller/railties/paths.rb +0 -25
  245. data/lib/action_dispatch/middleware/best_standards_support.rb +0 -30
  246. data/lib/action_dispatch/middleware/body_proxy.rb +0 -30
  247. data/lib/action_dispatch/middleware/head.rb +0 -18
  248. data/lib/action_dispatch/middleware/rescue.rb +0 -26
  249. data/lib/action_dispatch/testing/performance_test.rb +0 -10
  250. data/lib/action_view/asset_paths.rb +0 -142
  251. data/lib/action_view/helpers/asset_paths.rb +0 -7
  252. data/lib/action_view/helpers/asset_tag_helpers/asset_include_tag.rb +0 -146
  253. data/lib/action_view/helpers/asset_tag_helpers/asset_paths.rb +0 -93
  254. data/lib/action_view/helpers/asset_tag_helpers/javascript_tag_helpers.rb +0 -193
  255. data/lib/action_view/helpers/asset_tag_helpers/stylesheet_tag_helpers.rb +0 -148
  256. data/lib/sprockets/assets.rake +0 -99
  257. data/lib/sprockets/bootstrap.rb +0 -37
  258. data/lib/sprockets/compressors.rb +0 -83
  259. data/lib/sprockets/helpers/isolated_helper.rb +0 -13
  260. data/lib/sprockets/helpers/rails_helper.rb +0 -182
  261. data/lib/sprockets/helpers.rb +0 -6
  262. data/lib/sprockets/railtie.rb +0 -62
  263. data/lib/sprockets/static_compiler.rb +0 -56
@@ -45,15 +45,15 @@ module ActionController #:nodoc:
45
45
  # if @user.save
46
46
  # flash[:notice] = 'User was successfully created.'
47
47
  # format.html { redirect_to(@user) }
48
- # format.xml { render :xml => @user, :status => :created, :location => @user }
48
+ # format.xml { render xml: @user, status: :created, location: @user }
49
49
  # else
50
- # format.html { render :action => "new" }
51
- # format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
50
+ # format.html { render action: "new" }
51
+ # format.xml { render xml: @user.errors, status: :unprocessable_entity }
52
52
  # end
53
53
  # end
54
54
  # end
55
55
  #
56
- # The same happens for PUT and DELETE requests.
56
+ # The same happens for PATCH/PUT and DELETE requests.
57
57
  #
58
58
  # === Nested resources
59
59
  #
@@ -63,7 +63,7 @@ module ActionController #:nodoc:
63
63
  #
64
64
  # def create
65
65
  # @project = Project.find(params[:project_id])
66
- # @task = @project.comments.build(params[:task])
66
+ # @task = @project.tasks.build(params[:task])
67
67
  # flash[:notice] = 'Task was successfully created.' if @task.save
68
68
  # respond_with(@project, @task)
69
69
  # end
@@ -90,9 +90,9 @@ module ActionController #:nodoc:
90
90
  #
91
91
  # def create
92
92
  # @project = Project.find(params[:project_id])
93
- # @task = @project.comments.build(params[:task])
93
+ # @task = @project.tasks.build(params[:task])
94
94
  # flash[:notice] = 'Task was successfully created.' if @task.save
95
- # respond_with(@project, @task, :status => 201)
95
+ # respond_with(@project, @task, status: 201)
96
96
  # end
97
97
  #
98
98
  # This will return status 201 if the task was saved successfully. If not,
@@ -102,8 +102,8 @@ module ActionController #:nodoc:
102
102
  #
103
103
  # def create
104
104
  # @project = Project.find(params[:project_id])
105
- # @task = @project.comments.build(params[:task])
106
- # respond_with(@project, @task, :status => 201) do |format|
105
+ # @task = @project.tasks.build(params[:task])
106
+ # respond_with(@project, @task, status: 201) do |format|
107
107
  # if @task.save
108
108
  # flash[:notice] = 'Task was successfully created.'
109
109
  # else
@@ -116,8 +116,9 @@ module ActionController #:nodoc:
116
116
  class Responder
117
117
  attr_reader :controller, :request, :format, :resource, :resources, :options
118
118
 
119
- ACTIONS_FOR_VERBS = {
119
+ DEFAULT_ACTIONS_FOR_VERBS = {
120
120
  :post => :new,
121
+ :patch => :edit,
121
122
  :put => :edit
122
123
  }
123
124
 
@@ -133,7 +134,7 @@ module ActionController #:nodoc:
133
134
  end
134
135
 
135
136
  delegate :head, :render, :redirect_to, :to => :controller
136
- delegate :get?, :post?, :put?, :delete?, :to => :request
137
+ delegate :get?, :post?, :patch?, :put?, :delete?, :to => :request
137
138
 
138
139
  # Undefine :to_json and :to_yaml since it's defined on Object
139
140
  undef_method(:to_json) if method_defined?(:to_json)
@@ -235,20 +236,20 @@ module ActionController #:nodoc:
235
236
 
236
237
  # Display is just a shortcut to render a resource with the current format.
237
238
  #
238
- # display @user, :status => :ok
239
+ # display @user, status: :ok
239
240
  #
240
241
  # For XML requests it's equivalent to:
241
242
  #
242
- # render :xml => @user, :status => :ok
243
+ # render xml: @user, status: :ok
243
244
  #
244
245
  # Options sent by the user are also used:
245
246
  #
246
- # respond_with(@user, :status => :created)
247
- # display(@user, :status => :ok)
247
+ # respond_with(@user, status: :created)
248
+ # display(@user, status: :ok)
248
249
  #
249
250
  # Results in:
250
251
  #
251
- # render :xml => @user, :status => :created
252
+ # render xml: @user, status: :created
252
253
  #
253
254
  def display(resource, given_options={})
254
255
  controller.render given_options.merge!(options).merge!(format => resource)
@@ -264,11 +265,11 @@ module ActionController #:nodoc:
264
265
  resource.respond_to?(:errors) && !resource.errors.empty?
265
266
  end
266
267
 
267
- # By default, render the <code>:edit</code> action for HTML requests with failure, unless
268
- # the verb is POST.
268
+ # By default, render the <code>:edit</code> action for HTML requests with errors, unless
269
+ # the verb was POST.
269
270
  #
270
271
  def default_action
271
- @action ||= ACTIONS_FOR_VERBS[request.request_method_symbol]
272
+ @action ||= DEFAULT_ACTIONS_FOR_VERBS[request.request_method_symbol]
272
273
  end
273
274
 
274
275
  def resource_errors
@@ -1,4 +1,3 @@
1
- require 'active_support/core_ext/file/path'
2
1
  require 'rack/chunked'
3
2
 
4
3
  module ActionController #:nodoc:
@@ -22,15 +21,13 @@ module ActionController #:nodoc:
22
21
  # supports fibers (fibers are supported since version 1.9.2 of the main
23
22
  # Ruby implementation).
24
23
  #
25
- # == Examples
26
- #
27
24
  # Streaming can be added to a given template easily, all you need to do is
28
25
  # to pass the :stream option.
29
26
  #
30
27
  # class PostsController
31
28
  # def index
32
- # @posts = Post.scoped
33
- # render :stream => true
29
+ # @posts = Post.all
30
+ # render stream: true
34
31
  # end
35
32
  # end
36
33
  #
@@ -54,10 +51,10 @@ module ActionController #:nodoc:
54
51
  #
55
52
  # def dashboard
56
53
  # # Allow lazy execution of the queries
57
- # @posts = Post.scoped
58
- # @pages = Page.scoped
59
- # @articles = Article.scoped
60
- # render :stream => true
54
+ # @posts = Post.all
55
+ # @pages = Page.all
56
+ # @articles = Article.all
57
+ # render stream: true
61
58
  # end
62
59
  #
63
60
  # Notice that :stream only works with templates. Rendering :json
@@ -140,17 +137,14 @@ module ActionController #:nodoc:
140
137
  # session or flash after the template starts rendering will not propagate
141
138
  # to the client.
142
139
  #
143
- # If you try to modify cookies, session or flash, an +ActionDispatch::ClosedError+
144
- # will be raised, showing those objects are closed for modification.
145
- #
146
140
  # == Middlewares
147
141
  #
148
142
  # Middlewares that need to manipulate the body won't work with streaming.
149
143
  # You should disable those middlewares whenever streaming in development
150
- # or production. For instance, +Rack::Bug+ won't work when streaming as it
144
+ # or production. For instance, <tt>Rack::Bug</tt> won't work when streaming as it
151
145
  # needs to inject contents in the HTML body.
152
146
  #
153
- # Also +Rack::Cache+ won't work with streaming as it does not support
147
+ # Also <tt>Rack::Cache</tt> won't work with streaming as it does not support
154
148
  # streaming bodies yet. Whenever streaming Cache-Control is automatically
155
149
  # set to "no-cache".
156
150
  #
@@ -163,7 +157,7 @@ module ActionController #:nodoc:
163
157
  # Currently, when an exception happens in development or production, Rails
164
158
  # will automatically stream to the client:
165
159
  #
166
- # "><script type="text/javascript">window.location = "/500.html"</script></html>
160
+ # "><script>window.location = "/500.html"</script></html>
167
161
  #
168
162
  # The first two characters (">) are required in case the exception happens
169
163
  # while rendering attributes for a given tag. You can check the real cause
@@ -180,7 +174,7 @@ module ActionController #:nodoc:
180
174
  # need to create a config file as follow:
181
175
  #
182
176
  # # unicorn.config.rb
183
- # listen 3000, :tcp_nopush => false
177
+ # listen 3000, tcp_nopush: false
184
178
  #
185
179
  # And use it on initialization:
186
180
  #
@@ -195,7 +189,7 @@ module ActionController #:nodoc:
195
189
  # ==== Passenger
196
190
  #
197
191
  # To be described.
198
- #
192
+ #
199
193
  module Streaming
200
194
  extend ActiveSupport::Concern
201
195
 
@@ -217,7 +211,7 @@ module ActionController #:nodoc:
217
211
  end
218
212
  end
219
213
 
220
- # Call render_to_body if we are streaming instead of usual +render+.
214
+ # Call render_body if we are streaming instead of usual +render+.
221
215
  def _render_template(options) #:nodoc:
222
216
  if options.delete(:stream)
223
217
  Rack::Chunked::Body.new view_renderer.render_body(view_context, options)