actionview 4.2.11.1 → 5.2.4

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -286
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +5 -6
  5. data/lib/action_view/base.rb +38 -28
  6. data/lib/action_view/buffers.rb +3 -1
  7. data/lib/action_view/context.rb +3 -3
  8. data/lib/action_view/dependency_tracker.rb +54 -20
  9. data/lib/action_view/digestor.rb +94 -83
  10. data/lib/action_view/flows.rb +11 -11
  11. data/lib/action_view/gem_version.rb +5 -3
  12. data/lib/action_view/helpers/active_model_helper.rb +17 -11
  13. data/lib/action_view/helpers/asset_tag_helper.rb +244 -62
  14. data/lib/action_view/helpers/asset_url_helper.rb +170 -67
  15. data/lib/action_view/helpers/atom_feed_helper.rb +19 -17
  16. data/lib/action_view/helpers/cache_helper.rb +105 -42
  17. data/lib/action_view/helpers/capture_helper.rb +16 -13
  18. data/lib/action_view/helpers/controller_helper.rb +15 -4
  19. data/lib/action_view/helpers/csp_helper.rb +24 -0
  20. data/lib/action_view/helpers/csrf_helper.rb +7 -5
  21. data/lib/action_view/helpers/date_helper.rb +170 -112
  22. data/lib/action_view/helpers/debug_helper.rb +7 -6
  23. data/lib/action_view/helpers/form_helper.rb +521 -127
  24. data/lib/action_view/helpers/form_options_helper.rb +109 -63
  25. data/lib/action_view/helpers/form_tag_helper.rb +110 -67
  26. data/lib/action_view/helpers/javascript_helper.rb +24 -11
  27. data/lib/action_view/helpers/number_helper.rb +77 -58
  28. data/lib/action_view/helpers/output_safety_helper.rb +36 -4
  29. data/lib/action_view/helpers/record_tag_helper.rb +14 -99
  30. data/lib/action_view/helpers/rendering_helper.rb +6 -5
  31. data/lib/action_view/helpers/sanitize_helper.rb +20 -15
  32. data/lib/action_view/helpers/tag_helper.rb +198 -73
  33. data/lib/action_view/helpers/tags/base.rb +134 -97
  34. data/lib/action_view/helpers/tags/check_box.rb +20 -18
  35. data/lib/action_view/helpers/tags/checkable.rb +4 -2
  36. data/lib/action_view/helpers/tags/collection_check_boxes.rb +12 -33
  37. data/lib/action_view/helpers/tags/collection_helpers.rb +70 -36
  38. data/lib/action_view/helpers/tags/collection_radio_buttons.rb +6 -11
  39. data/lib/action_view/helpers/tags/collection_select.rb +4 -2
  40. data/lib/action_view/helpers/tags/color_field.rb +3 -1
  41. data/lib/action_view/helpers/tags/date_field.rb +2 -0
  42. data/lib/action_view/helpers/tags/date_select.rb +38 -36
  43. data/lib/action_view/helpers/tags/datetime_field.rb +4 -2
  44. data/lib/action_view/helpers/tags/datetime_local_field.rb +2 -0
  45. data/lib/action_view/helpers/tags/datetime_select.rb +2 -0
  46. data/lib/action_view/helpers/tags/email_field.rb +2 -0
  47. data/lib/action_view/helpers/tags/file_field.rb +2 -0
  48. data/lib/action_view/helpers/tags/grouped_collection_select.rb +4 -2
  49. data/lib/action_view/helpers/tags/hidden_field.rb +2 -0
  50. data/lib/action_view/helpers/tags/label.rb +3 -1
  51. data/lib/action_view/helpers/tags/month_field.rb +2 -0
  52. data/lib/action_view/helpers/tags/number_field.rb +2 -0
  53. data/lib/action_view/helpers/tags/password_field.rb +3 -1
  54. data/lib/action_view/helpers/tags/placeholderable.rb +3 -1
  55. data/lib/action_view/helpers/tags/radio_button.rb +7 -5
  56. data/lib/action_view/helpers/tags/range_field.rb +2 -0
  57. data/lib/action_view/helpers/tags/search_field.rb +14 -9
  58. data/lib/action_view/helpers/tags/select.rb +11 -9
  59. data/lib/action_view/helpers/tags/tel_field.rb +2 -0
  60. data/lib/action_view/helpers/tags/text_area.rb +4 -2
  61. data/lib/action_view/helpers/tags/text_field.rb +8 -7
  62. data/lib/action_view/helpers/tags/time_field.rb +2 -0
  63. data/lib/action_view/helpers/tags/time_select.rb +2 -0
  64. data/lib/action_view/helpers/tags/time_zone_select.rb +3 -1
  65. data/lib/action_view/helpers/tags/translator.rb +17 -13
  66. data/lib/action_view/helpers/tags/url_field.rb +2 -0
  67. data/lib/action_view/helpers/tags/week_field.rb +2 -0
  68. data/lib/action_view/helpers/tags.rb +3 -1
  69. data/lib/action_view/helpers/text_helper.rb +55 -36
  70. data/lib/action_view/helpers/translation_helper.rb +62 -31
  71. data/lib/action_view/helpers/url_helper.rb +159 -104
  72. data/lib/action_view/helpers.rb +5 -1
  73. data/lib/action_view/layouts.rb +65 -58
  74. data/lib/action_view/log_subscriber.rb +60 -8
  75. data/lib/action_view/lookup_context.rb +80 -65
  76. data/lib/action_view/model_naming.rb +3 -1
  77. data/lib/action_view/path_set.rb +30 -19
  78. data/lib/action_view/railtie.rb +39 -6
  79. data/lib/action_view/record_identifier.rb +53 -25
  80. data/lib/action_view/renderer/abstract_renderer.rb +21 -15
  81. data/lib/action_view/renderer/partial_renderer/collection_caching.rb +57 -0
  82. data/lib/action_view/renderer/partial_renderer.rb +218 -214
  83. data/lib/action_view/renderer/renderer.rb +8 -6
  84. data/lib/action_view/renderer/streaming_template_renderer.rb +50 -48
  85. data/lib/action_view/renderer/template_renderer.rb +67 -66
  86. data/lib/action_view/rendering.rb +19 -14
  87. data/lib/action_view/routing_url_for.rb +27 -17
  88. data/lib/action_view/tasks/cache_digests.rake +25 -0
  89. data/lib/action_view/template/error.rb +16 -16
  90. data/lib/action_view/template/handlers/builder.rb +10 -11
  91. data/lib/action_view/template/handlers/erb/erubi.rb +83 -0
  92. data/lib/action_view/template/handlers/erb.rb +9 -80
  93. data/lib/action_view/template/handlers/html.rb +11 -0
  94. data/lib/action_view/template/handlers/raw.rb +3 -3
  95. data/lib/action_view/template/handlers.rb +11 -7
  96. data/lib/action_view/template/html.rb +5 -5
  97. data/lib/action_view/template/resolver.rb +140 -115
  98. data/lib/action_view/template/text.rb +8 -9
  99. data/lib/action_view/template/types.rb +18 -18
  100. data/lib/action_view/template.rb +56 -31
  101. data/lib/action_view/test_case.rb +50 -29
  102. data/lib/action_view/testing/resolvers.rb +31 -31
  103. data/lib/action_view/version.rb +3 -1
  104. data/lib/action_view/view_paths.rb +28 -34
  105. data/lib/action_view.rb +8 -7
  106. data/lib/assets/compiled/rails-ujs.js +720 -0
  107. metadata +25 -24
  108. data/lib/action_view/tasks/dependencies.rake +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 71fb7b73001ccc9220ba0da089fc3336a3a18620ca13a18730fa91d4799fbf58
