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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +850 -401
- data/MIT-LICENSE +1 -1
- data/README.rdoc +5 -288
- data/lib/abstract_controller/asset_paths.rb +2 -2
- data/lib/abstract_controller/base.rb +39 -37
- data/lib/abstract_controller/callbacks.rb +101 -82
- data/lib/abstract_controller/collector.rb +7 -3
- data/lib/abstract_controller/helpers.rb +25 -13
- data/lib/abstract_controller/layouts.rb +74 -74
- data/lib/abstract_controller/logger.rb +1 -2
- data/lib/abstract_controller/rendering.rb +30 -13
- data/lib/abstract_controller/translation.rb +16 -1
- data/lib/abstract_controller/url_for.rb +6 -6
- data/lib/abstract_controller/view_paths.rb +1 -1
- data/lib/abstract_controller.rb +1 -8
- data/lib/action_controller/base.rb +46 -22
- data/lib/action_controller/caching/fragments.rb +23 -53
- data/lib/action_controller/caching.rb +46 -33
- data/lib/action_controller/deprecated/integration_test.rb +3 -0
- data/lib/action_controller/deprecated.rb +5 -1
- data/lib/action_controller/log_subscriber.rb +16 -8
- data/lib/action_controller/metal/conditional_get.rb +76 -32
- data/lib/action_controller/metal/data_streaming.rb +20 -26
- data/lib/action_controller/metal/exceptions.rb +19 -6
- data/lib/action_controller/metal/flash.rb +24 -9
- data/lib/action_controller/metal/force_ssl.rb +70 -12
- data/lib/action_controller/metal/head.rb +25 -4
- data/lib/action_controller/metal/helpers.rb +5 -9
- data/lib/action_controller/metal/hide_actions.rb +0 -1
- data/lib/action_controller/metal/http_authentication.rb +107 -83
- data/lib/action_controller/metal/implicit_render.rb +1 -1
- data/lib/action_controller/metal/instrumentation.rb +2 -1
- data/lib/action_controller/metal/live.rb +175 -0
- data/lib/action_controller/metal/mime_responds.rb +161 -47
- data/lib/action_controller/metal/params_wrapper.rb +112 -74
- data/lib/action_controller/metal/rack_delegation.rb +9 -3
- data/lib/action_controller/metal/redirecting.rb +15 -20
- data/lib/action_controller/metal/renderers.rb +11 -9
- data/lib/action_controller/metal/rendering.rb +9 -1
- data/lib/action_controller/metal/request_forgery_protection.rb +112 -19
- data/lib/action_controller/metal/responder.rb +20 -19
- data/lib/action_controller/metal/streaming.rb +12 -18
- data/lib/action_controller/metal/strong_parameters.rb +520 -0
- data/lib/action_controller/metal/testing.rb +13 -18
- data/lib/action_controller/metal/url_for.rb +28 -25
- data/lib/action_controller/metal.rb +17 -32
- data/lib/action_controller/model_naming.rb +12 -0
- data/lib/action_controller/railtie.rb +33 -17
- data/lib/action_controller/railties/helpers.rb +22 -0
- data/lib/action_controller/record_identifier.rb +18 -72
- data/lib/action_controller/test_case.rb +251 -131
- data/lib/action_controller/vendor/html-scanner.rb +4 -19
- data/lib/action_controller.rb +15 -6
- data/lib/action_dispatch/http/cache.rb +63 -11
- data/lib/action_dispatch/http/filter_parameters.rb +18 -8
- data/lib/action_dispatch/http/filter_redirect.rb +37 -0
- data/lib/action_dispatch/http/headers.rb +49 -17
- data/lib/action_dispatch/http/mime_negotiation.rb +24 -1
- data/lib/action_dispatch/http/mime_type.rb +154 -100
- data/lib/action_dispatch/http/mime_types.rb +1 -1
- data/lib/action_dispatch/http/parameter_filter.rb +44 -46
- data/lib/action_dispatch/http/parameters.rb +28 -28
- data/lib/action_dispatch/http/rack_cache.rb +2 -3
- data/lib/action_dispatch/http/request.rb +64 -18
- data/lib/action_dispatch/http/response.rb +130 -35
- data/lib/action_dispatch/http/upload.rb +63 -20
- data/lib/action_dispatch/http/url.rb +98 -35
- data/lib/action_dispatch/journey/backwards.rb +5 -0
- data/lib/action_dispatch/journey/formatter.rb +146 -0
- data/lib/action_dispatch/journey/gtg/builder.rb +162 -0
- data/lib/action_dispatch/journey/gtg/simulator.rb +44 -0
- data/lib/action_dispatch/journey/gtg/transition_table.rb +156 -0
- data/lib/action_dispatch/journey/nfa/builder.rb +76 -0
- data/lib/action_dispatch/journey/nfa/dot.rb +36 -0
- data/lib/action_dispatch/journey/nfa/simulator.rb +47 -0
- data/lib/action_dispatch/journey/nfa/transition_table.rb +163 -0
- data/lib/action_dispatch/journey/nodes/node.rb +124 -0
- data/lib/action_dispatch/journey/parser.rb +206 -0
- data/lib/action_dispatch/journey/parser.y +47 -0
- data/lib/action_dispatch/journey/parser_extras.rb +23 -0
- data/lib/action_dispatch/journey/path/pattern.rb +196 -0
- data/lib/action_dispatch/journey/route.rb +124 -0
- data/lib/action_dispatch/journey/router/strexp.rb +24 -0
- data/lib/action_dispatch/journey/router/utils.rb +54 -0
- data/lib/action_dispatch/journey/router.rb +166 -0
- data/lib/action_dispatch/journey/routes.rb +75 -0
- data/lib/action_dispatch/journey/scanner.rb +61 -0
- data/lib/action_dispatch/journey/visitors.rb +197 -0
- data/lib/action_dispatch/journey/visualizer/fsm.css +34 -0
- data/lib/action_dispatch/journey/visualizer/fsm.js +134 -0
- data/lib/action_dispatch/journey/visualizer/index.html.erb +52 -0
- data/lib/action_dispatch/journey.rb +5 -0
- data/lib/action_dispatch/middleware/callbacks.rb +9 -4
- data/lib/action_dispatch/middleware/cookies.rb +259 -114
- data/lib/action_dispatch/middleware/debug_exceptions.rb +26 -17
- data/lib/action_dispatch/middleware/exception_wrapper.rb +29 -3
- data/lib/action_dispatch/middleware/flash.rb +58 -58
- data/lib/action_dispatch/middleware/params_parser.rb +14 -29
- data/lib/action_dispatch/middleware/public_exceptions.rb +30 -14
- data/lib/action_dispatch/middleware/reloader.rb +6 -6
- data/lib/action_dispatch/middleware/remote_ip.rb +145 -39
- data/lib/action_dispatch/middleware/request_id.rb +2 -6
- data/lib/action_dispatch/middleware/session/abstract_store.rb +22 -20
- data/lib/action_dispatch/middleware/session/cookie_store.rb +82 -28
- data/lib/action_dispatch/middleware/session/mem_cache_store.rb +8 -3
- data/lib/action_dispatch/middleware/show_exceptions.rb +12 -45
- data/lib/action_dispatch/middleware/ssl.rb +70 -0
- data/lib/action_dispatch/middleware/stack.rb +6 -1
- data/lib/action_dispatch/middleware/static.rb +2 -1
- data/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb +14 -11
- data/lib/action_dispatch/middleware/templates/rescues/_source.erb +25 -0
- data/lib/action_dispatch/middleware/templates/rescues/_trace.erb +7 -9
- data/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb +15 -9
- data/lib/action_dispatch/middleware/templates/rescues/layout.erb +127 -5
- data/lib/action_dispatch/middleware/templates/rescues/missing_template.erb +7 -2
- data/lib/action_dispatch/middleware/templates/rescues/routing_error.erb +30 -15
- data/lib/action_dispatch/middleware/templates/rescues/template_error.erb +39 -13
- data/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb +6 -2
- data/lib/action_dispatch/middleware/templates/routes/_route.html.erb +16 -0
- data/lib/action_dispatch/middleware/templates/routes/_table.html.erb +144 -0
- data/lib/action_dispatch/railtie.rb +16 -6
- data/lib/action_dispatch/request/session.rb +181 -0
- data/lib/action_dispatch/routing/inspector.rb +240 -0
- data/lib/action_dispatch/routing/mapper.rb +540 -291
- data/lib/action_dispatch/routing/polymorphic_routes.rb +16 -20
- data/lib/action_dispatch/routing/redirection.rb +46 -29
- data/lib/action_dispatch/routing/route_set.rb +207 -164
- data/lib/action_dispatch/routing/routes_proxy.rb +2 -0
- data/lib/action_dispatch/routing/url_for.rb +48 -33
- data/lib/action_dispatch/routing.rb +48 -83
- data/lib/action_dispatch/testing/assertions/dom.rb +3 -13
- data/lib/action_dispatch/testing/assertions/response.rb +32 -40
- data/lib/action_dispatch/testing/assertions/routing.rb +42 -41
- data/lib/action_dispatch/testing/assertions/selector.rb +17 -22
- data/lib/action_dispatch/testing/assertions/tag.rb +20 -23
- data/lib/action_dispatch/testing/integration.rb +65 -51
- data/lib/action_dispatch/testing/test_process.rb +9 -6
- data/lib/action_dispatch/testing/test_request.rb +7 -3
- data/lib/action_dispatch.rb +21 -15
- data/lib/action_pack/version.rb +7 -6
- data/lib/action_pack.rb +1 -1
- data/lib/action_view/base.rb +15 -34
- data/lib/action_view/buffers.rb +7 -1
- data/lib/action_view/context.rb +4 -4
- data/lib/action_view/dependency_tracker.rb +93 -0
- data/lib/action_view/digestor.rb +85 -0
- data/lib/action_view/flows.rb +1 -4
- data/lib/action_view/helpers/active_model_helper.rb +3 -4
- data/lib/action_view/helpers/asset_tag_helper.rb +215 -352
- data/lib/action_view/helpers/asset_url_helper.rb +355 -0
- data/lib/action_view/helpers/atom_feed_helper.rb +13 -10
- data/lib/action_view/helpers/cache_helper.rb +150 -18
- data/lib/action_view/helpers/capture_helper.rb +44 -31
- data/lib/action_view/helpers/csrf_helper.rb +0 -2
- data/lib/action_view/helpers/date_helper.rb +269 -248
- data/lib/action_view/helpers/debug_helper.rb +10 -11
- data/lib/action_view/helpers/form_helper.rb +931 -537
- data/lib/action_view/helpers/form_options_helper.rb +341 -166
- data/lib/action_view/helpers/form_tag_helper.rb +190 -90
- data/lib/action_view/helpers/javascript_helper.rb +23 -16
- data/lib/action_view/helpers/number_helper.rb +148 -329
- data/lib/action_view/helpers/output_safety_helper.rb +3 -3
- data/lib/action_view/helpers/record_tag_helper.rb +17 -22
- data/lib/action_view/helpers/rendering_helper.rb +2 -2
- data/lib/action_view/helpers/sanitize_helper.rb +3 -6
- data/lib/action_view/helpers/tag_helper.rb +46 -33
- data/lib/action_view/helpers/tags/base.rb +147 -0
- data/lib/action_view/helpers/tags/check_box.rb +64 -0
- data/lib/action_view/helpers/tags/checkable.rb +16 -0
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +43 -0
- data/lib/action_view/helpers/tags/collection_helpers.rb +83 -0
- data/lib/action_view/helpers/tags/collection_radio_buttons.rb +36 -0
- data/lib/action_view/helpers/tags/collection_select.rb +28 -0
- data/lib/action_view/helpers/tags/color_field.rb +25 -0
- data/lib/action_view/helpers/tags/date_field.rb +13 -0
- data/lib/action_view/helpers/tags/date_select.rb +72 -0
- data/lib/action_view/helpers/tags/datetime_field.rb +22 -0
- data/lib/action_view/helpers/tags/datetime_local_field.rb +19 -0
- data/lib/action_view/helpers/tags/datetime_select.rb +8 -0
- data/lib/action_view/helpers/tags/email_field.rb +8 -0
- data/lib/action_view/helpers/tags/file_field.rb +8 -0
- data/lib/action_view/helpers/tags/grouped_collection_select.rb +29 -0
- data/lib/action_view/helpers/tags/hidden_field.rb +8 -0
- data/lib/action_view/helpers/tags/label.rb +65 -0
- data/lib/action_view/helpers/tags/month_field.rb +13 -0
- data/lib/action_view/helpers/tags/number_field.rb +18 -0
- data/lib/action_view/helpers/tags/password_field.rb +12 -0
- data/lib/action_view/helpers/tags/radio_button.rb +31 -0
- data/lib/action_view/helpers/tags/range_field.rb +8 -0
- data/lib/action_view/helpers/tags/search_field.rb +24 -0
- data/lib/action_view/helpers/tags/select.rb +40 -0
- data/lib/action_view/helpers/tags/tel_field.rb +8 -0
- data/lib/action_view/helpers/tags/text_area.rb +18 -0
- data/lib/action_view/helpers/tags/text_field.rb +29 -0
- data/lib/action_view/helpers/tags/time_field.rb +13 -0
- data/lib/action_view/helpers/tags/time_select.rb +8 -0
- data/lib/action_view/helpers/tags/time_zone_select.rb +20 -0
- data/lib/action_view/helpers/tags/url_field.rb +8 -0
- data/lib/action_view/helpers/tags/week_field.rb +13 -0
- data/lib/action_view/helpers/tags.rb +39 -0
- data/lib/action_view/helpers/text_helper.rb +130 -114
- data/lib/action_view/helpers/translation_helper.rb +32 -16
- data/lib/action_view/helpers/url_helper.rb +211 -270
- data/lib/action_view/helpers.rb +2 -4
- data/lib/action_view/locale/en.yml +1 -105
- data/lib/action_view/log_subscriber.rb +6 -4
- data/lib/action_view/lookup_context.rb +15 -28
- data/lib/action_view/model_naming.rb +12 -0
- data/lib/action_view/path_set.rb +8 -20
- data/lib/action_view/railtie.rb +6 -22
- data/lib/action_view/record_identifier.rb +84 -0
- data/lib/action_view/renderer/abstract_renderer.rb +25 -19
- data/lib/action_view/renderer/partial_renderer.rb +158 -81
- data/lib/action_view/renderer/renderer.rb +8 -12
- data/lib/action_view/renderer/streaming_template_renderer.rb +2 -5
- data/lib/action_view/renderer/template_renderer.rb +12 -10
- data/lib/action_view/routing_url_for.rb +107 -0
- data/lib/action_view/template/error.rb +22 -12
- data/lib/action_view/template/handlers/builder.rb +1 -1
- data/lib/action_view/template/handlers/erb.rb +40 -19
- data/lib/action_view/template/handlers/raw.rb +11 -0
- data/lib/action_view/template/handlers.rb +12 -9
- data/lib/action_view/template/resolver.rb +107 -53
- data/lib/action_view/template/text.rb +12 -8
- data/lib/action_view/template/types.rb +57 -0
- data/lib/action_view/template.rb +25 -23
- data/lib/action_view/test_case.rb +67 -42
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/document.rb +0 -0
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/node.rb +12 -12
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/sanitizer.rb +13 -2
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/selector.rb +9 -9
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/tokenizer.rb +1 -1
- data/lib/{action_controller → action_view}/vendor/html-scanner/html/version.rb +0 -0
- data/lib/action_view/vendor/html-scanner.rb +20 -0
- data/lib/action_view.rb +17 -8
- metadata +184 -214
- data/lib/action_controller/caching/actions.rb +0 -185
- data/lib/action_controller/caching/pages.rb +0 -187
- data/lib/action_controller/caching/sweeping.rb +0 -97
- data/lib/action_controller/deprecated/performance_test.rb +0 -1
- data/lib/action_controller/metal/compatibility.rb +0 -65
- data/lib/action_controller/metal/session_management.rb +0 -14
- data/lib/action_controller/railties/paths.rb +0 -25
- data/lib/action_dispatch/middleware/best_standards_support.rb +0 -30
- data/lib/action_dispatch/middleware/body_proxy.rb +0 -30
- data/lib/action_dispatch/middleware/head.rb +0 -18
- data/lib/action_dispatch/middleware/rescue.rb +0 -26
- data/lib/action_dispatch/testing/performance_test.rb +0 -10
- data/lib/action_view/asset_paths.rb +0 -142
- data/lib/action_view/helpers/asset_paths.rb +0 -7
- data/lib/action_view/helpers/asset_tag_helpers/asset_include_tag.rb +0 -146
- data/lib/action_view/helpers/asset_tag_helpers/asset_paths.rb +0 -93
- data/lib/action_view/helpers/asset_tag_helpers/javascript_tag_helpers.rb +0 -193
- data/lib/action_view/helpers/asset_tag_helpers/stylesheet_tag_helpers.rb +0 -148
- data/lib/sprockets/assets.rake +0 -99
- data/lib/sprockets/bootstrap.rb +0 -37
- data/lib/sprockets/compressors.rb +0 -83
- data/lib/sprockets/helpers/isolated_helper.rb +0 -13
- data/lib/sprockets/helpers/rails_helper.rb +0 -182
- data/lib/sprockets/helpers.rb +0 -6
- data/lib/sprockets/railtie.rb +0 -62
- data/lib/sprockets/static_compiler.rb +0 -56
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require 'active_support/core_ext/object/blank'
|
|
2
1
|
require 'active_support/core_ext/string/output_safety'
|
|
3
2
|
|
|
4
3
|
module ActionView
|
|
@@ -13,7 +12,6 @@ module ActionView
|
|
|
13
12
|
# The capture method allows you to extract part of a template into a
|
|
14
13
|
# variable. You can then use this variable anywhere in your templates or layout.
|
|
15
14
|
#
|
|
16
|
-
# ==== Examples
|
|
17
15
|
# The capture method can be used in ERB templates...
|
|
18
16
|
#
|
|
19
17
|
# <% @greeting = capture do %>
|
|
@@ -44,14 +42,12 @@ module ActionView
|
|
|
44
42
|
end
|
|
45
43
|
|
|
46
44
|
# Calling content_for stores a block of markup in an identifier for later use.
|
|
47
|
-
#
|
|
48
|
-
# or the layout
|
|
45
|
+
# In order to access this stored content in other templates, helper modules
|
|
46
|
+
# or the layout, you would pass the identifier as an argument to <tt>content_for</tt>.
|
|
49
47
|
#
|
|
50
48
|
# Note: <tt>yield</tt> can still be used to retrieve the stored content, but calling
|
|
51
49
|
# <tt>yield</tt> doesn't work in helper modules, while <tt>content_for</tt> does.
|
|
52
50
|
#
|
|
53
|
-
# ==== Examples
|
|
54
|
-
#
|
|
55
51
|
# <% content_for :not_authorized do %>
|
|
56
52
|
# alert('You are not authorized to do that!')
|
|
57
53
|
# <% end %>
|
|
@@ -76,13 +72,14 @@ module ActionView
|
|
|
76
72
|
#
|
|
77
73
|
# <%= stored_content %>
|
|
78
74
|
#
|
|
79
|
-
# You can use the <tt>yield</tt> syntax alongside an existing call to
|
|
75
|
+
# You can also use the <tt>yield</tt> syntax alongside an existing call to
|
|
76
|
+
# <tt>yield</tt> in a layout. For example:
|
|
80
77
|
#
|
|
81
78
|
# <%# This is the layout %>
|
|
82
79
|
# <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
83
80
|
# <head>
|
|
84
|
-
#
|
|
85
|
-
#
|
|
81
|
+
# <title>My Website</title>
|
|
82
|
+
# <%= yield :script %>
|
|
86
83
|
# </head>
|
|
87
84
|
# <body>
|
|
88
85
|
# <%= yield %>
|
|
@@ -96,12 +93,12 @@ module ActionView
|
|
|
96
93
|
# Please login!
|
|
97
94
|
#
|
|
98
95
|
# <% content_for :script do %>
|
|
99
|
-
# <script
|
|
96
|
+
# <script>alert('You are not authorized to view this page!')</script>
|
|
100
97
|
# <% end %>
|
|
101
98
|
#
|
|
102
99
|
# Then, in another view, you could to do something like this:
|
|
103
100
|
#
|
|
104
|
-
# <%= link_to 'Logout', :
|
|
101
|
+
# <%= link_to 'Logout', action: 'logout', remote: true %>
|
|
105
102
|
#
|
|
106
103
|
# <% content_for :script do %>
|
|
107
104
|
# <%= javascript_include_tag :defaults %>
|
|
@@ -110,36 +107,56 @@ module ActionView
|
|
|
110
107
|
# That will place +script+ tags for your default set of JavaScript files on the page;
|
|
111
108
|
# this technique is useful if you'll only be using these scripts in a few views.
|
|
112
109
|
#
|
|
113
|
-
# Note that content_for concatenates the blocks it is given for a particular
|
|
110
|
+
# Note that content_for concatenates (default) the blocks it is given for a particular
|
|
114
111
|
# identifier in order. For example:
|
|
115
112
|
#
|
|
116
113
|
# <% content_for :navigation do %>
|
|
117
|
-
# <li><%= link_to 'Home', :
|
|
114
|
+
# <li><%= link_to 'Home', action: 'index' %></li>
|
|
118
115
|
# <% end %>
|
|
119
116
|
#
|
|
120
|
-
#
|
|
117
|
+
# And in other place:
|
|
121
118
|
#
|
|
122
119
|
# <% content_for :navigation do %>
|
|
123
|
-
# <li><%= link_to 'Login', :
|
|
120
|
+
# <li><%= link_to 'Login', action: 'login' %></li>
|
|
124
121
|
# <% end %>
|
|
125
122
|
#
|
|
126
123
|
# Then, in another template or layout, this code would render both links in order:
|
|
127
124
|
#
|
|
128
125
|
# <ul><%= content_for :navigation %></ul>
|
|
129
126
|
#
|
|
127
|
+
# If the flush parameter is true content_for replaces the blocks it is given. For example:
|
|
128
|
+
#
|
|
129
|
+
# <% content_for :navigation do %>
|
|
130
|
+
# <li><%= link_to 'Home', action: 'index' %></li>
|
|
131
|
+
# <% end %>
|
|
132
|
+
#
|
|
133
|
+
# <%# Add some other content, or use a different template: %>
|
|
134
|
+
#
|
|
135
|
+
# <% content_for :navigation, flush: true do %>
|
|
136
|
+
# <li><%= link_to 'Login', action: 'login' %></li>
|
|
137
|
+
# <% end %>
|
|
138
|
+
#
|
|
139
|
+
# Then, in another template or layout, this code would render only the last link:
|
|
140
|
+
#
|
|
141
|
+
# <ul><%= content_for :navigation %></ul>
|
|
142
|
+
#
|
|
130
143
|
# Lastly, simple content can be passed as a parameter:
|
|
131
144
|
#
|
|
132
145
|
# <% content_for :script, javascript_include_tag(:defaults) %>
|
|
133
146
|
#
|
|
134
|
-
# WARNING: content_for is ignored in caches. So you shouldn't use it
|
|
135
|
-
|
|
136
|
-
def content_for(name, content = nil, &block)
|
|
147
|
+
# WARNING: content_for is ignored in caches. So you shouldn't use it for elements that will be fragment cached.
|
|
148
|
+
def content_for(name, content = nil, options = {}, &block)
|
|
137
149
|
if content || block_given?
|
|
138
|
-
|
|
139
|
-
|
|
150
|
+
if block_given?
|
|
151
|
+
options = content if content
|
|
152
|
+
content = capture(&block)
|
|
153
|
+
end
|
|
154
|
+
if content
|
|
155
|
+
options[:flush] ? @view_flow.set(name, content) : @view_flow.append(name, content)
|
|
156
|
+
end
|
|
140
157
|
nil
|
|
141
158
|
else
|
|
142
|
-
@view_flow.get(name)
|
|
159
|
+
@view_flow.get(name).presence
|
|
143
160
|
end
|
|
144
161
|
end
|
|
145
162
|
|
|
@@ -154,20 +171,16 @@ module ActionView
|
|
|
154
171
|
result unless content
|
|
155
172
|
end
|
|
156
173
|
|
|
157
|
-
# content_for?
|
|
174
|
+
# content_for? checks whether any content has been captured yet using `content_for`.
|
|
158
175
|
# Useful to render parts of your layout differently based on what is in your views.
|
|
159
176
|
#
|
|
160
|
-
# ==== Examples
|
|
161
|
-
#
|
|
162
|
-
# Perhaps you will use different css in you layout if no content_for :right_column
|
|
163
|
-
#
|
|
164
177
|
# <%# This is the layout %>
|
|
165
178
|
# <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
166
179
|
# <head>
|
|
167
|
-
#
|
|
168
|
-
#
|
|
180
|
+
# <title>My Website</title>
|
|
181
|
+
# <%= yield :script %>
|
|
169
182
|
# </head>
|
|
170
|
-
# <body class="<%= content_for?(:right_col) ? '
|
|
183
|
+
# <body class="<%= content_for?(:right_col) ? 'two-column' : 'one-column' %>">
|
|
171
184
|
# <%= yield %>
|
|
172
185
|
# <%= yield :right_col %>
|
|
173
186
|
# </body>
|
|
@@ -181,7 +194,7 @@ module ActionView
|
|
|
181
194
|
def with_output_buffer(buf = nil) #:nodoc:
|
|
182
195
|
unless buf
|
|
183
196
|
buf = ActionView::OutputBuffer.new
|
|
184
|
-
buf.force_encoding(output_buffer.encoding) if output_buffer
|
|
197
|
+
buf.force_encoding(output_buffer.encoding) if output_buffer
|
|
185
198
|
end
|
|
186
199
|
self.output_buffer, old_buffer = buf, output_buffer
|
|
187
200
|
yield
|
|
@@ -193,7 +206,7 @@ module ActionView
|
|
|
193
206
|
# Add the output buffer to the response body and start a new one.
|
|
194
207
|
def flush_output_buffer #:nodoc:
|
|
195
208
|
if output_buffer && !output_buffer.empty?
|
|
196
|
-
response.
|
|
209
|
+
response.stream.write output_buffer
|
|
197
210
|
self.output_buffer = output_buffer.respond_to?(:clone_empty) ? output_buffer.clone_empty : output_buffer[0, 0]
|
|
198
211
|
nil
|
|
199
212
|
end
|