actionview 7.1.5.2 → 8.1.2.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +96 -436
- data/README.rdoc +1 -1
- data/lib/action_view/base.rb +29 -11
- data/lib/action_view/buffers.rb +1 -1
- data/lib/action_view/cache_expiry.rb +9 -3
- data/lib/action_view/dependency_tracker/erb_tracker.rb +37 -28
- data/lib/action_view/dependency_tracker/ruby_tracker.rb +43 -0
- data/lib/action_view/dependency_tracker/wildcard_resolver.rb +32 -0
- data/lib/action_view/dependency_tracker.rb +8 -2
- data/lib/action_view/digestor.rb +6 -2
- data/lib/action_view/gem_version.rb +3 -3
- data/lib/action_view/helpers/asset_tag_helper.rb +39 -8
- data/lib/action_view/helpers/atom_feed_helper.rb +1 -3
- data/lib/action_view/helpers/cache_helper.rb +10 -2
- data/lib/action_view/helpers/capture_helper.rb +2 -2
- data/lib/action_view/helpers/controller_helper.rb +6 -2
- data/lib/action_view/helpers/csrf_helper.rb +1 -1
- data/lib/action_view/helpers/date_helper.rb +28 -4
- data/lib/action_view/helpers/form_helper.rb +277 -272
- data/lib/action_view/helpers/form_options_helper.rb +39 -35
- data/lib/action_view/helpers/form_tag_helper.rb +115 -72
- data/lib/action_view/helpers/javascript_helper.rb +5 -1
- data/lib/action_view/helpers/number_helper.rb +14 -0
- data/lib/action_view/helpers/output_safety_helper.rb +5 -6
- data/lib/action_view/helpers/rendering_helper.rb +160 -50
- data/lib/action_view/helpers/sanitize_helper.rb +6 -0
- data/lib/action_view/helpers/tag_helper.rb +225 -48
- data/lib/action_view/helpers/tags/base.rb +11 -9
- data/lib/action_view/helpers/tags/check_box.rb +9 -3
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +4 -3
- data/lib/action_view/helpers/tags/collection_helpers.rb +2 -1
- data/lib/action_view/helpers/tags/datetime_field.rb +1 -1
- data/lib/action_view/helpers/tags/file_field.rb +7 -2
- data/lib/action_view/helpers/tags/hidden_field.rb +1 -1
- data/lib/action_view/helpers/tags/label.rb +3 -10
- data/lib/action_view/helpers/tags/radio_button.rb +1 -1
- data/lib/action_view/helpers/tags/select.rb +6 -1
- data/lib/action_view/helpers/tags/select_renderer.rb +6 -4
- data/lib/action_view/helpers/tags/text_area.rb +1 -1
- data/lib/action_view/helpers/tags/text_field.rb +1 -1
- data/lib/action_view/helpers/text_helper.rb +11 -4
- data/lib/action_view/helpers/translation_helper.rb +6 -1
- data/lib/action_view/helpers/url_helper.rb +42 -90
- data/lib/action_view/layouts.rb +9 -11
- data/lib/action_view/locale/en.yml +3 -0
- data/lib/action_view/log_subscriber.rb +9 -8
- data/lib/action_view/railtie.rb +12 -2
- data/lib/action_view/record_identifier.rb +22 -1
- data/lib/action_view/render_parser/prism_render_parser.rb +139 -0
- data/lib/action_view/{ripper_ast_parser.rb → render_parser/ripper_render_parser.rb} +162 -10
- data/lib/action_view/render_parser.rb +21 -169
- data/lib/action_view/renderer/abstract_renderer.rb +1 -1
- data/lib/action_view/renderer/partial_renderer.rb +18 -2
- data/lib/action_view/renderer/renderer.rb +32 -38
- data/lib/action_view/renderer/streaming_template_renderer.rb +8 -2
- data/lib/action_view/renderer/template_renderer.rb +3 -3
- data/lib/action_view/rendering.rb +6 -7
- data/lib/action_view/structured_event_subscriber.rb +97 -0
- data/lib/action_view/template/error.rb +18 -3
- data/lib/action_view/template/handlers/erb/erubi.rb +1 -1
- data/lib/action_view/template/handlers/erb.rb +77 -44
- data/lib/action_view/template/raw_file.rb +4 -0
- data/lib/action_view/template/renderable.rb +7 -1
- data/lib/action_view/template/resolver.rb +0 -3
- data/lib/action_view/template.rb +39 -12
- data/lib/action_view/test_case.rb +57 -62
- data/lib/action_view.rb +4 -0
- metadata +17 -14
- data/lib/action_view/dependency_tracker/ripper_tracker.rb +0 -59
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:
|
|
4
|
+
version: 8.1.2.1
|
|
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:
|
|
18
|
+
version: 8.1.2.1
|
|
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:
|
|
25
|
+
version: 8.1.2.1
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: builder
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,28 +85,28 @@ dependencies:
|
|
|
85
85
|
requirements:
|
|
86
86
|
- - '='
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version:
|
|
88
|
+
version: 8.1.2.1
|
|
89
89
|
type: :development
|
|
90
90
|
prerelease: false
|
|
91
91
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
93
|
- - '='
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
|
-
version:
|
|
95
|
+
version: 8.1.2.1
|
|
96
96
|
- !ruby/object:Gem::Dependency
|
|
97
97
|
name: activemodel
|
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
100
|
- - '='
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
|
-
version:
|
|
102
|
+
version: 8.1.2.1
|
|
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:
|
|
109
|
+
version: 8.1.2.1
|
|
110
110
|
description: Simple, battle-tested conventions and helpers for building web pages.
|
|
111
111
|
email: david@loudthinking.com
|
|
112
112
|
executables: []
|
|
@@ -125,7 +125,8 @@ files:
|
|
|
125
125
|
- lib/action_view/context.rb
|
|
126
126
|
- lib/action_view/dependency_tracker.rb
|
|
127
127
|
- lib/action_view/dependency_tracker/erb_tracker.rb
|
|
128
|
-
- lib/action_view/dependency_tracker/
|
|
128
|
+
- lib/action_view/dependency_tracker/ruby_tracker.rb
|
|
129
|
+
- lib/action_view/dependency_tracker/wildcard_resolver.rb
|
|
129
130
|
- lib/action_view/deprecator.rb
|
|
130
131
|
- lib/action_view/digestor.rb
|
|
131
132
|
- lib/action_view/flows.rb
|
|
@@ -203,6 +204,8 @@ files:
|
|
|
203
204
|
- lib/action_view/railtie.rb
|
|
204
205
|
- lib/action_view/record_identifier.rb
|
|
205
206
|
- lib/action_view/render_parser.rb
|
|
207
|
+
- lib/action_view/render_parser/prism_render_parser.rb
|
|
208
|
+
- lib/action_view/render_parser/ripper_render_parser.rb
|
|
206
209
|
- lib/action_view/renderer/abstract_renderer.rb
|
|
207
210
|
- lib/action_view/renderer/collection_renderer.rb
|
|
208
211
|
- lib/action_view/renderer/object_renderer.rb
|
|
@@ -212,8 +215,8 @@ files:
|
|
|
212
215
|
- lib/action_view/renderer/streaming_template_renderer.rb
|
|
213
216
|
- lib/action_view/renderer/template_renderer.rb
|
|
214
217
|
- lib/action_view/rendering.rb
|
|
215
|
-
- lib/action_view/ripper_ast_parser.rb
|
|
216
218
|
- lib/action_view/routing_url_for.rb
|
|
219
|
+
- lib/action_view/structured_event_subscriber.rb
|
|
217
220
|
- lib/action_view/tasks/cache_digests.rake
|
|
218
221
|
- lib/action_view/template.rb
|
|
219
222
|
- lib/action_view/template/error.rb
|
|
@@ -244,10 +247,10 @@ licenses:
|
|
|
244
247
|
- MIT
|
|
245
248
|
metadata:
|
|
246
249
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
|
247
|
-
changelog_uri: https://github.com/rails/rails/blob/
|
|
248
|
-
documentation_uri: https://api.rubyonrails.org/
|
|
250
|
+
changelog_uri: https://github.com/rails/rails/blob/v8.1.2.1/actionview/CHANGELOG.md
|
|
251
|
+
documentation_uri: https://api.rubyonrails.org/v8.1.2.1/
|
|
249
252
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
|
250
|
-
source_code_uri: https://github.com/rails/rails/tree/
|
|
253
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.1.2.1/actionview
|
|
251
254
|
rubygems_mfa_required: 'true'
|
|
252
255
|
rdoc_options: []
|
|
253
256
|
require_paths:
|
|
@@ -256,7 +259,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
256
259
|
requirements:
|
|
257
260
|
- - ">="
|
|
258
261
|
- !ruby/object:Gem::Version
|
|
259
|
-
version: 2.
|
|
262
|
+
version: 3.2.0
|
|
260
263
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
261
264
|
requirements:
|
|
262
265
|
- - ">="
|
|
@@ -264,7 +267,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
264
267
|
version: '0'
|
|
265
268
|
requirements:
|
|
266
269
|
- none
|
|
267
|
-
rubygems_version:
|
|
270
|
+
rubygems_version: 4.0.6
|
|
268
271
|
specification_version: 4
|
|
269
272
|
summary: Rendering framework putting the V in MVC (part of Rails).
|
|
270
273
|
test_files: []
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module ActionView
|
|
4
|
-
class DependencyTracker # :nodoc:
|
|
5
|
-
class RipperTracker # :nodoc:
|
|
6
|
-
EXPLICIT_DEPENDENCY = /# Template Dependency: (\S+)/
|
|
7
|
-
|
|
8
|
-
def self.call(name, template, view_paths = nil)
|
|
9
|
-
new(name, template, view_paths).dependencies
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def dependencies
|
|
13
|
-
render_dependencies + explicit_dependencies
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def self.supports_view_paths? # :nodoc:
|
|
17
|
-
true
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def initialize(name, template, view_paths = nil)
|
|
21
|
-
@name, @template, @view_paths = name, template, view_paths
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
attr_reader :template, :name, :view_paths
|
|
26
|
-
|
|
27
|
-
def render_dependencies
|
|
28
|
-
return [] unless template.source.include?("render")
|
|
29
|
-
|
|
30
|
-
compiled_source = template.handler.call(template, template.source)
|
|
31
|
-
|
|
32
|
-
RenderParser.new(@name, compiled_source).render_calls.filter_map do |render_call|
|
|
33
|
-
next if render_call.end_with?("/_")
|
|
34
|
-
render_call.gsub(%r|/_|, "/")
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def explicit_dependencies
|
|
39
|
-
dependencies = template.source.scan(EXPLICIT_DEPENDENCY).flatten.uniq
|
|
40
|
-
|
|
41
|
-
wildcards, explicits = dependencies.partition { |dependency| dependency.end_with?("/*") }
|
|
42
|
-
|
|
43
|
-
(explicits + resolve_directories(wildcards)).uniq
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def resolve_directories(wildcard_dependencies)
|
|
47
|
-
return [] unless view_paths
|
|
48
|
-
return [] if wildcard_dependencies.empty?
|
|
49
|
-
|
|
50
|
-
# Remove trailing "/*"
|
|
51
|
-
prefixes = wildcard_dependencies.map { |query| query[0..-3] }
|
|
52
|
-
|
|
53
|
-
view_paths.flat_map(&:all_template_paths).uniq.filter_map { |path|
|
|
54
|
-
path.to_s if prefixes.include?(path.prefix)
|
|
55
|
-
}.sort
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|