actionview 5.2.7.1 → 6.1.4.6

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 (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +250 -112
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +5 -3
  5. data/lib/action_view/base.rb +81 -15
  6. data/lib/action_view/buffers.rb +15 -0
  7. data/lib/action_view/cache_expiry.rb +52 -0
  8. data/lib/action_view/context.rb +5 -9
  9. data/lib/action_view/dependency_tracker.rb +10 -4
  10. data/lib/action_view/digestor.rb +15 -22
  11. data/lib/action_view/flows.rb +0 -1
  12. data/lib/action_view/gem_version.rb +4 -4
  13. data/lib/action_view/helpers/active_model_helper.rb +0 -1
  14. data/lib/action_view/helpers/asset_tag_helper.rb +64 -47
  15. data/lib/action_view/helpers/asset_url_helper.rb +9 -6
  16. data/lib/action_view/helpers/atom_feed_helper.rb +2 -1
  17. data/lib/action_view/helpers/cache_helper.rb +23 -22
  18. data/lib/action_view/helpers/capture_helper.rb +4 -0
  19. data/lib/action_view/helpers/csp_helper.rb +4 -2
  20. data/lib/action_view/helpers/csrf_helper.rb +1 -1
  21. data/lib/action_view/helpers/date_helper.rb +73 -30
  22. data/lib/action_view/helpers/form_helper.rb +305 -37
  23. data/lib/action_view/helpers/form_options_helper.rb +23 -23
  24. data/lib/action_view/helpers/form_tag_helper.rb +19 -16
  25. data/lib/action_view/helpers/javascript_helper.rb +12 -11
  26. data/lib/action_view/helpers/number_helper.rb +14 -8
  27. data/lib/action_view/helpers/output_safety_helper.rb +1 -1
  28. data/lib/action_view/helpers/rendering_helper.rb +17 -7
  29. data/lib/action_view/helpers/sanitize_helper.rb +12 -18
  30. data/lib/action_view/helpers/tag_helper.rb +100 -55
  31. data/lib/action_view/helpers/tags/base.rb +18 -11
  32. data/lib/action_view/helpers/tags/check_box.rb +0 -1
  33. data/lib/action_view/helpers/tags/collection_check_boxes.rb +0 -1
  34. data/lib/action_view/helpers/tags/collection_helpers.rb +0 -1
  35. data/lib/action_view/helpers/tags/collection_radio_buttons.rb +0 -1
  36. data/lib/action_view/helpers/tags/color_field.rb +1 -2
  37. data/lib/action_view/helpers/tags/date_field.rb +1 -2
  38. data/lib/action_view/helpers/tags/date_select.rb +2 -3
  39. data/lib/action_view/helpers/tags/datetime_field.rb +0 -1
  40. data/lib/action_view/helpers/tags/datetime_local_field.rb +1 -2
  41. data/lib/action_view/helpers/tags/label.rb +4 -1
  42. data/lib/action_view/helpers/tags/month_field.rb +1 -2
  43. data/lib/action_view/helpers/tags/radio_button.rb +0 -1
  44. data/lib/action_view/helpers/tags/select.rb +1 -2
  45. data/lib/action_view/helpers/tags/text_field.rb +0 -1
  46. data/lib/action_view/helpers/tags/time_field.rb +1 -2
  47. data/lib/action_view/helpers/tags/translator.rb +1 -6
  48. data/lib/action_view/helpers/tags/week_field.rb +1 -2
  49. data/lib/action_view/helpers/text_helper.rb +4 -5
  50. data/lib/action_view/helpers/translation_helper.rb +94 -54
  51. data/lib/action_view/helpers/url_helper.rb +136 -28
  52. data/lib/action_view/helpers.rb +0 -2
  53. data/lib/action_view/layouts.rb +8 -10
  54. data/lib/action_view/log_subscriber.rb +30 -15
  55. data/lib/action_view/lookup_context.rb +63 -35
  56. data/lib/action_view/path_set.rb +3 -12
  57. data/lib/action_view/railtie.rb +42 -26
  58. data/lib/action_view/record_identifier.rb +2 -3
  59. data/lib/action_view/renderer/abstract_renderer.rb +142 -11
  60. data/lib/action_view/renderer/collection_renderer.rb +196 -0
  61. data/lib/action_view/renderer/object_renderer.rb +34 -0
  62. data/lib/action_view/renderer/partial_renderer/collection_caching.rb +61 -16
  63. data/lib/action_view/renderer/partial_renderer.rb +21 -273
  64. data/lib/action_view/renderer/renderer.rb +59 -4
  65. data/lib/action_view/renderer/streaming_template_renderer.rb +10 -8
  66. data/lib/action_view/renderer/template_renderer.rb +35 -27
  67. data/lib/action_view/rendering.rb +54 -33
  68. data/lib/action_view/routing_url_for.rb +13 -12
  69. data/lib/action_view/template/error.rb +30 -15
  70. data/lib/action_view/template/handlers/builder.rb +2 -2
  71. data/lib/action_view/template/handlers/erb/erubi.rb +15 -9
  72. data/lib/action_view/template/handlers/erb.rb +16 -11
  73. data/lib/action_view/template/handlers/html.rb +1 -1
  74. data/lib/action_view/template/handlers/raw.rb +2 -2
  75. data/lib/action_view/template/handlers.rb +1 -1
  76. data/lib/action_view/template/html.rb +5 -6
  77. data/lib/action_view/template/inline.rb +22 -0
  78. data/lib/action_view/template/raw_file.rb +25 -0
  79. data/lib/action_view/template/renderable.rb +24 -0
  80. data/lib/action_view/template/resolver.rb +191 -150
  81. data/lib/action_view/template/sources/file.rb +17 -0
  82. data/lib/action_view/template/sources.rb +13 -0
  83. data/lib/action_view/template/text.rb +2 -3
  84. data/lib/action_view/template.rb +66 -75
  85. data/lib/action_view/test_case.rb +21 -29
  86. data/lib/action_view/testing/resolvers.rb +18 -27
  87. data/lib/action_view/unbound_template.rb +31 -0
  88. data/lib/action_view/view_paths.rb +59 -38
  89. data/lib/action_view.rb +7 -2
  90. data/lib/assets/compiled/rails-ujs.js +32 -6
  91. metadata +29 -18
  92. data/lib/action_view/helpers/record_tag_helper.rb +0 -23
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Unobtrusive JavaScript
3
- https://github.com/rails/rails/blob/master/actionview/app/assets/javascripts
3
+ https://github.com/rails/rails/blob/main/actionview/app/assets/javascripts
4
4
  Released under the MIT license
5
5
  */;
6
6
 
@@ -16,8 +16,8 @@ Released under the MIT license
16
16
  exclude: 'form button'
17
17
  },
