actionview 6.1.7.10 → 7.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionview might be problematic. Click here for more details.

Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -409
  3. data/MIT-LICENSE +2 -1
  4. data/lib/action_view/base.rb +3 -3
  5. data/lib/action_view/buffers.rb +2 -2
  6. data/lib/action_view/cache_expiry.rb +46 -32
  7. data/lib/action_view/dependency_tracker/erb_tracker.rb +154 -0
  8. data/lib/action_view/dependency_tracker/ripper_tracker.rb +59 -0
  9. data/lib/action_view/dependency_tracker.rb +6 -147
  10. data/lib/action_view/digestor.rb +7 -4
  11. data/lib/action_view/flows.rb +4 -4
  12. data/lib/action_view/gem_version.rb +4 -4
  13. data/lib/action_view/helpers/active_model_helper.rb +1 -1
  14. data/lib/action_view/helpers/asset_tag_helper.rb +84 -29
  15. data/lib/action_view/helpers/asset_url_helper.rb +7 -7
  16. data/lib/action_view/helpers/atom_feed_helper.rb +3 -4
  17. data/lib/action_view/helpers/cache_helper.rb +51 -3
  18. data/lib/action_view/helpers/capture_helper.rb +2 -2
  19. data/lib/action_view/helpers/controller_helper.rb +2 -2
  20. data/lib/action_view/helpers/csp_helper.rb +1 -1
  21. data/lib/action_view/helpers/csrf_helper.rb +1 -1
  22. data/lib/action_view/helpers/date_helper.rb +6 -7
  23. data/lib/action_view/helpers/debug_helper.rb +3 -1
  24. data/lib/action_view/helpers/form_helper.rb +72 -12
  25. data/lib/action_view/helpers/form_options_helper.rb +65 -33
  26. data/lib/action_view/helpers/form_tag_helper.rb +75 -32
  27. data/lib/action_view/helpers/javascript_helper.rb +3 -5
  28. data/lib/action_view/helpers/number_helper.rb +3 -4
  29. data/lib/action_view/helpers/output_safety_helper.rb +2 -2
  30. data/lib/action_view/helpers/rendering_helper.rb +1 -1
  31. data/lib/action_view/helpers/sanitize_helper.rb +2 -2
  32. data/lib/action_view/helpers/tag_helper.rb +25 -44
  33. data/lib/action_view/helpers/tags/base.rb +3 -15
  34. data/lib/action_view/helpers/tags/check_box.rb +2 -2
  35. data/lib/action_view/helpers/tags/collection_select.rb +1 -1
  36. data/lib/action_view/helpers/tags/hidden_field.rb +0 -4
  37. data/lib/action_view/helpers/tags/time_field.rb +10 -1
  38. data/lib/action_view/helpers/tags/weekday_select.rb +27 -0
  39. data/lib/action_view/helpers/tags.rb +3 -2
  40. data/lib/action_view/helpers/text_helper.rb +24 -13
  41. data/lib/action_view/helpers/translation_helper.rb +1 -2
  42. data/lib/action_view/helpers/url_helper.rb +102 -77
  43. data/lib/action_view/helpers.rb +25 -25
  44. data/lib/action_view/lookup_context.rb +33 -52
  45. data/lib/action_view/model_naming.rb +1 -1
  46. data/lib/action_view/path_set.rb +16 -22
  47. data/lib/action_view/railtie.rb +14 -1
  48. data/lib/action_view/render_parser.rb +188 -0
  49. data/lib/action_view/renderer/abstract_renderer.rb +2 -2
  50. data/lib/action_view/renderer/partial_renderer.rb +0 -34
  51. data/lib/action_view/renderer/renderer.rb +4 -4
  52. data/lib/action_view/renderer/streaming_template_renderer.rb +3 -3
  53. data/lib/action_view/renderer/template_renderer.rb +6 -2
  54. data/lib/action_view/rendering.rb +2 -2
  55. data/lib/action_view/ripper_ast_parser.rb +198 -0
  56. data/lib/action_view/routing_url_for.rb +1 -1
  57. data/lib/action_view/template/error.rb +108 -13
  58. data/lib/action_view/template/handlers/erb.rb +6 -0
  59. data/lib/action_view/template/handlers.rb +3 -3
  60. data/lib/action_view/template/html.rb +3 -3
  61. data/lib/action_view/template/inline.rb +3 -3
  62. data/lib/action_view/template/raw_file.rb +3 -3
  63. data/lib/action_view/template/resolver.rb +84 -311
  64. data/lib/action_view/template/text.rb +3 -3
  65. data/lib/action_view/template/types.rb +14 -12
  66. data/lib/action_view/template.rb +10 -1
  67. data/lib/action_view/template_details.rb +66 -0
  68. data/lib/action_view/template_path.rb +64 -0
  69. data/lib/action_view/test_case.rb +6 -2
  70. data/lib/action_view/testing/resolvers.rb +11 -12
  71. data/lib/action_view/unbound_template.rb +33 -7
  72. data/lib/action_view.rb +3 -4
  73. data/lib/assets/compiled/rails-ujs.js +5 -36
  74. metadata +22 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17c1300730a9997c80bc9c2e44ec483678c92f9ee959f50f9d3fffaf3f38c0cb
