actionview 7.1.6 → 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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -425
  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 +2 -2
  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/form_helper.rb +222 -217
  15. data/lib/action_view/helpers/form_options_helper.rb +6 -3
  16. data/lib/action_view/helpers/form_tag_helper.rb +80 -47
  17. data/lib/action_view/helpers/output_safety_helper.rb +5 -6
  18. data/lib/action_view/helpers/tag_helper.rb +208 -18
  19. data/lib/action_view/helpers/tags/collection_helpers.rb +2 -1
  20. data/lib/action_view/helpers/text_helper.rb +11 -4
  21. data/lib/action_view/helpers/url_helper.rb +3 -77
  22. data/lib/action_view/layouts.rb +8 -10
  23. data/lib/action_view/log_subscriber.rb +8 -4
  24. data/lib/action_view/railtie.rb +0 -1
  25. data/lib/action_view/render_parser/prism_render_parser.rb +127 -0
  26. data/lib/action_view/{ripper_ast_parser.rb → render_parser/ripper_render_parser.rb} +152 -9
  27. data/lib/action_view/render_parser.rb +21 -169
  28. data/lib/action_view/renderer/abstract_renderer.rb +1 -1
  29. data/lib/action_view/renderer/partial_renderer.rb +2 -2
  30. data/lib/action_view/renderer/renderer.rb +32 -38
  31. data/lib/action_view/renderer/template_renderer.rb +3 -3
  32. data/lib/action_view/rendering.rb +4 -4
  33. data/lib/action_view/template/error.rb +11 -0
  34. data/lib/action_view/template/handlers/erb.rb +45 -37
  35. data/lib/action_view/template/renderable.rb +7 -1
  36. data/lib/action_view/template/resolver.rb +0 -2
  37. data/lib/action_view/template.rb +36 -8
  38. data/lib/action_view/test_case.rb +7 -10
  39. data/lib/action_view.rb +1 -0
  40. metadata +14 -13
@@ -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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actionview
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.6
4
+ version: 7.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 7.1.6
18
+ version: 7.2.3
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 7.1.6
25
+ version: 7.2.3
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: cgi
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -99,28 +99,28 @@ dependencies:
99
99
  requirements:
100
100
  - - '='
101
101
  - !ruby/object:Gem::Version
102
- version: 7.1.6
102
+ version: 7.2.3
103
103
  type: :development
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - '='
108
108
  - !ruby/object:Gem::Version
109
- version: 7.1.6
109
+ version: 7.2.3
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: activemodel
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - '='
115
115
  - !ruby/object:Gem::Version
116
- version: 7.1.6
116
+ version: 7.2.3
117
117
  type: :development
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - '='
122
122
  - !ruby/object:Gem::Version
123
- version: 7.1.6
123
+ version: 7.2.3
124
124
  description: Simple, battle-tested conventions and helpers for building web pages.
125
125
  email: david@loudthinking.com
126
126
  executables: []
@@ -139,7 +139,7 @@ files:
139
139
  - lib/action_view/context.rb
140
140
  - lib/action_view/dependency_tracker.rb
141
141
  - lib/action_view/dependency_tracker/erb_tracker.rb
142
- - lib/action_view/dependency_tracker/ripper_tracker.rb
142
+ - lib/action_view/dependency_tracker/ruby_tracker.rb
143
143
  - lib/action_view/deprecator.rb
144
144
  - lib/action_view/digestor.rb
145
145
  - lib/action_view/flows.rb
@@ -217,6 +217,8 @@ files:
217
217
  - lib/action_view/railtie.rb
218
218
  - lib/action_view/record_identifier.rb
219
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
220
222
  - lib/action_view/renderer/abstract_renderer.rb
221
223
  - lib/action_view/renderer/collection_renderer.rb
222
224
  - lib/action_view/renderer/object_renderer.rb
@@ -226,7 +228,6 @@ files:
226
228
  - lib/action_view/renderer/streaming_template_renderer.rb
227
229
  - lib/action_view/renderer/template_renderer.rb
228
230
  - lib/action_view/rendering.rb
229
- - lib/action_view/ripper_ast_parser.rb
230
231
  - lib/action_view/routing_url_for.rb
231
232
  - lib/action_view/tasks/cache_digests.rake
232
233
  - lib/action_view/template.rb
@@ -258,10 +259,10 @@ licenses:
258
259
  - MIT
259
260
  metadata:
260
261
  bug_tracker_uri: https://github.com/rails/rails/issues
261
- changelog_uri: https://github.com/rails/rails/blob/v7.1.6/actionview/CHANGELOG.md
262
- documentation_uri: https://api.rubyonrails.org/v7.1.6/
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/
263
264
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
264
- source_code_uri: https://github.com/rails/rails/tree/v7.1.6/actionview
265
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.3/actionview
265
266
  rubygems_mfa_required: 'true'
266
267
  rdoc_options: []
267
268
  require_paths:
@@ -270,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
271
  requirements:
271
272
  - - ">="
272
273
  - !ruby/object:Gem::Version
273
- version: 2.7.0
274
+ version: 3.1.0
274
275
  required_rubygems_version: !ruby/object:Gem::Requirement
275
276
  requirements:
276
277
  - - ">="