actionview 7.0.8.7 → 7.1.5.1
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.md +309 -321
- data/MIT-LICENSE +1 -1
- data/README.rdoc +1 -1
- data/app/assets/javascripts/rails-ujs.esm.js +686 -0
- data/app/assets/javascripts/rails-ujs.js +630 -0
- data/lib/action_view/base.rb +34 -14
- data/lib/action_view/buffers.rb +106 -8
- data/lib/action_view/cache_expiry.rb +40 -43
- data/lib/action_view/context.rb +1 -1
- data/lib/action_view/deprecator.rb +7 -0
- data/lib/action_view/digestor.rb +1 -1
- data/lib/action_view/gem_version.rb +4 -4
- data/lib/action_view/helpers/active_model_helper.rb +1 -1
- data/lib/action_view/helpers/asset_tag_helper.rb +136 -52
- data/lib/action_view/helpers/asset_url_helper.rb +6 -5
- data/lib/action_view/helpers/atom_feed_helper.rb +5 -5
- data/lib/action_view/helpers/cache_helper.rb +7 -13
- data/lib/action_view/helpers/capture_helper.rb +30 -10
- data/lib/action_view/helpers/content_exfiltration_prevention_helper.rb +70 -0
- data/lib/action_view/helpers/controller_helper.rb +6 -0
- data/lib/action_view/helpers/csp_helper.rb +2 -2
- data/lib/action_view/helpers/csrf_helper.rb +2 -2
- data/lib/action_view/helpers/date_helper.rb +17 -19
- data/lib/action_view/helpers/debug_helper.rb +3 -3
- data/lib/action_view/helpers/form_helper.rb +54 -25
- data/lib/action_view/helpers/form_options_helper.rb +2 -1
- data/lib/action_view/helpers/form_tag_helper.rb +49 -15
- data/lib/action_view/helpers/javascript_helper.rb +1 -0
- data/lib/action_view/helpers/number_helper.rb +37 -330
- data/lib/action_view/helpers/output_safety_helper.rb +2 -2
- data/lib/action_view/helpers/rendering_helper.rb +1 -1
- data/lib/action_view/helpers/sanitize_helper.rb +51 -21
- data/lib/action_view/helpers/tag_helper.rb +5 -27
- data/lib/action_view/helpers/tags/base.rb +11 -52
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +1 -0
- data/lib/action_view/helpers/tags/collection_radio_buttons.rb +1 -0
- data/lib/action_view/helpers/tags/collection_select.rb +3 -0
- data/lib/action_view/helpers/tags/date_field.rb +1 -1
- data/lib/action_view/helpers/tags/date_select.rb +2 -0
- data/lib/action_view/helpers/tags/datetime_field.rb +14 -6
- data/lib/action_view/helpers/tags/datetime_local_field.rb +11 -2
- data/lib/action_view/helpers/tags/grouped_collection_select.rb +3 -0
- data/lib/action_view/helpers/tags/month_field.rb +1 -1
- data/lib/action_view/helpers/tags/select.rb +3 -0
- data/lib/action_view/helpers/tags/select_renderer.rb +56 -0
- data/lib/action_view/helpers/tags/time_field.rb +1 -1
- data/lib/action_view/helpers/tags/time_zone_select.rb +3 -0
- data/lib/action_view/helpers/tags/week_field.rb +1 -1
- data/lib/action_view/helpers/tags/weekday_select.rb +3 -0
- data/lib/action_view/helpers/tags.rb +2 -0
- data/lib/action_view/helpers/text_helper.rb +156 -84
- data/lib/action_view/helpers/translation_helper.rb +3 -3
- data/lib/action_view/helpers/url_helper.rb +46 -17
- data/lib/action_view/helpers.rb +2 -0
- data/lib/action_view/layouts.rb +8 -6
- data/lib/action_view/log_subscriber.rb +49 -32
- data/lib/action_view/lookup_context.rb +29 -13
- data/lib/action_view/path_registry.rb +57 -0
- data/lib/action_view/path_set.rb +13 -14
- data/lib/action_view/railtie.rb +26 -3
- data/lib/action_view/record_identifier.rb +15 -8
- data/lib/action_view/renderer/abstract_renderer.rb +1 -1
- data/lib/action_view/renderer/collection_renderer.rb +10 -2
- data/lib/action_view/renderer/partial_renderer/collection_caching.rb +2 -1
- data/lib/action_view/renderer/partial_renderer.rb +2 -1
- data/lib/action_view/renderer/renderer.rb +2 -0
- data/lib/action_view/renderer/streaming_template_renderer.rb +3 -2
- data/lib/action_view/renderer/template_renderer.rb +3 -2
- data/lib/action_view/rendering.rb +22 -4
- data/lib/action_view/ripper_ast_parser.rb +5 -5
- data/lib/action_view/template/error.rb +14 -1
- data/lib/action_view/template/handlers/builder.rb +4 -4
- data/lib/action_view/template/handlers/erb/erubi.rb +23 -27
- data/lib/action_view/template/handlers/erb.rb +73 -1
- data/lib/action_view/template/handlers.rb +1 -1
- data/lib/action_view/template/html.rb +1 -1
- data/lib/action_view/template/raw_file.rb +1 -1
- data/lib/action_view/template/renderable.rb +1 -1
- data/lib/action_view/template/resolver.rb +10 -2
- data/lib/action_view/template/text.rb +1 -1
- data/lib/action_view/template/types.rb +25 -34
- data/lib/action_view/template.rb +249 -54
- data/lib/action_view/template_path.rb +2 -0
- data/lib/action_view/test_case.rb +176 -21
- data/lib/action_view/unbound_template.rb +17 -7
- data/lib/action_view/version.rb +1 -1
- data/lib/action_view/view_paths.rb +15 -24
- data/lib/action_view.rb +4 -1
- metadata +22 -23
- data/lib/assets/compiled/rails-ujs.js +0 -777
@@ -9,6 +9,9 @@ require "rails-dom-testing"
|
|
9
9
|
|
10
10
|
module ActionView
|
11
11
|
# = Action View Test Case
|
12
|
+
#
|
13
|
+
# Read more about <tt>ActionView::TestCase</tt> in {Testing Rails Applications}[https://guides.rubyonrails.org/testing.html#testing-view-partials]
|
14
|
+
# in the guides.
|
12
15
|
class TestCase < ActiveSupport::TestCase
|
13
16
|
class TestController < ActionController::Base
|
14
17
|
include ActionDispatch::TestProcess
|
@@ -60,6 +63,95 @@ module ActionView
|
|
60
63
|
attr_accessor :controller, :request, :output_buffer, :rendered
|
61
64
|
|
62
65
|
module ClassMethods
|
66
|
+
def inherited(descendant) # :nodoc:
|
67
|
+
super
|
68
|
+
|
69
|
+
descendant_content_class = content_class.dup
|
70
|
+
|
71
|
+
if descendant_content_class.respond_to?(:set_temporary_name)
|
72
|
+
descendant_content_class.set_temporary_name("rendered_content")
|
73
|
+
end
|
74
|
+
|
75
|
+
descendant.content_class = descendant_content_class
|
76
|
+
end
|
77
|
+
|
78
|
+
# Register a callable to parse rendered content for a given template
|
79
|
+
# format.
|
80
|
+
#
|
81
|
+
# Each registered parser will also define a +#rendered.[FORMAT]+ helper
|
82
|
+
# method, where +[FORMAT]+ corresponds to the value of the
|
83
|
+
# +format+ argument.
|
84
|
+
#
|
85
|
+
# By default, ActionView::TestCase defines parsers for:
|
86
|
+
#
|
87
|
+
# * +:html+ - returns an instance of +Nokogiri::XML::Node+
|
88
|
+
# * +:json+ - returns an instance of ActiveSupport::HashWithIndifferentAccess
|
89
|
+
#
|
90
|
+
# These pre-registered parsers also define corresponding helpers:
|
91
|
+
#
|
92
|
+
# * +:html+ - defines +rendered.html+
|
93
|
+
# * +:json+ - defines +rendered.json+
|
94
|
+
#
|
95
|
+
# ==== Parameters
|
96
|
+
#
|
97
|
+
# [+format+]
|
98
|
+
# The name (as a +Symbol+) of the format used to render the content.
|
99
|
+
#
|
100
|
+
# [+callable+]
|
101
|
+
# The parser. A callable object that accepts the rendered string as
|
102
|
+
# its sole argument. Alternatively, the parser can be specified as a
|
103
|
+
# block.
|
104
|
+
#
|
105
|
+
# ==== Examples
|
106
|
+
#
|
107
|
+
# test "renders HTML" do
|
108
|
+
# article = Article.create!(title: "Hello, world")
|
109
|
+
#
|
110
|
+
# render partial: "articles/article", locals: { article: article }
|
111
|
+
#
|
112
|
+
# assert_pattern { rendered.html.at("main h1") => { content: "Hello, world" } }
|
113
|
+
# end
|
114
|
+
#
|
115
|
+
# test "renders JSON" do
|
116
|
+
# article = Article.create!(title: "Hello, world")
|
117
|
+
#
|
118
|
+
# render formats: :json, partial: "articles/article", locals: { article: article }
|
119
|
+
#
|
120
|
+
# assert_pattern { rendered.json => { title: "Hello, world" } }
|
121
|
+
# end
|
122
|
+
#
|
123
|
+
# To parse the rendered content into RSS, register a call to +RSS::Parser.parse+:
|
124
|
+
#
|
125
|
+
# register_parser :rss, -> rendered { RSS::Parser.parse(rendered) }
|
126
|
+
#
|
127
|
+
# test "renders RSS" do
|
128
|
+
# article = Article.create!(title: "Hello, world")
|
129
|
+
#
|
130
|
+
# render formats: :rss, partial: article
|
131
|
+
#
|
132
|
+
# assert_equal "Hello, world", rendered.rss.items.last.title
|
133
|
+
# end
|
134
|
+
#
|
135
|
+
# To parse the rendered content into a +Capybara::Simple::Node+,
|
136
|
+
# re-register an +:html+ parser with a call to +Capybara.string+:
|
137
|
+
#
|
138
|
+
# register_parser :html, -> rendered { Capybara.string(rendered) }
|
139
|
+
#
|
140
|
+
# test "renders HTML" do
|
141
|
+
# article = Article.create!(title: "Hello, world")
|
142
|
+
#
|
143
|
+
# render partial: article
|
144
|
+
#
|
145
|
+
# rendered.html.assert_css "h1", text: "Hello, world"
|
146
|
+
# end
|
147
|
+
#
|
148
|
+
def register_parser(format, callable = nil, &block)
|
149
|
+
parser = callable || block || :itself.to_proc
|
150
|
+
content_class.redefine_method(format) do
|
151
|
+
parser.call(to_s)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
63
155
|
def tests(helper_class)
|
64
156
|
case helper_class
|
65
157
|
when String, Symbol
|
@@ -105,15 +197,34 @@ module ActionView
|
|
105
197
|
end
|
106
198
|
end
|
107
199
|
|
200
|
+
included do
|
201
|
+
class_attribute :content_class, instance_accessor: false, default: RenderedViewContent
|
202
|
+
|
203
|
+
setup :setup_with_controller
|
204
|
+
|
205
|
+
register_parser :html, -> rendered { Rails::Dom::Testing.html_document.parse(rendered).root }
|
206
|
+
register_parser :json, -> rendered { JSON.parse(rendered, object_class: ActiveSupport::HashWithIndifferentAccess) }
|
207
|
+
|
208
|
+
ActiveSupport.run_load_hooks(:action_view_test_case, self)
|
209
|
+
|
210
|
+
helper do
|
211
|
+
def protect_against_forgery?
|
212
|
+
false
|
213
|
+
end
|
214
|
+
|
215
|
+
def _test_case
|
216
|
+
controller._test_case
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
108
221
|
def setup_with_controller
|
109
222
|
controller_class = Class.new(ActionView::TestCase::TestController)
|
110
223
|
@controller = controller_class.new
|
111
224
|
@request = @controller.request
|
112
225
|
@view_flow = ActionView::OutputFlow.new
|
113
|
-
|
114
|
-
|
115
|
-
@output_buffer = ActiveSupport::SafeBuffer.new ""
|
116
|
-
@rendered = +""
|
226
|
+
@output_buffer = ActionView::OutputBuffer.new
|
227
|
+
@rendered = self.class.content_class.new(+"")
|
117
228
|
|
118
229
|
test_case_instance = self
|
119
230
|
controller_class.define_method(:_test_case) { test_case_instance }
|
@@ -133,10 +244,64 @@ module ActionView
|
|
133
244
|
@_rendered_views ||= RenderedViewsCollection.new
|
134
245
|
end
|
135
246
|
|
247
|
+
##
|
248
|
+
# :method: rendered
|
249
|
+
#
|
250
|
+
# Returns the content rendered by the last +render+ call.
|
251
|
+
#
|
252
|
+
# The returned object behaves like a string but also exposes a number of methods
|
253
|
+
# that allows you to parse the content string in formats registered using
|
254
|
+
# <tt>.register_parser</tt>.
|
255
|
+
#
|
256
|
+
# By default includes the following parsers:
|
257
|
+
#
|
258
|
+
# +.html+
|
259
|
+
#
|
260
|
+
# Parse the <tt>rendered</tt> content String into HTML. By default, this means
|
261
|
+
# a <tt>Nokogiri::XML::Node</tt>.
|
262
|
+
#
|
263
|
+
# test "renders HTML" do
|
264
|
+
# article = Article.create!(title: "Hello, world")
|
265
|
+
#
|
266
|
+
# render partial: "articles/article", locals: { article: article }
|
267
|
+
#
|
268
|
+
# assert_pattern { rendered.html.at("main h1") => { content: "Hello, world" } }
|
269
|
+
# end
|
270
|
+
#
|
271
|
+
# To parse the rendered content into a <tt>Capybara::Simple::Node</tt>,
|
272
|
+
# re-register an <tt>:html</tt> parser with a call to
|
273
|
+
# <tt>Capybara.string</tt>:
|
274
|
+
#
|
275
|
+
# register_parser :html, -> rendered { Capybara.string(rendered) }
|
276
|
+
#
|
277
|
+
# test "renders HTML" do
|
278
|
+
# article = Article.create!(title: "Hello, world")
|
279
|
+
#
|
280
|
+
# render partial: article
|
281
|
+
#
|
282
|
+
# rendered.html.assert_css "h1", text: "Hello, world"
|
283
|
+
# end
|
284
|
+
#
|
285
|
+
# +.json+
|
286
|
+
#
|
287
|
+
# Parse the <tt>rendered</tt> content String into JSON. By default, this means
|
288
|
+
# a <tt>ActiveSupport::HashWithIndifferentAccess</tt>.
|
289
|
+
#
|
290
|
+
# test "renders JSON" do
|
291
|
+
# article = Article.create!(title: "Hello, world")
|
292
|
+
#
|
293
|
+
# render formats: :json, partial: "articles/article", locals: { article: article }
|
294
|
+
#
|
295
|
+
# assert_pattern { rendered.json => { title: "Hello, world" } }
|
296
|
+
# end
|
297
|
+
|
136
298
|
def _routes
|
137
299
|
@controller._routes if @controller.respond_to?(:_routes)
|
138
300
|
end
|
139
301
|
|
302
|
+
class RenderedViewContent < String # :nodoc:
|
303
|
+
end
|
304
|
+
|
140
305
|
# Need to experiment if this priority is the best one: rendered => output_buffer
|
141
306
|
class RenderedViewsCollection
|
142
307
|
def initialize
|
@@ -163,25 +328,10 @@ module ActionView
|
|
163
328
|
end
|
164
329
|
end
|
165
330
|
|
166
|
-
included do
|
167
|
-
setup :setup_with_controller
|
168
|
-
ActiveSupport.run_load_hooks(:action_view_test_case, self)
|
169
|
-
|
170
|
-
helper do
|
171
|
-
def protect_against_forgery?
|
172
|
-
false
|
173
|
-
end
|
174
|
-
|
175
|
-
def _test_case
|
176
|
-
controller._test_case
|
177
|
-
end
|
178
|
-
end
|
179
|
-
end
|
180
|
-
|
181
331
|
private
|
182
332
|
# Need to experiment if this priority is the best one: rendered => output_buffer
|
183
333
|
def document_root_element
|
184
|
-
|
334
|
+
Rails::Dom::Testing.html_document.parse(@rendered.blank? ? @output_buffer.to_str : @rendered).root
|
185
335
|
end
|
186
336
|
|
187
337
|
module Locals
|
@@ -227,6 +377,10 @@ module ActionView
|
|
227
377
|
:@_result,
|
228
378
|
:@_routes,
|
229
379
|
:@controller,
|
380
|
+
:@_controller,
|
381
|
+
:@_request,
|
382
|
+
:@_config,
|
383
|
+
:@_default_form_builder,
|
230
384
|
:@_layouts,
|
231
385
|
:@_files,
|
232
386
|
:@_rendered_views,
|
@@ -245,7 +399,7 @@ module ActionView
|
|
245
399
|
:@view_context_class,
|
246
400
|
:@view_flow,
|
247
401
|
:@_subscribers,
|
248
|
-
:@html_document
|
402
|
+
:@html_document,
|
249
403
|
]
|
250
404
|
|
251
405
|
def _user_defined_ivars
|
@@ -277,6 +431,7 @@ module ActionView
|
|
277
431
|
super
|
278
432
|
end
|
279
433
|
end
|
434
|
+
ruby2_keywords(:method_missing)
|
280
435
|
|
281
436
|
def respond_to_missing?(name, include_private = false)
|
282
437
|
begin
|
@@ -18,21 +18,31 @@ module ActionView
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def bind_locals(locals)
|
21
|
-
|
22
|
-
template
|
23
|
-
else
|
21
|
+
unless template = @templates[locals]
|
24
22
|
@write_lock.synchronize do
|
25
23
|
normalized_locals = normalize_locals(locals)
|
26
24
|
|
27
25
|
# We need ||=, both to dedup on the normalized locals and to check
|
28
26
|
# while holding the lock.
|
29
|
-
@templates[normalized_locals] ||= build_template(normalized_locals)
|
27
|
+
template = (@templates[normalized_locals] ||= build_template(normalized_locals))
|
30
28
|
|
31
|
-
|
32
|
-
|
33
|
-
|
29
|
+
if template.strict_locals?
|
30
|
+
# Under strict locals, we only need one template.
|
31
|
+
# This replaces the @templates Concurrent::Map with a hash which
|
32
|
+
# returns this template for every key.
|
33
|
+
@templates = Hash.new(template).freeze
|
34
|
+
else
|
35
|
+
# This may have already been assigned, but we've already de-dup'd so
|
36
|
+
# reassignment is fine.
|
37
|
+
@templates[locals.dup] = template
|
38
|
+
end
|
34
39
|
end
|
35
40
|
end
|
41
|
+
template
|
42
|
+
end
|
43
|
+
|
44
|
+
def built_templates # :nodoc:
|
45
|
+
@templates.values
|
36
46
|
end
|
37
47
|
|
38
48
|
private
|
data/lib/action_view/version.rb
CHANGED
@@ -5,7 +5,7 @@ module ActionView
|
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
|
7
7
|
included do
|
8
|
-
|
8
|
+
ActionView::PathRegistry.set_view_paths(self, ActionView::PathSet.new.freeze)
|
9
9
|
end
|
10
10
|
|
11
11
|
delegate :template_exists?, :any_templates?, :view_paths, :formats, :formats=,
|
@@ -13,11 +13,11 @@ module ActionView
|
|
13
13
|
|
14
14
|
module ClassMethods
|
15
15
|
def _view_paths
|
16
|
-
|
16
|
+
ActionView::PathRegistry.get_view_paths(self)
|
17
17
|
end
|
18
18
|
|
19
19
|
def _view_paths=(paths)
|
20
|
-
|
20
|
+
ActionView::PathRegistry.set_view_paths(self, paths)
|
21
21
|
end
|
22
22
|
|
23
23
|
def _prefixes # :nodoc:
|
@@ -28,6 +28,13 @@ module ActionView
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
+
def _build_view_paths(paths) # :nodoc:
|
32
|
+
return paths if ActionView::PathSet === paths
|
33
|
+
|
34
|
+
paths = ActionView::PathRegistry.cast_file_system_resolvers(paths)
|
35
|
+
ActionView::PathSet.new(paths)
|
36
|
+
end
|
37
|
+
|
31
38
|
# Append a path to the list of view paths for this controller.
|
32
39
|
#
|
33
40
|
# ==== Parameters
|
@@ -35,7 +42,7 @@ module ActionView
|
|
35
42
|
# the default view path. You may also provide a custom view path
|
36
43
|
# (see ActionView::PathSet for more information)
|
37
44
|
def append_view_path(path)
|
38
|
-
self._view_paths = view_paths +
|
45
|
+
self._view_paths = view_paths + _build_view_paths(path)
|
39
46
|
end
|
40
47
|
|
41
48
|
# Prepend a path to the list of view paths for this controller.
|
@@ -45,7 +52,7 @@ module ActionView
|
|
45
52
|
# the default view path. You may also provide a custom view path
|
46
53
|
# (see ActionView::PathSet for more information)
|
47
54
|
def prepend_view_path(path)
|
48
|
-
self._view_paths =
|
55
|
+
self._view_paths = _build_view_paths(path) + view_paths
|
49
56
|
end
|
50
57
|
|
51
58
|
# A list of all of the default view paths for this controller.
|
@@ -59,7 +66,7 @@ module ActionView
|
|
59
66
|
# * <tt>paths</tt> - If a PathSet is provided, use that;
|
60
67
|
# otherwise, process the parameter into a PathSet.
|
61
68
|
def view_paths=(paths)
|
62
|
-
self._view_paths =
|
69
|
+
self._view_paths = _build_view_paths(paths)
|
63
70
|
end
|
64
71
|
|
65
72
|
private
|
@@ -70,22 +77,6 @@ module ActionView
|
|
70
77
|
end
|
71
78
|
end
|
72
79
|
|
73
|
-
# :stopdoc:
|
74
|
-
@all_view_paths = {}
|
75
|
-
|
76
|
-
def self.get_view_paths(klass)
|
77
|
-
@all_view_paths[klass] || get_view_paths(klass.superclass)
|
78
|
-
end
|
79
|
-
|
80
|
-
def self.set_view_paths(klass, paths)
|
81
|
-
@all_view_paths[klass] = paths
|
82
|
-
end
|
83
|
-
|
84
|
-
def self.all_view_paths
|
85
|
-
@all_view_paths.values.uniq
|
86
|
-
end
|
87
|
-
# :startdoc:
|
88
|
-
|
89
80
|
# The prefixes used in render "foo" shortcuts.
|
90
81
|
def _prefixes # :nodoc:
|
91
82
|
self.class._prefixes
|
@@ -110,7 +101,7 @@ module ActionView
|
|
110
101
|
# the default view path. You may also provide a custom view path
|
111
102
|
# (see ActionView::PathSet for more information)
|
112
103
|
def append_view_path(path)
|
113
|
-
lookup_context.
|
104
|
+
lookup_context.append_view_paths(self.class._build_view_paths(path))
|
114
105
|
end
|
115
106
|
|
116
107
|
# Prepend a path to the list of view paths for the current LookupContext.
|
@@ -120,7 +111,7 @@ module ActionView
|
|
120
111
|
# the default view path. You may also provide a custom view path
|
121
112
|
# (see ActionView::PathSet for more information)
|
122
113
|
def prepend_view_path(path)
|
123
|
-
lookup_context.
|
114
|
+
lookup_context.prepend_view_paths(self.class._build_view_paths(path))
|
124
115
|
end
|
125
116
|
end
|
126
117
|
end
|
data/lib/action_view.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
#--
|
4
|
-
# Copyright (c)
|
4
|
+
# Copyright (c) David Heinemeier Hansson
|
5
5
|
#
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining
|
7
7
|
# a copy of this software and associated documentation files (the
|
@@ -26,7 +26,9 @@
|
|
26
26
|
require "active_support"
|
27
27
|
require "active_support/rails"
|
28
28
|
require "action_view/version"
|
29
|
+
require "action_view/deprecator"
|
29
30
|
|
31
|
+
# :include: ../README.rdoc
|
30
32
|
module ActionView
|
31
33
|
extend ActiveSupport::Autoload
|
32
34
|
|
@@ -39,6 +41,7 @@ module ActionView
|
|
39
41
|
autoload :Helpers
|
40
42
|
autoload :LookupContext
|
41
43
|
autoload :Layouts
|
44
|
+
autoload :PathRegistry
|
42
45
|
autoload :PathSet
|
43
46
|
autoload :RecordIdentifier
|
44
47
|
autoload :Rendering
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actionview
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.
|
4
|
+
version: 7.1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.
|
19
|
+
version: 7.1.5.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.
|
26
|
+
version: 7.1.5.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: builder
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,76 +44,70 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.11'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.11'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rails-html-sanitizer
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: 1.2.0
|
61
|
+
version: '1.6'
|
65
62
|
type: :runtime
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
66
|
- - "~>"
|
70
67
|
- !ruby/object:Gem::Version
|
71
|
-
version: '1.
|
72
|
-
- - ">="
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: 1.2.0
|
68
|
+
version: '1.6'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
70
|
name: rails-dom-testing
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
73
|
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '2.
|
75
|
+
version: '2.2'
|
82
76
|
type: :runtime
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '2.
|
82
|
+
version: '2.2'
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: actionpack
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
92
86
|
requirements:
|
93
87
|
- - '='
|
94
88
|
- !ruby/object:Gem::Version
|
95
|
-
version: 7.
|
89
|
+
version: 7.1.5.1
|
96
90
|
type: :development
|
97
91
|
prerelease: false
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
94
|
- - '='
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version: 7.
|
96
|
+
version: 7.1.5.1
|
103
97
|
- !ruby/object:Gem::Dependency
|
104
98
|
name: activemodel
|
105
99
|
requirement: !ruby/object:Gem::Requirement
|
106
100
|
requirements:
|
107
101
|
- - '='
|
108
102
|
- !ruby/object:Gem::Version
|
109
|
-
version: 7.
|
103
|
+
version: 7.1.5.1
|
110
104
|
type: :development
|
111
105
|
prerelease: false
|
112
106
|
version_requirements: !ruby/object:Gem::Requirement
|
113
107
|
requirements:
|
114
108
|
- - '='
|
115
109
|
- !ruby/object:Gem::Version
|
116
|
-
version: 7.
|
110
|
+
version: 7.1.5.1
|
117
111
|
description: Simple, battle-tested conventions and helpers for building web pages.
|
118
112
|
email: david@loudthinking.com
|
119
113
|
executables: []
|
@@ -123,6 +117,8 @@ files:
|
|
123
117
|
- CHANGELOG.md
|
124
118
|
- MIT-LICENSE
|
125
119
|
- README.rdoc
|
120
|
+
- app/assets/javascripts/rails-ujs.esm.js
|
121
|
+
- app/assets/javascripts/rails-ujs.js
|
126
122
|
- lib/action_view.rb
|
127
123
|
- lib/action_view/base.rb
|
128
124
|
- lib/action_view/buffers.rb
|
@@ -131,6 +127,7 @@ files:
|
|
131
127
|
- lib/action_view/dependency_tracker.rb
|
132
128
|
- lib/action_view/dependency_tracker/erb_tracker.rb
|
133
129
|
- lib/action_view/dependency_tracker/ripper_tracker.rb
|
130
|
+
- lib/action_view/deprecator.rb
|
134
131
|
- lib/action_view/digestor.rb
|
135
132
|
- lib/action_view/flows.rb
|
136
133
|
- lib/action_view/gem_version.rb
|
@@ -141,6 +138,7 @@ files:
|
|
141
138
|
- lib/action_view/helpers/atom_feed_helper.rb
|
142
139
|
- lib/action_view/helpers/cache_helper.rb
|
143
140
|
- lib/action_view/helpers/capture_helper.rb
|
141
|
+
- lib/action_view/helpers/content_exfiltration_prevention_helper.rb
|
144
142
|
- lib/action_view/helpers/controller_helper.rb
|
145
143
|
- lib/action_view/helpers/csp_helper.rb
|
146
144
|
- lib/action_view/helpers/csrf_helper.rb
|
@@ -182,6 +180,7 @@ files:
|
|
182
180
|
- lib/action_view/helpers/tags/range_field.rb
|
183
181
|
- lib/action_view/helpers/tags/search_field.rb
|
184
182
|
- lib/action_view/helpers/tags/select.rb
|
183
|
+
- lib/action_view/helpers/tags/select_renderer.rb
|
185
184
|
- lib/action_view/helpers/tags/tel_field.rb
|
186
185
|
- lib/action_view/helpers/tags/text_area.rb
|
187
186
|
- lib/action_view/helpers/tags/text_field.rb
|
@@ -200,6 +199,7 @@ files:
|
|
200
199
|
- lib/action_view/log_subscriber.rb
|
201
200
|
- lib/action_view/lookup_context.rb
|
202
201
|
- lib/action_view/model_naming.rb
|
202
|
+
- lib/action_view/path_registry.rb
|
203
203
|
- lib/action_view/path_set.rb
|
204
204
|
- lib/action_view/railtie.rb
|
205
205
|
- lib/action_view/record_identifier.rb
|
@@ -240,16 +240,15 @@ files:
|
|
240
240
|
- lib/action_view/unbound_template.rb
|
241
241
|
- lib/action_view/version.rb
|
242
242
|
- lib/action_view/view_paths.rb
|
243
|
-
- lib/assets/compiled/rails-ujs.js
|
244
243
|
homepage: https://rubyonrails.org
|
245
244
|
licenses:
|
246
245
|
- MIT
|
247
246
|
metadata:
|
248
247
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
249
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.
|
250
|
-
documentation_uri: https://api.rubyonrails.org/v7.
|
248
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.5.1/actionview/CHANGELOG.md
|
249
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.5.1/
|
251
250
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
252
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.
|
251
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.5.1/actionview
|
253
252
|
rubygems_mfa_required: 'true'
|
254
253
|
post_install_message:
|
255
254
|
rdoc_options: []
|