4
- data.tar.gz: 5e3eeb3ba7ef2fc1cdbcfc43eeeac68a70391a989e63bb5b706fa2a8f42a7406
3
+ metadata.gz: 488edff5bf41873248138efbc0c8ee4ecd1809793a99ebe520870d35e2a6e459
4
+ data.tar.gz: 429fd7c60ef3fb02df47871d05a7289cfda25e21586928dc1accebaa45678a7d
5
5
  SHA512:
6
- metadata.gz: 1adf946436305fbeeb4681cf1b88869345b2743859e54bc674d54e1808a242ff33599341f8a4eebaf7880364e73e642c96ae3d83ebbcfe1580bbd2c26e58d9af
7
- data.tar.gz: 95afdf605a222f44b5386fa763d8e23211e7d0a53da0b2f243c6844e1c97e847647cdfe0b80a47199120c1feff75a5d69f66a5e86e48236daa113b67e313e50d
6
+ metadata.gz: 3db204604fb84ce3ab96976aad76fffb4938a2ec6ad7f965b2dc59a785622888867f92df3282ae560d6fb594fecc215a1c18340329ea912bed58c74d457e6824
7
+ data.tar.gz: 7eb29f984ea723f25728f8ae0c06127b7728501e18e690b0b73972d34a3bd467783760c293d50bc474f1fba9ddc824c02678af7653edcab8a5703766a572b96f
data/CHANGELOG.md CHANGED
@@ -1,193 +1,109 @@
1
- ## Rails 6.1.7.10 (October 23, 2024) ##
1
+ ## Rails 7.0.0.alpha1 (September 15, 2021) ##
2
2
 
3
- * No changes.
3
+ * Improves the performance of ActionView::Helpers::NumberHelper formatters by avoiding the use of
4
+ exceptions as flow control.
4
5
 
6
+ *Mike Dalessio*
5
7
 
6
- ## Rails 6.1.7.9 (October 15, 2024) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 6.1.7.8 (June 04, 2024) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 6.1.7.7 (February 21, 2024) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 6.1.7.6 (August 22, 2023) ##
22
-
23
- * No changes.
24
-
25
-
26
- ## Rails 6.1.7.5 (August 22, 2023) ##
27
-
28
- * No changes.
29
-
30
-
31
- ## Rails 6.1.7.4 (June 26, 2023) ##
32
-
33
- * No changes.
34
-
35
-
36
- ## Rails 6.1.7.3 (March 13, 2023) ##
37
-
38
- * Ignore certain data-* attributes in rails-ujs when element is contenteditable
39
-
40
- [CVE-2023-23913]
41
-
42
-
43
- ## Rails 6.1.7.2 (January 24, 2023) ##
44
-
45
- * No changes.
46
-
47
-
48
- ## Rails 6.1.7.1 (January 17, 2023) ##
49
-
50
- * No changes.
51
-
52
-
53
- ## Rails 6.1.7 (September 09, 2022) ##
54
-
55
- * No changes.
56
-
57
-
58
- ## Rails 6.1.6.1 (July 12, 2022) ##
59
-
60
- * No changes.
61
-
62
-
63
- ## Rails 6.1.6 (May 09, 2022) ##
64
-
65
- * No changes.
66
-
67
-
68
- ## Rails 6.1.5.1 (April 26, 2022) ##
69
-
70
- * Fix and add protections for XSS in `ActionView::Helpers` and `ERB::Util`.
71
-
72
- Escape dangerous characters in names of tags and names of attributes in the
73
- tag helpers, following the XML specification. Rename the option
74
- `:escape_attributes` to `:escape`, to simplify by applying the option to the
75
- whole tag.
76
-
77
- *Álvaro Martín Fraguas*
78
-
79
- ## Rails 6.1.5 (March 09, 2022) ##
80
-
81
- * `preload_link_tag` properly inserts `as` attributes for files with `image` MIME
82
- types, such as JPG or SVG.
8
+ * `preload_link_tag` properly inserts `as` attributes for files with `image` MIME types, such as JPG or SVG.
83
9
 
