actionview 7.1.5.1 → 7.2.3

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +100 -416
  3. data/README.rdoc +1 -1
  4. data/lib/action_view/base.rb +24 -9
  5. data/lib/action_view/cache_expiry.rb +9 -3
  6. data/lib/action_view/dependency_tracker/{ripper_tracker.rb → ruby_tracker.rb} +4 -3
  7. data/lib/action_view/dependency_tracker.rb +1 -1
  8. data/lib/action_view/digestor.rb +6 -2
  9. data/lib/action_view/gem_version.rb +3 -3
  10. data/lib/action_view/helpers/asset_tag_helper.rb +19 -7
  11. data/lib/action_view/helpers/atom_feed_helper.rb +1 -1
  12. data/lib/action_view/helpers/cache_helper.rb +2 -2
  13. data/lib/action_view/helpers/csrf_helper.rb +1 -1
  14. data/lib/action_view/helpers/date_helper.rb +8 -1
  15. data/lib/action_view/helpers/form_helper.rb +222 -217
  16. data/lib/action_view/helpers/form_options_helper.rb +6 -3
  17. data/lib/action_view/helpers/form_tag_helper.rb +80 -47
  18. data/lib/action_view/helpers/output_safety_helper.rb +5 -6
  19. data/lib/action_view/helpers/tag_helper.rb +208 -18
  20. data/lib/action_view/helpers/tags/collection_helpers.rb +2 -1
  21. data/lib/action_view/helpers/text_helper.rb +11 -4
  22. data/lib/action_view/helpers/url_helper.rb +3 -77
  23. data/lib/action_view/layouts.rb +8 -10
  24. data/lib/action_view/log_subscriber.rb +8 -4
  25. data/lib/action_view/railtie.rb +0 -1
  26. data/lib/action_view/render_parser/prism_render_parser.rb +127 -0
  27. data/lib/action_view/{ripper_ast_parser.rb → render_parser/ripper_render_parser.rb} +152 -9
  28. data/lib/action_view/render_parser.rb +21 -169
  29. data/lib/action_view/renderer/abstract_renderer.rb +1 -1
  30. data/lib/action_view/renderer/partial_renderer.rb +2 -2
  31. data/lib/action_view/renderer/renderer.rb +32 -38
  32. data/lib/action_view/renderer/template_renderer.rb +3 -3
  33. data/lib/action_view/rendering.rb +4 -4
  34. data/lib/action_view/template/error.rb +11 -0
  35. data/lib/action_view/template/handlers/erb.rb +45 -37
  36. data/lib/action_view/template/renderable.rb +7 -1
  37. data/lib/action_view/template/resolver.rb +0 -2
  38. data/lib/action_view/template.rb +36 -8
  39. data/lib/action_view/test_case.rb +7 -10
  40. data/lib/action_view.rb +1 -0
  41. metadata +30 -18
@@ -171,10 +171,9 @@ module ActionView
171
171
  # Almost a duplicate from ActionController::Helpers
172
172
  methods.flatten.each do |method|
173
173
  _helpers_for_modification.module_eval <<~end_eval, __FILE__, __LINE__ + 1
174
- def #{method}(*args, &block) # def current_user(*args, &block)
175
- _test_case.send(:'#{method}', *args, &block) # _test_case.send(:'current_user', *args, &block)
176
- end # end
177
- ruby2_keywords(:'#{method}')
174
+ def #{method}(...) # def current_user(...)
175
+ _test_case.send(:'#{method}', ...) # _test_case.send(:'current_user', ...)
176
+ end # end
178
177
  end_eval
179
178
  end
180
179
  end
@@ -202,7 +201,7 @@ module ActionView
202
201
 
203
202
  setup :setup_with_controller
204
203
 
205
- register_parser :html, -> rendered { Rails::Dom::Testing.html_document.parse(rendered).root }
204
+ register_parser :html, -> rendered { Rails::Dom::Testing.html_document_fragment.parse(rendered) }
206
205
  register_parser :json, -> rendered { JSON.parse(rendered, object_class: ActiveSupport::HashWithIndifferentAccess) }
207
206
 
208
207
  ActiveSupport.run_load_hooks(:action_view_test_case, self)
@@ -302,7 +301,6 @@ module ActionView
302
301
  class RenderedViewContent < String # :nodoc:
303
302
  end
304
303
 
305
- # Need to experiment if this priority is the best one: rendered => output_buffer
306
304
  class RenderedViewsCollection
307
305
  def initialize
308
306
  @rendered_views ||= Hash.new { |hash, key| hash[key] = [] }
@@ -416,7 +414,7 @@ module ActionView
416
414
  end]
417
415
  end
418
416
 
419
- def method_missing(selector, *args)
417
+ def method_missing(selector, ...)
420
418
  begin
421
419
  routes = @controller.respond_to?(:_routes) && @controller._routes
422
420
  rescue
@@ -426,16 +424,15 @@ module ActionView
426
424
  if routes &&
427
425
  (routes.named_routes.route_defined?(selector) ||
428
426
  routes.mounted_helpers.method_defined?(selector))
429
- @controller.__send__(selector, *args)
427
+ @controller.__send__(selector, ...)
430
428
  else
431
429
  super