4
- data.tar.gz: a87ef6a72900a81c7cff2d00f3fac65006c0f95935b7bf366c1f4bfa1210b6d1
3
+ metadata.gz: 7e94b21d68f5daeb4f7bf8727c7f89f7e3bacb9ea29633f798400728408b3265
4
+ data.tar.gz: cb460ca02808f6935cc737c75c31f126eec9c8d8cf50c14ae963c40b821d1c7f
5
5
  SHA512:
6
- metadata.gz: ea93cb6a5de3af579900cf1534b50842c6d197062ee7a01a9f499287dbbb8f6f3d9c32abfadba3c2d1868b8deddc70594c3e5767744031e47961d5da15cb5e54
7
- data.tar.gz: e59b44cf756ed5bf55ef96709055a04413dfba03fa083c32ef709eb266267ac774bc7d83c08c696a16c98e5dd93a412a531372eee7546bcc8e856e1304dcf618
6
+ metadata.gz: 4a5ce41a3ade8b1097d8130ff1129e040b0a9a0a89dae5c81c6ec0b216baea8b408a99ea1e8902dde7092194e4df78f1bedc01f487a4a74b713c9494bd808e9d
7
+ data.tar.gz: 3bd5a09c2ba16f20938d2d4ef0d21aebfea1ca226da1fc409c8a7df60f76b5d86027c729bc1c6b0ec92519755f98126512a7876a71397444264e231e3f82180a
data/CHANGELOG.md CHANGED
@@ -1,357 +1,159 @@
1
- ## Rails 4.2.11.1 (March 11, 2019) ##
1
+ ## Rails 5.2.4 (November 27, 2019) ##
2
2
 