84
10
  *Nate Berkopec*
85
11
 
86
- * Add `autocomplete="off"` to all generated hidden fields.
87
-
88
- Fixes #42610.
89
-
90
- *Ryan Baumann*
91
-
92
- * Fix `current_page?` when URL has trailing slash.
93
-
94
- This fixes the `current_page?` helper when the given URL has a trailing slash,
95
- and is an absolute URL or also has query params.
12
+ * Add `weekday_options_for_select` and `weekday_select` helper methods. Also adds `weekday_select` to `FormBuilder`.
96
13
 
97
- Fixes #33956.
14
+ *Drew Bragg*, *Dana Kashubeck*, *Kasper Timm Hansen*
98
15
 
99
- *Jonathan Hefner*
100
-
101
-
102
- ## Rails 6.1.4.7 (March 08, 2022) ##
103
-
104
- * No changes.
105
-
106
-
107
- ## Rails 6.1.4.6 (February 11, 2022) ##
16
+ * Add `caching?` helper that returns whether the current code path is being cached and `uncacheable!` to denote helper methods that can't participate in fragment caching.
108
17
 
109
- * No changes.
18
+ *Ben Toews*, *John Hawthorn*, *Kasper Timm Hansen*, *Joel Hawksley*
110
19
 
20
+ * Add `include_seconds` option for `time_field`.
111
21
 
112
- ## Rails 6.1.4.5 (February 11, 2022) ##
22
+ <%= form.time_field :foo, include_seconds: false %>
23
+ # => <input value="16:22" type="time" />
113
24
 
114
- * No changes.
25
+ Default includes seconds:
115
26
 
27
+ <%= form.time_field :foo %>
28
+ # => <input value="16:22:01.440" type="time" />
116
29
 