18
18
  inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',
19
- formSubmitSelector: 'form',
20
- formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',
19
+ formSubmitSelector: 'form:not([data-turbo=true])',
20
+ formInputClickSelector: 'form:not([data-turbo=true]) input[type=submit], form:not([data-turbo=true]) input[type=image], form:not([data-turbo=true]) button[type=submit], form:not([data-turbo=true]) button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',
21
21
  formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',
22
22
  formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',
23
23
  fileInputSelector: 'input[name][type=file]:not([disabled])',
@@ -320,6 +320,9 @@ Released under the MIT license
320
320
  if (!input.name || input.disabled) {
321
321
  return;
322
322
  }
323
+ if (matches(input, 'fieldset[disabled] *')) {
324
+ return;
325
+ }
323
326
  if (matches(input, 'select')) {
324
327
  return toArray(input.options).forEach(function(option) {
325
328
  if (option.selected) {
@@ -370,6 +373,10 @@ Released under the MIT license
370
373
  }
371
374
  };
372
375
 
376
+ Rails.confirm = function(message, element) {
377
+ return confirm(message);
378
+ };
379
+
373
380
  allowAction = function(element) {
374
381
  var answer, callback, message;
375
382
  message = element.getAttribute('data-confirm');
@@ -379,7 +386,7 @@ Released under the MIT license
379
386
  answer = false;
380
387
  if (fire(element, 'confirm')) {
381
388
  try {
382
- answer = confirm(message);
389
+ answer = Rails.confirm(message, element);
383
390
  } catch (error) {}
384
391
  callback = fire(element, 'confirm:complete', [answer]);
385
392
  }
@@ -388,7 +395,7 @@ Released under the MIT license
388
395
 
389
396
  }).call(this);
390
397
  (function() {
391
- var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, matches, setData, stopEverything;
398
+ var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;
392
399
 
393
400
  matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;
394
401
 
@@ -402,7 +409,14 @@ Released under the MIT license
402
409
 
403
410
  Rails.enableElement = function(e) {
404
411
  var element;
405
- element = e instanceof Event ? e.target : e;
412
+ if (e instanceof Event) {
413
+ if (isXhrRedirect(e)) {
414
+ return;
415
+ }
416
+ element = e.target;
417
+ } else {
418
+ element = e;
419
+ }
406
420
  if (matches(element, Rails.linkDisableSelector)) {
407
421
  return enableLinkElement(element);
408
422
  } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {
@@ -426,6 +440,9 @@ Released under the MIT license
426
440
 
427
441
  disableLinkElement = function(element) {
428
442
  var replacement;
443
+ if (getData(element, 'ujs:disabled')) {
444
+ return;
445
+ }
429
446
  replacement = element.getAttribute('data-disable-with');
430
447
  if (replacement != null) {
431
448
  setData(element, 'ujs:enable-with', element.innerHTML);
@@ -452,6 +469,9 @@ Released under the MIT license
452
469
 
453
470
  disableFormElement = function(element) {
454
471
  var replacement;
472
+ if (getData(element, 'ujs:disabled')) {
473
+ return;
474
+ }
455
475
  replacement = element.getAttribute('data-disable-with');
456
476
  if (replacement != null) {
457
477
  if (matches(element, 'button')) {
@@ -485,6 +505,12 @@ Released under the MIT license
485
505
  return setData(element, 'ujs:disabled', null);
486
506
  };
487
507
 
508
+ isXhrRedirect = function(event) {
509
+ var ref, xhr;
510
+ xhr = (ref = event.detail) != null ? ref[0] : void 0;
511
+ return (xhr != null ? xhr.getResponseHeader("X-Xhr-Redirect") : void 0) != null;
512
+ };
513
+
488
514
  }).call(this);
489
515
  (function() {
490
516
  var stopEverything;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionview
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.7.1
4
+ version: 6.1.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2022-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.2.7.1
19
+ version: 6.1.4.6
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: 5.2.7.1
26
+ version: 6.1.4.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: builder
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,20 +58,20 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.0'
61
+ version: '1.1'
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 1.0.3
64
+ version: 1.2.0
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - "~>"
70
70
  - !ruby/object:Gem::Version
71
- version: '1.0'
71
+ version: '1.1'
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 1.0.3
74
+ version: 1.2.0
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rails-dom-testing
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -92,28 +92,28 @@ dependencies:
92
92
  requirements:
93
93
  - - '='
94
94
  - !ruby/object:Gem::Version
95
- version: 5.2.7.1
95
+ version: 6.1.4.6
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - '='
101
101
  - !ruby/object:Gem::Version
102
- version: 5.2.7.1
102
+ version: 6.1.4.6
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: activemodel
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 5.2.7.1
109
+ version: 6.1.4.6
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - '='
115
115
  - !ruby/object:Gem::Version
116
- version: 5.2.7.1
116
+ version: 6.1.4.6
117
117
  description: Simple, battle-tested conventions and helpers for building web pages.
118
118
  email: david@loudthinking.com
119
119
  executables: []
@@ -126,6 +126,7 @@ files:
126
126
  - lib/action_view.rb
127
127
  - lib/action_view/base.rb
128
128
  - lib/action_view/buffers.rb
129
+ - lib/action_view/cache_expiry.rb
129
130
  - lib/action_view/context.rb
130
131
  - lib/action_view/dependency_tracker.rb
131
132
  - lib/action_view/digestor.rb
@@ -149,7 +150,6 @@ files:
149
150
  - lib/action_view/helpers/javascript_helper.rb
150
151
  - lib/action_view/helpers/number_helper.rb
151
152
  - lib/action_view/helpers/output_safety_helper.rb
152
- - lib/action_view/helpers/record_tag_helper.rb
153
153
  - lib/action_view/helpers/rendering_helper.rb
154
154
  - lib/action_view/helpers/sanitize_helper.rb
155
155
  - lib/action_view/helpers/tag_helper.rb
@@ -201,6 +201,8 @@ files:
201
201
  - lib/action_view/railtie.rb
202
202
  - lib/action_view/record_identifier.rb
203
203
  - lib/action_view/renderer/abstract_renderer.rb
204
+ - lib/action_view/renderer/collection_renderer.rb
205
+ - lib/action_view/renderer/object_renderer.rb
204
206
  - lib/action_view/renderer/partial_renderer.rb
205
207
  - lib/action_view/renderer/partial_renderer/collection_caching.rb
206
208
  - lib/action_view/renderer/renderer.rb
@@ -218,20 +220,29 @@ files:
218
220
  - lib/action_view/template/handlers/html.rb
219
221
  - lib/action_view/template/handlers/raw.rb
220
222
  - lib/action_view/template/html.rb
223
+ - lib/action_view/template/inline.rb
224
+ - lib/action_view/template/raw_file.rb
225
+ - lib/action_view/template/renderable.rb
221
226
  - lib/action_view/template/resolver.rb
227
+ - lib/action_view/template/sources.rb
228
+ - lib/action_view/template/sources/file.rb
222
229
  - lib/action_view/template/text.rb
223
230
  - lib/action_view/template/types.rb
224
231
  - lib/action_view/test_case.rb
225
232
  - lib/action_view/testing/resolvers.rb
233
+ - lib/action_view/unbound_template.rb
226
234
  - lib/action_view/version.rb
227
235
  - lib/action_view/view_paths.rb
228
236
  - lib/assets/compiled/rails-ujs.js
229
- homepage: http://rubyonrails.org
237
+ homepage: https://rubyonrails.org
230
238
  licenses:
231
239
  - MIT
232
240
  metadata:
233
- source_code_uri: https://github.com/rails/rails/tree/v5.2.7.1/actionview
234
- changelog_uri: https://github.com/rails/rails/blob/v5.2.7.1/actionview/CHANGELOG.md
241
+ bug_tracker_uri: https://github.com/rails/rails/issues
242
+ changelog_uri: https://github.com/rails/rails/blob/v6.1.4.6/actionview/CHANGELOG.md
243
+ documentation_uri: https://api.rubyonrails.org/v6.1.4.6/
244
+ mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
245
+ source_code_uri: https://github.com/rails/rails/tree/v6.1.4.6/actionview
235
246
  post_install_message:
236
247
  rdoc_options: []
237
248
  require_paths:
@@ -240,7 +251,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
240
251
  requirements:
241
252
  - - ">="
242
253
  - !ruby/object:Gem::Version
243
- version: 2.2.2
254
+ version: 2.5.0
244
255
  required_rubygems_version: !ruby/object:Gem::Requirement
245
256
  requirements:
246
257
  - - ">="
@@ -248,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
248
259
  version: '0'
249
260
  requirements:
250
261
  - none
251
- rubygems_version: 3.1.6
262
+ rubygems_version: 3.2.22
252
263
  signing_key:
253
264
  specification_version: 4
254
265
  summary: Rendering framework putting the V in MVC (part of Rails).
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActionView
4
- module Helpers #:nodoc:
5
- module RecordTagHelper
6
- def div_for(*) # :nodoc:
7
- raise NoMethodError, "The `div_for` method has been removed from " \
8
- "Rails. To continue using it, add the `record_tag_helper` gem to " \
9
- "your Gemfile:\n" \
10
- " gem 'record_tag_helper', '~> 1.0'\n" \
11
- "Consult the Rails upgrade guide for details."
12
- end
13
-
14
- def content_tag_for(*) # :nodoc:
15
- raise NoMethodError, "The `content_tag_for` method has been removed from " \
16
- "Rails. To continue using it, add the `record_tag_helper` gem to " \
17
- "your Gemfile:\n" \
18
- " gem 'record_tag_helper', '~> 1.0'\n" \
19
- "Consult the Rails upgrade guide for details."
20
- end
21
- end
22
- end
23
- end