3
- * No changes.
4
-
5
-
6
- ## Rails 4.2.11 (November 27, 2018) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 4.2.10 (September 27, 2017) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 4.2.9 (June 26, 2017) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 4.2.8 (February 21, 2017) ##
22
-
23
- * No changes.
24
-
25
-
26
- ## Rails 4.2.7 (July 12, 2016) ##
27
-
28
- * No changes.
29
-
30
-
31
- ## Rails 4.2.6 (March 07, 2016) ##
32
-
33
- * Fix stripping the digest from the automatically generated img tag alt
34
- attribute when assets are handled by Sprockets >=3.0.
35
-
36
- *Bart de Water*
37
-
38
- * Create a new `ActiveSupport::SafeBuffer` instance when `content_for` is flushed.
39
-
40
- Fixes #19890
41
-
42
- *Yoong Kang Lim*
43
-
44
- * Respect value of `:object` if `:object` is false when rendering.
45
-
46
- Fixes #22260.
47
-
48
- *Yuichiro Kaneko*
49
-
50
- * Generate `week_field` input values using a 1-based index and not a 0-based index
51
- as per the W3 spec: http://www.w3.org/TR/html-markup/datatypes.html#form.data.week
52
-
53
- *Christoph Geschwind*
54
-
55
-
56
- ## Rails 4.2.5.2 (February 26, 2016) ##
57
-
58
- * Do not allow render with unpermitted parameter.
59
-
60
- Fixes CVE-2016-2098.
61
-
62
- *Arthur Neves*
63
-
64
-
65
- ## Rails 4.2.5.1 (January 25, 2015) ##
66
-
67
- * Adds boolean argument outside_app_allowed to `ActionView::Resolver#find_templates`
68
- method.
69
-
70
- *Aaron Patterson*
71
-
72
-
73
- ## Rails 4.2.5 (November 12, 2015) ##
74
-
75
- * Fix `mail_to` when called with `nil` as argument.
76
-
77
- *Rafael Mendonça França*
78
-
79
- * `url_for` does not modify its arguments when generating polymorphic URLs.
80
-
81
- *Bernerd Schaefer*
82
-
83
-
84
- ## Rails 4.2.4 (August 24, 2015) ##
85
-
86
- * No Changes *
3
+ * Allow programmatic click events to trigger Rails UJS click handlers.
4
+ Programmatic click events (eg. ones generated by `Rails.fire(link, "click")`) don't specify a button. These events were being incorrectly stopped by code meant to ignore scroll wheel and right clicks introduced in #34573.
87
5
 
6
+ *Sudara Williams*
88
7
 
89
- ## Rails 4.2.3 (June 25, 2015) ##
90
8
 
91
- * `translate` should handle `raise` flag correctly in case of both main and default
92
- translation is missing.
9
+ ## Rails 5.2.3 (March 27, 2019) ##
93
10
 
94
- Fixes #19967
11
+ * Prevent non-primary mouse keys from triggering Rails UJS click handlers.
12
+ Firefox fires click events even if the click was triggered by non-primary mouse keys such as right- or scroll-wheel-clicks.
13
+ For example, right-clicking a link such as the one described below (with an underlying ajax request registered on click) should not cause that request to occur.
95
14
 
96
- *Bernard Potocki*
15
+ ```
16
+ <%= link_to 'Remote', remote_path, class: 'remote', remote: true, data: { type: :json } %>
17
+ ```
97
18
 
98
- * `translate` allows `default: [[]]` again for a default value of `[]`.
19
+ Fixes #34541
99
20
 
100
- Fixes #19640.
21
+ *Wolfgang Hobmaier*
101
22
 
102
- *Adam Prescott*
103
23
 
104
- * `translate` should accept nils as members of the `:default`
105
- parameter without raising a translation missing error. Fixes a
106
- regression introduced 362557e.
24
+ ## Rails 5.2.2.1 (March 11, 2019) ##
107
25
 
108
- Fixes #19419
26
+ * Only accept formats from registered mime types
109
27
 
110
- *Justin Coyne*
28
+ A lack of filtering on mime types could allow an attacker to read
29
+ arbitrary files on the target server or to perform a denial of service
30
+ attack.
111
31
 