117
- ## Rails 6.1.4.4 (December 15, 2021) ##
30
+ This allows you to take advantage of [different rendering options](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#time_value_format) in some browsers.
118
31
 
119
- * No changes.
32
+ *Alex Ghiculescu*
120
33
 
34
+ * Improve error messages when template file does not exist at absolute filepath.
121
35
 
122
- ## Rails 6.1.4.3 (December 14, 2021) ##
36
+ *Ted Whang*
123
37
 
124
- * No changes.
38
+ * Add `:country_code` option to `sms_to` for consistency with `phone_to`.
125
39
 
40
+ *Jonathan Hefner*
126
41
 
127
- ## Rails 6.1.4.2 (December 14, 2021) ##
128
-
129
- * No changes.
130
-
131
-
132
- ## Rails 6.1.4.1 (August 19, 2021) ##
133
-
134
- * No changes.
135
-
42
+ * OpenSSL constants are now used for Digest computations.
136
43
 
137
- ## Rails 6.1.4 (June 24, 2021) ##
44
+ *Dirkjan Bussink*
138
45
 
139
46
  * The `translate` helper now passes `default` values that aren't
140
47
  translation keys through `I18n.translate` for interpolation.
141
48
 
142
49
  *Jonathan Hefner*
143
50
 
144
- * Don't attach UJS form submission handlers to Turbo forms.
51
+ * Adds option `extname` to `stylesheet_link_tag` to skip default
52
+ `.css` extension appended to the stylesheet path.
145
53
 
146
- *David Heinemeier Hansson*
54
+ Before:
147
55
 
148
- * Allow both `current_page?(url_hash)` and `current_page?(**url_hash)` on Ruby 2.7.
149
-
150
- *Ryuta Kamizono*
151
-
152
-
153
- ## Rails 6.1.3.2 (May 05, 2021) ##
154
-
155
- * No changes.
156
-
157
-
158
- ## Rails 6.1.3.1 (March 26, 2021) ##
159
-
160
- * No changes.
161
-
162
-
163
- ## Rails 6.1.3 (February 17, 2021) ##
164
-
165
- * No changes.
56
+ ```ruby
57
+ stylesheet_link_tag "style.less"
58
+ # <link href="/stylesheets/style.less.scss" rel="stylesheet">
59
+ ```
166
60
 
61
+ After:
167
62
 
168
- ## Rails 6.1.2.1 (February 10, 2021) ##
63
+ ```ruby
64
+ stylesheet_link_tag "style.less", extname: false, skip_pipeline: true, rel: "stylesheet/less"
65
+ # <link href="/stylesheets/style.less" rel="stylesheet/less">
66
+ ```
169
67
 
170
- * No changes.
68
+ *Abhay Nikam*
171
69
 
70
+ * Deprecate `render` locals to be assigned to instance variables.
172
71
 
173
- ## Rails 6.1.2 (February 09, 2021) ##
72
+ *Petrik de Heus*
174
73
 
175
- * No changes.
74
+ * Remove legacy default `media=screen` from `stylesheet_link_tag`.
176
75
 
76
+ *André Luis Leal Cardoso Junior*
177
77
 
178
- ## Rails 6.1.1 (January 07, 2021) ##
78
+ * Change `ActionView::Helpers::FormBuilder#button` to transform `formmethod`
79
+ attributes into `_method="$VERB"` Form Data to enable varied same-form actions:
179
80
 
180
- * Fix lazy translation in partial with block.
81
+ <%= form_with model: post, method: :put do %>
82
+ <%= form.button "Update" %>
83
+ <%= form.button "Delete", formmethod: :delete %>
84
+ <% end %>
85
+ <%# => <form action="posts/1">
86
+ => <input type="hidden" name="_method" value="put">
87
+ => <button type="submit">Update</button>
88
+ => <button type="submit" formmethod="post" name="_method" value="delete">Delete</button>
89
+ => </form>
90
+ %>
181
91
 
182
- *Marek Kasztelnik*
92
+ *Sean Doyle*
183
93
 
184
- * Avoid extra `SELECT COUNT` queries when rendering Active Record collections.
94
+ * Change `ActionView::Helpers::UrlHelper#button_to` to *always* render a
95
+ `<button>` element, regardless of whether or not the content is passed as
96
+ the first argument or as a block.
185
97
 
186
- *aar0nr*
98
+ <%= button_to "Delete", post_path(@post), method: :delete %>
99
+ # => <form action="/posts/1"><input type="hidden" name="_method" value="delete"><button type="submit">Delete</button></form>
187
100
 
188
- * Link preloading keep integrity hashes in the header.
101
+ <%= button_to post_path(@post), method: :delete do %>
102
+ Delete
103
+ <% end %>
104
+ # => <form action="/posts/1"><input type="hidden" name="_method" value="delete"><button type="submit">Delete</button></form>
189
105
 
190
- *Étienne Barrié*
106
+ *Sean Doyle*, *Dusan Orlovic*
191
107
 
192
108
  * Add `config.action_view.preload_links_header` to allow disabling of
193
109
  the `Link` header being added by default when using `stylesheet_link_tag`
@@ -200,282 +116,46 @@
200
116
 
201
117
  *Jonathan Hefner*
202
118
 
119
+ * Add `config.action_view.image_loading` to configure the default value of
120
+ the `image_tag` `:loading` option.
203
121
 
204
- ## Rails 6.1.0 (December 09, 2020) ##
205
-
206
- * SanitizeHelper.sanitized_allowed_attributes and SanitizeHelper.sanitized_allowed_tags
207
- call safe_list_sanitizer's class method
208
-
209
- Fixes #39586
210
-
211
- *Taufiq Muhammadi*
212
-
213
- * Change form_with to generate non-remote forms by default.
214
-
215
- `form_with` would generate a remote form by default. This would confuse
216
- users because they were forced to handle remote requests.
122
+ By setting `config.action_view.image_loading = "lazy"`, an application can opt in to
123
+ lazy loading images sitewide, without changing view code.
217
124
 
218
- All new 6.1 applications will generate non-remote forms by default.
219
- When upgrading a 6.0 application you can enable remote forms by default by
220
- setting `config.action_view.form_with_generates_remote_forms` to `true`.
221
-
222
- *Petrik de Heus*
223
-
224
- * Yield translated strings to calls of `ActionView::FormBuilder#button`
225
- when a block is given.
226
-
227
- *Sean Doyle*
228
-
229
- * Alias `ActionView::Helpers::Tags::Label::LabelBuilder#translation` to
230
- `#to_s` so that `form.label` calls can yield that value to their blocks.
231
-
232
- *Sean Doyle*
233
-
234
- * Rename the new `TagHelper#class_names` method to `TagHelper#token_list`,
235
- and make the original available as an alias.
125
+ *Jonathan Hefner*
236
126
 
237
- token_list("foo", "foo bar")
238
- # => "foo bar"
127
+ * `ActionView::Helpers::FormBuilder#id` returns the value
128
+ of the `<form>` element's `id` attribute. With a `method` argument, returns
129
+ the `id` attribute for a form field with that name.
239
130
 
240
- *Sean Doyle*
131
+ <%= form_for @post do |f| %>
132
+ <%# ... %>
241
133
 
242
- * ARIA Array and Hash attributes are treated as space separated `DOMTokenList`
243
- values. This is useful when declaring lists of label text identifiers in
244
- `aria-labelledby` or `aria-describedby`.
245
-
246
- tag.input type: 'checkbox', name: 'published', aria: {
247
- invalid: @post.errors[:published].any?,
248
- labelledby: ['published_context', 'published_label'],
249
- describedby: { published_errors: @post.errors[:published].any? }
250
- }
251
- #=> <input
252
- type="checkbox" name="published" aria-invalid="true"
253
- aria-labelledby="published_context published_label"
254
- aria-describedby="published_errors"
255
- >
134
+ <% content_for :sticky_footer do %>
135
+ <%= form.button(form: f.id) %>
136
+ <% end %>
137
+ <% end %>
256
138
 
257
139
  *Sean Doyle*
258
140
 
259
- * Remove deprecated `escape_whitelist` from `ActionView::Template::Handlers::ERB`.
260
-
261
- *Rafael Mendonça França*
262
-
263
- * Remove deprecated `find_all_anywhere` from `ActionView::Resolver`.
264
-
265
- *Rafael Mendonça França*
266
-
267
- * Remove deprecated `formats` from `ActionView::Template::HTML`.
268
-
269
- *Rafael Mendonça França*
270
-
271
- * Remove deprecated `formats` from `ActionView::Template::RawFile`.
272
-
273
- *Rafael Mendonça França*
274
-
275
- * Remove deprecated `formats` from `ActionView::Template::Text`.
276
-
277
- *Rafael Mendonça França*
278
-
279
- * Remove deprecated `find_file` from `ActionView::PathSet`.
280
-
281
- *Rafael Mendonça França*
282
-
283
- * Remove deprecated `rendered_format` from `ActionView::LookupContext`.
284
-
285
- *Rafael Mendonça França*
286
-
287
- * Remove deprecated `find_file` from `ActionView::ViewPaths`.
288
-
289
- *Rafael Mendonça França*
290
-
291
- * Require that `ActionView::Base` subclasses implement `#compiled_method_container`.
292
-
293
- *Rafael Mendonça França*
294
-
295
- * Remove deprecated support to pass an object that is not a `ActionView::LookupContext` as the first argument
296
- in `ActionView::Base#initialize`.
297
-
298
- *Rafael Mendonça França*
299
-
300
- * Remove deprecated `format` argument `ActionView::Base#initialize`.
301
-
302
- *Rafael Mendonça França*
303
-
304
- * Remove deprecated `ActionView::Template#refresh`.
305
-
306
- *Rafael Mendonça França*
307
-
308
- * Remove deprecated `ActionView::Template#original_encoding`.
309
-
310
- *Rafael Mendonça França*
311
-
312
- * Remove deprecated `ActionView::Template#variants`.
313
-
314
- *Rafael Mendonça França*
315
-
316
- * Remove deprecated `ActionView::Template#formats`.
317
-
318
- *Rafael Mendonça França*
319
-
320
- * Remove deprecated `ActionView::Template#virtual_path=`.
321
-
322
- *Rafael Mendonça França*
323
-
324
- * Remove deprecated `ActionView::Template#updated_at`.
325
-
326
- *Rafael Mendonça França*
327
-
328
- * Remove deprecated `updated_at` argument required on `ActionView::Template#initialize`.
329
-
330
- *Rafael Mendonça França*
331
-
332
- * Make `locals` argument required on `ActionView::Template#initialize`.
333
-
334
- *Rafael Mendonça França*
335
-
336
- * Remove deprecated `ActionView::Template.finalize_compiled_template_methods`.
337
-
338
- *Rafael Mendonça França*
339
-
340
- * Remove deprecated `config.action_view.finalize_compiled_template_methods`
341
-
342
- *Rafael Mendonça França*
343
-
344
- * Remove deprecated support to calling `ActionView::ViewPaths#with_fallback` with a block.
345
-
346
- *Rafael Mendonça França*
347
-
348
- * Remove deprecated support to passing absolute paths to `render template:`.
349
-
350
- *Rafael Mendonça França*
141
+ * `ActionView::Helpers::FormBuilder#field_id` returns the value generated by
142
+ the FormBuilder for the given attribute name.
351
143
 
352
- * Remove deprecated support to passing relative paths to `render file:`.
353
-
354
- *Rafael Mendonça França*
355
-
356
- * Remove support to template handlers that don't accept two arguments.
357
-
358
- *Rafael Mendonça França*
359
-
360
- * Remove deprecated pattern argument in `ActionView::Template::PathResolver`.
361
-
362
- *Rafael Mendonça França*
363
-
364
- * Remove deprecated support to call private methods from object in some view helpers.
365
-
366
- *Rafael Mendonça França*
367
-
368
- * `ActionView::Helpers::TranslationHelper#translate` accepts a block, yielding
369
- the translated text and the fully resolved translation key:
370
-
371
- <%= translate(".relative_key") do |translation, resolved_key| %>
372
- <span title="<%= resolved_key %>"><%= translation %></span>
144
+ <%= form_for @post do |f| %>
145
+ <%= f.label :title %>
146
+ <%= f.text_field :title, aria: { describedby: f.field_id(:title, :error) } %>
147
+ <%= tag.span("is blank", id: f.field_id(:title, :error) %>
373
148
  <% end %>
374
149
 
375
150
  *Sean Doyle*
376
151
 
377
- * Ensure cache fragment digests include all relevant template dependencies when
378
- fragments are contained in a block passed to the render helper. Remove the
379
- virtual_path keyword arguments found in CacheHelper as they no longer possess
380
- any function following 1581cab.
381
-
382
- Fixes #38984.
383
-
384
- *Aaron Lipman*
385
-
386
- * Deprecate `config.action_view.raise_on_missing_translations` in favor of
387
- `config.i18n.raise_on_missing_translations`.
388
-
389
- New generalized configuration option now determines whether an error should be raised
390
- for missing translations in controllers and views.
391
-
392
- *fatkodima*
393
-
394
- * Instrument layout rendering in `TemplateRenderer#render_with_layout` as `render_layout.action_view`,
395
- and include (when necessary) the layout's virtual path in notification payloads for collection and partial renders.
396
-
397
- *Zach Kemp*
398
-
399
- * `ActionView::Base.annotate_rendered_view_with_filenames` annotates HTML output with template file names.
400
-
401
- *Joel Hawksley*, *Aaron Patterson*
402
-
403
- * `ActionView::Helpers::TranslationHelper#translate` returns nil when
404
- passed `default: nil` without a translation matching `I18n#translate`.
405
-
406
- *Stefan Wrobel*
407
-
408
- * `OptimizedFileSystemResolver` prefers template details in order of locale,
409
- formats, variants, handlers.
410
-
411
- *Iago Pimenta*
412
-
413
- * Added `class_names` helper to create a CSS class value with conditional classes.
152
+ * Add `tag.attributes` to transform a Hash into HTML Attributes, ready to be
153
+ interpolated into ERB.
414
154
 
415
- *Joel Hawksley*, *Aaron Patterson*
155
+ <input <%= tag.attributes(type: :text, aria: { label: "Search" }) %> >
156
+ # => <input type="text" aria-label="Search">
416
157
 
417
- * Add support for conditional values to TagBuilder.
418
-
419
- *Joel Hawksley*
420
-
421
- * `ActionView::Helpers::FormOptionsHelper#select` should mark option for `nil` as selected.
422
-
423
- ```ruby
424
- @post = Post.new
425
- @post.category = nil
426
-
427
- # Before
428
- select("post", "category", none: nil, programming: 1, economics: 2)
429
- # =>
430
- # <select name="post[category]" id="post_category">
431
- # <option value="">none</option>
432
- # <option value="1">programming</option>
433
- # <option value="2">economics</option>
434
- # </select>
435
-
436
- # After
437
- select("post", "category", none: nil, programming: 1, economics: 2)
438
- # =>
439
- # <select name="post[category]" id="post_category">
440
- # <option selected="selected" value="">none</option>
441
- # <option value="1">programming</option>
442
- # <option value="2">economics</option>
443
- # </select>
444
- ```
445
-
446
- *bogdanvlviv*
447
-
448
- * Log lines for partial renders and started template renders are now
449
- emitted at the `DEBUG` level instead of `INFO`.
450
-
451
- Completed template renders are still logged at the `INFO` level.
452
-
453
- *DHH*
454
-
455
- * ActionView::Helpers::SanitizeHelper: support rails-html-sanitizer 1.1.0.
456
-
457
- *Juanito Fatas*
458
-
459
- * Added `phone_to` helper method to create a link from mobile numbers.
460
-
461
- *Pietro Moro*
462
-
463
- * annotated_source_code returns an empty array so TemplateErrors without a
464
- template in the backtrace are surfaced properly by DebugExceptions.
465
-
466
- *Guilherme Mansur*, *Kasper Timm Hansen*
467
-
468
- * Add autoload for SyntaxErrorInTemplate so syntax errors are correctly raised by DebugExceptions.
469
-
470
- *Guilherme Mansur*, *Gannon McGibbon*
471
-
472
- * `RenderingHelper` supports rendering objects that `respond_to?` `:render_in`.
473
-
474
- *Joel Hawksley*, *Natasha Umer*, *Aaron Patterson*, *Shawn Allen*, *Emily Plummer*, *Diana Mounter*, *John Hawthorn*, *Nathan Herald*, *Zaid Zawaideh*, *Zach Ahn*
475
-
476
- * Fix `select_tag` so that it doesn't change `options` when `include_blank` is present.
477
-
478
- *Younes SERRAJ*
158
+ *Sean Doyle*
479
159
 
480
160
 
481
- Please check [6-0-stable](https://github.com/rails/rails/blob/6-0-stable/actionview/CHANGELOG.md) for previous changes.
161
+ Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/actionview/CHANGELOG.md) for previous changes.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2004-2022 David Heinemeier Hansson
1
+ Copyright (c) 2004-2021 David Heinemeier Hansson
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -18,3 +18,4 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
18
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
19
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
20
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
@@ -9,7 +9,7 @@ require "action_view/context"
9
9
  require "action_view/template"
10
10
  require "action_view/lookup_context"
11
11
 
12
- module ActionView #:nodoc:
12
+ module ActionView # :nodoc:
13
13
  # = Action View Base
14
14
  #
15
15
  # Action View templates can be written in several ways.
@@ -179,7 +179,7 @@ module ActionView #:nodoc:
179
179
  ActionView::Resolver.caching = value
180
180
  end
181
181
 
182
- def xss_safe? #:nodoc:
182
+ def xss_safe? # :nodoc:
183
183
  true
184
184
  end
185
185
 
@@ -227,7 +227,7 @@ module ActionView #:nodoc:
227
227
 
228
228
  # :startdoc:
229
229
 
230
- def initialize(lookup_context, assigns, controller) #:nodoc:
230
+ def initialize(lookup_context, assigns, controller) # :nodoc:
231
231
  @_config = ActiveSupport::InheritableOptions.new
232
232
 
233
233
  @lookup_context = lookup_context
@@ -18,7 +18,7 @@ module ActionView
18
18
  # sbuf << 5
19
19
  # puts sbuf # => "hello\u0005"
20
20
  #
21
- class OutputBuffer < ActiveSupport::SafeBuffer #:nodoc:
21
+ class OutputBuffer < ActiveSupport::SafeBuffer # :nodoc:
22
22
  def initialize(*)
23
23
  super
24
24
  encode!
@@ -38,7 +38,7 @@ module ActionView
38
38
  alias :safe_append= :safe_concat
39
39
  end
40
40
 
41
- class StreamingBuffer #:nodoc:
41
+ class StreamingBuffer # :nodoc:
42
42
  def initialize(block)
43
43
  @block = block
44
44
  end