432
430
  end
433
431
  end
434
- ruby2_keywords(:method_missing)
435
432
 
436
433
  def respond_to_missing?(name, include_private = false)
437
434
  begin
438
- routes = defined?(@controller) && @controller.respond_to?(:_routes) && @controller._routes
435
+ routes = @controller.respond_to?(:_routes) && @controller._routes
439
436
  rescue
440
437
  # Don't call routes, if there is an error on _routes call
441
438
  end
data/lib/action_view.rb CHANGED
@@ -81,6 +81,7 @@ module ActionView
81
81
  autoload :MissingTemplate
82
82
  autoload :ActionViewError
83
83
  autoload :EncodingError
84
+ autoload :StrictLocalsError
84
85
  autoload :TemplateError
85
86
  autoload :SyntaxErrorInTemplate
86
87
  autoload :WrongEncodingError
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionview
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.5.1
4
+ version: 7.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,14 +15,28 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 7.1.5.1
18
+ version: 7.2.3
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 7.1.5.1
25
+ version: 7.2.3
26
+ - !ruby/object:Gem::Dependency
27
+ name: cgi
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
27
40
  - !ruby/object:Gem::Dependency
28
41
  name: builder
29
42
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +99,28 @@ dependencies:
86
99
  requirements:
87
100
  - - '='
88
101
  - !ruby/object:Gem::Version
89
- version: 7.1.5.1
102
+ version: 7.2.3
90
103
  type: :development
91
104
  prerelease: false
92
105
  version_requirements: !ruby/object:Gem::Requirement
93
106
  requirements:
94
107
  - - '='
95
108
  - !ruby/object:Gem::Version
96
- version: 7.1.5.1
109
+ version: 7.2.3
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: activemodel
99
112
  requirement: !ruby/object:Gem::Requirement
100
113
  requirements:
101
114
  - - '='
102
115
  - !ruby/object:Gem::Version
103
- version: 7.1.5.1
116
+ version: 7.2.3
104
117
  type: :development
105
118
  prerelease: false
106
119
  version_requirements: !ruby/object:Gem::Requirement
107
120
  requirements:
108
121
  - - '='
109
122
  - !ruby/object:Gem::Version
110
- version: 7.1.5.1
123
+ version: 7.2.3
111
124
  description: Simple, battle-tested conventions and helpers for building web pages.
112
125
  email: david@loudthinking.com
113
126
  executables: []
@@ -126,7 +139,7 @@ files:
126
139
  - lib/action_view/context.rb
127
140
  - lib/action_view/dependency_tracker.rb
128
141
  - lib/action_view/dependency_tracker/erb_tracker.rb
129
- - lib/action_view/dependency_tracker/ripper_tracker.rb
142
+ - lib/action_view/dependency_tracker/ruby_tracker.rb
130
143
  - lib/action_view/deprecator.rb
131
144
  - lib/action_view/digestor.rb
132
145
  - lib/action_view/flows.rb
@@ -204,6 +217,8 @@ files:
204
217
  - lib/action_view/railtie.rb
205
218
  - lib/action_view/record_identifier.rb
206
219
  - lib/action_view/render_parser.rb
220
+ - lib/action_view/render_parser/prism_render_parser.rb
221
+ - lib/action_view/render_parser/ripper_render_parser.rb
207
222
  - lib/action_view/renderer/abstract_renderer.rb
208
223
  - lib/action_view/renderer/collection_renderer.rb
209
224
  - lib/action_view/renderer/object_renderer.rb
@@ -213,7 +228,6 @@ files:
213
228
  - lib/action_view/renderer/streaming_template_renderer.rb
214
229
  - lib/action_view/renderer/template_renderer.rb
215
230
  - lib/action_view/rendering.rb
216
- - lib/action_view/ripper_ast_parser.rb
217
231
  - lib/action_view/routing_url_for.rb
218
232
  - lib/action_view/tasks/cache_digests.rake
219
233
  - lib/action_view/template.rb
@@ -245,12 +259,11 @@ licenses:
245
259
  - MIT
246
260
  metadata:
247
261
  bug_tracker_uri: https://github.com/rails/rails/issues
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/
262
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.3/actionview/CHANGELOG.md
263
+ documentation_uri: https://api.rubyonrails.org/v7.2.3/
250
264
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
251
- source_code_uri: https://github.com/rails/rails/tree/v7.1.5.1/actionview
265
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.3/actionview
252
266
  rubygems_mfa_required: 'true'
253
- post_install_message:
254
267
  rdoc_options: []
255
268
  require_paths:
256
269
  - lib
@@ -258,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
258
271
  requirements:
259
272
  - - ">="
260
273
  - !ruby/object:Gem::Version
261
- version: 2.7.0
274
+ version: 3.1.0
262
275
  required_rubygems_version: !ruby/object:Gem::Requirement
263
276
  requirements:
264
277
  - - ">="
@@ -266,8 +279,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
279
  version: '0'
267
280
  requirements:
268
281
  - none
269
- rubygems_version: 3.5.22
270
- signing_key:
282
+ rubygems_version: 3.6.9
271
283
  specification_version: 4
272
284
  summary: Rendering framework putting the V in MVC (part of Rails).
273
285
  test_files: []