112
- * `number_to_percentage` does not crash with `Float::NAN` or `Float::INFINITY`
113
- as input when `precision: 0` is used.
32
+ Fixes CVE-2019-5418
33
+ Fixes CVE-2019-5419
114
34
 
115
- Fixes #19227.
35
+ *John Hawthorn*, *Eileen M. Uchitelle*, *Aaron Patterson*
116
36
 
117
- *Yves Senn*
118
37
 
38
+ ## Rails 5.2.2 (December 04, 2018) ##
119
39
 
120
- ## Rails 4.2.2 (June 16, 2015) ##
121
-
122
- * No Changes *
123
-
124
-
125
- ## Rails 4.2.1 (March 19, 2015) ##
126
-
127
- * Default translations that have a lower precedence than an html safe default,
128
- but are not themselves safe, should not be marked as html_safe.
129
-
130
- *Justin Coyne*
131
-
132
- * Added an explicit error message, in `ActionView::PartialRenderer`
133
- for partial `rendering`, when the value of option `as` has invalid characters.
134
-
135
- *Angelo Capilleri*
136
-
137
-
138
- ## Rails 4.2.0 (December 20, 2014) ##
139
-
140
- * Local variable in a partial is now available even if a falsy value is
141
- passed to `:object` when rendering a partial.
142
-
143
- Fixes #17373.
144
-
145
- *Agis Anastasopoulos*
146
-
147
- * Add support for `:enforce_utf8` option in `form_for`.
148
-
149
- This is the same option that was added in 06388b0 to `form_tag` and allows
150
- users to skip the insertion of the UTF8 enforcer tag in a form.
151
-
152
- * claudiob *
153
-
154
- * Fix a bug that <%= foo(){ %> and <%= foo()do %> in view templates were not regarded
155
- as Ruby block calls.
156
-
157
- * Akira Matsuda *
158
-
159
- * Update `select_tag` to work correctly with `:include_blank` option passing a string.
160
-
161
- Fixes #16483.
162
-
163
- *Frank Groeneveld*
164
-
165
- * Changed the meaning of `render "foo/bar"`.
166
-
167
- Previously, calling `render "foo/bar"` in a controller action is equivalent
168
- to `render file: "foo/bar"`. In Rails 4.2, this has been changed to mean
169
- `render template: "foo/bar"` instead. If you need to render a file, please
170
- change your code to use the explicit form (`render file: "foo/bar"`) instead.
171
-
172
- *Jeremy Jackson*
173
-
174
- * Add support for ARIA attributes in tags.
175
-
176
- Example:
177
-
178
- <%= f.text_field :name, aria: { required: "true", hidden: "false" } %>
179
-
180
- now generates:
181
-
182
- <input aria-hidden="false" aria-required="true" id="user_name" name="user[name]" type="text">
183
-
184
- *Paola Garcia Casadiego*
185
-
186
- * Provide a `builder` object when using the `label` form helper in block form.
187
-
188
- The new `builder` object responds to `translation`, allowing I18n fallback support
189
- when you want to customize how a particular label is presented.
190
-
191
- *Alex Robbin*
192
-
193
- * Add I18n support for input/textarea placeholder text.
194
-
195
- Placeholder I18n follows the same convention as `label` I18n.
196
-
197
- *Alex Robbin*
198
-
199
- * Fix that render layout: 'messages/layout' should also be added to the dependency tracker tree.
200
-
201
- *DHH*
202
-
203
- * Add `PartialIteration` object used when rendering collections.
204
-
205
- The iteration object is available as the local variable
206
- `#{template_name}_iteration` when rendering partials with collections.
207
-
208
- It gives access to the `size` of the collection being iterated over,
209
- the current `index` and two convenience methods `first?` and `last?`.
210
-
211
- *Joel Junström*, *Lucas Uyezu*
212
-
213
- * Return an absolute instead of relative path from an asset url in the case
214
- of the `asset_host` proc returning nil.
215
-
216
- *Jolyon Pawlyn*
217
-
218
- * Fix `html_escape_once` to properly handle hex escape sequences (e.g. &#x1a2b;).
219
-
220
- *John F. Douthat*
221
-
222
- * Added String support for min and max properties for date field helpers.
223
-
224
- *Todd Bealmear*
225
-
226
- * The `highlight` helper now accepts a block to be used instead of the `highlighter`
227
- option.
40
+ * No changes.
228
41
 
229
- *Lucas Mazza*
230
42
 
231
- * The `except` and `highlight` helpers now accept regular expressions.
43
+ ## Rails 5.2.1.1 (November 27, 2018) ##
232
44
 
233
- *Jan Szumiec*
45
+ * No changes.
234
46
 
235
- * Flatten the array parameter in `safe_join`, so it behaves consistently with
236
- `Array#join`.
237
47
 
238
- *Paul Grayson*
48
+ ## Rails 5.2.1 (August 07, 2018) ##
239
49
 
240
- * Honor `html_safe` on array elements in tag values, as we do for plain string
241
- values.
50
+ * Fix leak of `skip_default_ids` and `allow_method_names_outside_object` options
51
+ to HTML attributes.
242
52
 
243
- *Paul Grayson*
53
+ *Yurii Cherniavskyi*
244
54
 
245
- * Add `ActionView::Template::Handler.unregister_template_handler`.
55
+ * Fix issue with `button_to`'s `to_form_params`
246
56
 
247
- It performs the opposite of `ActionView::Template::Handler.register_template_handler`.
57
+ `button_to` was throwing exception when invoked with `params` hash that
58
+ contains symbol and string keys. The reason for the exception was that
59
+ `to_form_params` was comparing the given symbol and string keys.
248
60
 
249
- *Zuhao Wan*
61
+ The issue is fixed by turning all keys to strings inside
62
+ `to_form_params` before comparing them.
250
63
 
251
- * Bring `cache_digest` rake tasks up-to-date with the latest API changes.
64
+ *Georgi Georgiev*
252
65
 
253
- *Jiri Pospisil*
66
+ * Fix JavaScript views rendering does not work with Firefox when using
67
+ Content Security Policy.
254
68
 
255
- * Allow custom `:host` option to be passed to `asset_url` helper that
256
- overwrites `config.action_controller.asset_host` for particular asset.
69
+ Fixes #32577.
257
70
 
258
- *Hubert Łępicki*
71
+ *Yuji Yaginuma*
259
72
 
260
- * Deprecate `AbstractController::Base.parent_prefixes`.
261
- Override `AbstractController::Base.local_prefixes` when you want to change
262
- where to find views.
73
+ * Add the `nonce: true` option for `javascript_include_tag` helper to
74
+ support automatic nonce generation for Content Security Policy.
75
+ Works the same way as `javascript_tag nonce: true` does.
263
76
 
264
- *Nick Sutterer*
77
+ *Yaroslav Markin*
265
78
 
266
- * Take label values into account when doing I18n lookups for model attributes.
267
79
 
268
- The following:
80
+ ## Rails 5.2.0 (April 09, 2018) ##
269
81
 
270
- # form.html.erb
271
- <%= form_for @post do |f| %>
272
- <%= f.label :type, value: "long" %>
273
- <% end %>
82
+ * Pass the `:skip_pipeline` option in `image_submit_tag` when calling `path_to_image`.
274
83
 
275
- # en.yml
276
- en:
277
- activerecord:
278
- attributes:
279
- post/long: "Long-form Post"
84
+ Fixes #32248.
280
85
 
281
- Used to simply return "long", but now it will return "Long-form
282
- Post".
86
+ *Andrew White*
283
87
 
284
- *Joshua Cody*
88
+ * Allow the use of callable objects as group methods for grouped selects.
285
89
 
286
- * Change `asset_path` to use File.join to create proper paths:
90
+ Until now, the `option_groups_from_collection_for_select` method was only able to
91
+ handle method names as `group_method` and `group_label_method` parameters,
92
+ it is now able to receive procs and other callable objects too.
287
93
 
288
- Before:
94
+ *Jérémie Bonal*
289
95
 
290
- https://some.host.com//assets/some.js
96
+ * Add `preload_link_tag` helper.
291
97
 
292
- After:
98
+ This helper that allows to the browser to initiate early fetch of resources
99
+ (different to the specified in `javascript_include_tag` and `stylesheet_link_tag`).
100
+ Additionally, this sends Early Hints if supported by browser.
293
101
 
294
- https://some.host.com/assets/some.js
102
+ *Guillermo Iguaran*
295
103
 
296
- *Peter Schröder*
104
+ * Change `form_with` to generates ids by default.
297
105
 
298
- * Change `favicon_link_tag` default mimetype from `image/vnd.microsoft.icon` to
299
- `image/x-icon`.
106
+ When `form_with` was introduced we disabled the automatic generation of ids
107
+ that was enabled in `form_for`. This usually is not an good idea since labels don't work
108
+ when the input doesn't have an id and it made harder to test with Capybara.
300
109
 
301
- Before:
110
+ You can still disable the automatic generation of ids setting `config.action_view.form_with_generates_ids`
111
+ to `false.`
302
112
 
303
- # => favicon_link_tag 'myicon.ico'
304
- <link href="/assets/myicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
113
+ *Nick Pezza*
305
114
 
306
- After:
115
+ * Fix issues with `field_error_proc` wrapping `optgroup` and select divider `option`.
307
116
 
308
- # => favicon_link_tag 'myicon.ico'
309
- <link href="/assets/myicon.ico" rel="shortcut icon" type="image/x-icon" />
117
+ Fixes #31088
310
118
 
311
- *Geoffroy Lorieux*
119
+ *Matthias Neumayr*
312
120
 
313
- * Remove wrapping div with inline styles for hidden form fields.
121
+ * Remove deprecated Erubis ERB handler.
314
122
 
315
- We are dropping HTML 4.01 and XHTML strict compliance since input tags directly
316
- inside a form are valid HTML5, and the absence of inline styles help in validating
317
- for Content Security Policy.
123
+ *Rafael Mendonça França*
318
124
 
319
- *Joost Baaij*
125
+ * Remove default `alt` text generation.
320
126
 
321
- * `collection_check_boxes` respects `:index` option for the hidden field name.
127
+ Fixes #30096
322
128
 
323
- Fixes #14147.
129
+ *Cameron Cundiff*
324
130
 
325
- *Vasiliy Ermolovich*
131
+ * Add `srcset` option to `image_tag` helper.
326
132
 
327
- * `date_select` helper with option `with_css_classes: true` does not overwrite other classes.
133
+ *Roberto Miranda*
328
134
 
329
- *Izumi Wong-Horiuchi*
135
+ * Fix issues with scopes and engine on `current_page?` method.
330
136
 
331
- * `number_to_percentage` does not crash with `Float::NAN` or `Float::INFINITY`
332
- as input.
137
+ Fixes #29401.
333
138
 
334
- Fixes #14405.
139
+ *Nikita Savrov*
335
140
 
336
- *Yves Senn*
141
+ * Generate field ids in `collection_check_boxes` and `collection_radio_buttons`.
337
142
 
338
- * Add `include_hidden` option to `collection_check_boxes` helper.
143
+ This makes sure that the labels are linked up with the fields.
339
144
 
340
- *Vasiliy Ermolovich*
145
+ Fixes #29014.
341
146
 
342
- * Fixed a problem where the default options for the `button_tag` helper are not
343
- applied correctly.
147
+ *Yuji Yaginuma*
344
148
 
345
- Fixes #14254.
149
+ * Add `:json` type to `auto_discovery_link_tag` to support [JSON Feeds](https://jsonfeed.org/version/1).
346
150
 
347
- *Sergey Prikhodko*
151
+ *Mike Gunderloy*
348
152
 
349
- * Take variants into account when calculating template digests in ActionView::Digestor.
153
+ * Update `distance_of_time_in_words` helper to display better error messages
154
+ for bad input.
350
155
 
351
- The arguments to ActionView::Digestor#digest are now being passed as a hash
352
- to support variants and allow more flexibility in the future. The support for
353
- regular (required) arguments is deprecated and will be removed in Rails 5.0 or later.
156
+ *Jay Hayes*
354
157
 
355
- *Piotr Chmolowski, Łukasz Strzałkowski*
356
158
 
357
- Please check [4-1-stable](https://github.com/rails/rails/blob/4-1-stable/actionview/CHANGELOG.md) for previous changes.
159
+ Please check [5-1-stable](https://github.com/rails/rails/blob/5-1-stable/actionview/CHANGELOG.md) for previous changes.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2004-2014 David Heinemeier Hansson
1
+ Copyright (c) 2004-2018 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
data/README.rdoc CHANGED
@@ -9,18 +9,18 @@ used to inline short Ruby snippets inside HTML), and XML Builder.
9
9
 
10
10
  The latest version of Action View can be installed with RubyGems:
11
11
 
12
- % [sudo] gem install actionview
12
+ $ gem install actionview
13
13
 
14
- Source code can be downloaded as part of the Rails project on GitHub
14
+ Source code can be downloaded as part of the Rails project on GitHub:
15
15
 
16
- * https://github.com/rails/rails/tree/4-2-stable/actionview
16
+ * https://github.com/rails/rails/tree/5-2-stable/actionview
17
17
 
18
18
 
19
19
  == License
20
20
 
21
21
  Action View is released under the MIT license:
22
22
 
23
- * http://www.opensource.org/licenses/MIT
23
+ * https://opensource.org/licenses/MIT
24
24
 
25
25
 
26
26
  == Support
@@ -29,11 +29,10 @@ API documentation is at
29
29
 
30
30
  * http://api.rubyonrails.org
31
31
 
32
- Bug reports can be filed for the Ruby on Rails project here:
32
+ Bug reports for the Ruby on Rails project can be filed here:
33
33
 
34
34
  * https://github.com/rails/rails/issues
35
35
 
36
36
  Feature requests should be discussed on the rails-core mailing list here:
37
37
 
38
38
  * https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core
39
-
@@ -1,23 +1,25 @@
1
- require 'active_support/core_ext/module/attr_internal'
2
- require 'active_support/core_ext/module/attribute_accessors'
3
- require 'active_support/ordered_options'
4
- require 'action_view/log_subscriber'
5
- require 'action_view/helpers'
6
- require 'action_view/context'
7
- require 'action_view/template'
8
- require 'action_view/lookup_context'
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/module/attr_internal"
4
+ require "active_support/core_ext/module/attribute_accessors"
5
+ require "active_support/ordered_options"
6
+ require "action_view/log_subscriber"
7
+ require "action_view/helpers"
8
+ require "action_view/context"
9
+ require "action_view/template"
10
+ require "action_view/lookup_context"
9
11
 
10
12
  module ActionView #:nodoc:
11
13
  # = Action View Base
12
14
  #
13
15
  # Action View templates can be written in several ways.
14
- # If the template file has a <tt>.erb</tt> extension, then it uses the erubis[https://rubygems.org/gems/erubis]
16
+ # If the template file has a <tt>.erb</tt> extension, then it uses the erubi[https://rubygems.org/gems/erubi]
15
17
  # template system which can embed Ruby into an HTML document.
16
18
  # If the template file has a <tt>.builder</tt> extension, then Jim Weirich's Builder::XmlMarkup library is used.
17
19
  #
18
20
  # == ERB
19
21
  #
20
- # You trigger ERB by using embeddings such as <% %>, <% -%>, and <%= %>. The <%= %> tag set is used when you want output. Consider the
22
+ # You trigger ERB by using embeddings such as <tt><% %></tt>, <tt><% -%></tt>, and <tt><%= %></tt>. The <tt><%= %></tt> tag set is used when you want output. Consider the
21
23
  # following loop for names:
22
24
  #
23
25
  # <b>Names of all the people</b>
@@ -25,7 +27,7 @@ module ActionView #:nodoc:
25
27
  # Name: <%= person.name %><br/>
26
28
  # <% end %>
27
29
  #
28
- # The loop is setup in regular embedding tags <% %> and the name is written using the output embedding tag <%= %>. Note that this
30
+ # The loop is setup in regular embedding tags <tt><% %></tt>, and the name is written using the output embedding tag <tt><%= %></tt>. Note that this
29
31
  # is not just a usage suggestion. Regular output functions like print or puts won't work with ERB templates. So this would be wrong:
30
32
  #
31
33
  # <%# WRONG %>
@@ -33,9 +35,9 @@ module ActionView #:nodoc:
33
35
  #
34
36
  # If you absolutely must write from within a function use +concat+.
35
37
  #
36
- # When on a line that only contains whitespaces except for the tag, <% %> suppress leading and trailing whitespace,
37
- # including the trailing newline. <% %> and <%- -%> are the same.
38
- # Note however that <%= %> and <%= -%> are different: only the latter removes trailing whitespaces.
38
+ # When on a line that only contains whitespaces except for the tag, <tt><% %></tt> suppresses leading and trailing whitespace,
39
+ # including the trailing newline. <tt><% %></tt> and <tt><%- -%></tt> are the same.
40
+ # Note however that <tt><%= %></tt> and <tt><%= -%></tt> are different: only the latter removes trailing whitespaces.
39
41
  #
40
42
  # === Using sub templates
41
43
  #
@@ -70,6 +72,14 @@ module ActionView #:nodoc:
70
72
  # Headline: <%= headline %>
71
73
  # First name: <%= person.first_name %>
72
74
  #
75
+ # The local variables passed to sub templates can be accessed as a hash using the <tt>local_assigns</tt> hash. This lets you access the
76
+ # variables as:
77
+ #
78
+ # Headline: <%= local_assigns[:headline] %>
79
+ #
80
+ # This is useful in cases where you aren't sure if the local variable has been assigned. Alternatively, you could also use
81
+ # <tt>defined? headline</tt> to first check if the variable has been assigned before using it.
82
+ #
73
83
  # === Template caching
74
84
  #
75
85
  # By default, Rails will compile each template to a method in order to render it. When you alter a template,
@@ -102,7 +112,7 @@ module ActionView #:nodoc:
102
112
  # <p>A product of Danish Design during the Winter of '79...</p>
103
113
  # </div>
104
114
  #
105
- # A full-length RSS example actually used on Basecamp:
115
+ # Here is a full-length RSS example actually used on Basecamp:
106
116
  #
107
117
  # xml.rss("version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
108
118
  # xml.channel do
@@ -126,38 +136,37 @@ module ActionView #:nodoc:
126
136
  # end
127
137
  # end
128
138
  #
129
- # For more information on Builder please consult the [source
130
- # code](https://github.com/jimweirich/builder).
139
+ # For more information on Builder please consult the {source
140
+ # code}[https://github.com/jimweirich/builder].
131
141
  class Base
132
142
  include Helpers, ::ERB::Util, Context
133
143
 
134
144
  # Specify the proc used to decorate input tags that refer to attributes with errors.
135
- cattr_accessor :field_error_proc
136
- @@field_error_proc = Proc.new{ |html_tag, instance| "<div class=\"field_with_errors\">#{html_tag}</div>".html_safe }
145
+ cattr_accessor :field_error_proc, default: Proc.new { |html_tag, instance| "<div class=\"field_with_errors\">#{html_tag}</div>".html_safe }
137
146
 
138
147
  # How to complete the streaming when an exception occurs.
139
148
  # This is our best guess: first try to close the attribute, then the tag.
140
- cattr_accessor :streaming_completion_on_exception
141
- @@streaming_completion_on_exception = %("><script>window.location = "/500.html"</script></html>)
149
+ cattr_accessor :streaming_completion_on_exception, default: %("><script>window.location = "/500.html"</script></html>)
142
150
 
143
151
  # Specify whether rendering within namespaced controllers should prefix
144
152
  # the partial paths for ActiveModel objects with the namespace.
145
153
  # (e.g., an Admin::PostsController would render @post using /admin/posts/_post.erb)
146
- cattr_accessor :prefix_partial_path_with_controller_namespace
147
- @@prefix_partial_path_with_controller_namespace = true
154
+ cattr_accessor :prefix_partial_path_with_controller_namespace, default: true
148
155
 
149
156
  # Specify default_formats that can be rendered.
150
157
  cattr_accessor :default_formats
151
158
 
152
159
  # Specify whether an error should be raised for missing translations
153
- cattr_accessor :raise_on_missing_translations
154
- @@raise_on_missing_translations = false
160
+ cattr_accessor :raise_on_missing_translations, default: false
161
+
162
+ # Specify whether submit_tag should automatically disable on click
163
+ cattr_accessor :automatically_disable_submit_tag, default: true
155
164
 
156
165
  class_attribute :_routes
157
166
  class_attribute :logger
158
167
 
159
168
  class << self
160
- delegate :erb_trim_mode=, :to => 'ActionView::Template::Handlers::ERB'
169
+ delegate :erb_trim_mode=, to: "ActionView::Template::Handlers::ERB"
161
170
 
162
171
  def cache_template_loading
163
172
  ActionView::Resolver.caching?
@@ -175,8 +184,8 @@ module ActionView #:nodoc:
175
184
  attr_accessor :view_renderer
176
185
  attr_internal :config, :assigns
177
186
 
178
- delegate :lookup_context, :to => :view_renderer
179
- delegate :formats, :formats=, :locale, :locale=, :view_paths, :view_paths=, :to => :lookup_context
187
+ delegate :lookup_context, to: :view_renderer
188
+ delegate :formats, :formats=, :locale, :locale=, :view_paths, :view_paths=, to: :lookup_context
180
189
 
181
190
  def assign(new_assigns) # :nodoc:
182
191
  @_assigns = new_assigns.each { |key, value| instance_variable_set("@#{key}", value) }
@@ -195,6 +204,7 @@ module ActionView #:nodoc:
195
204
  @view_renderer = ActionView::Renderer.new(lookup_context)
196
205
  end
197
206
 
207
+ @cache_hit = {}
198
208
  assign(assigns)
199
209
  assign_controller(controller)
200
210
  _prepare_context
@@ -1,4 +1,6 @@
1
- require 'active_support/core_ext/string/output_safety'
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/core_ext/string/output_safety"
2
4
 
3
5
  module ActionView
4
6
  class OutputBuffer < ActiveSupport::SafeBuffer #:nodoc: