actionview 4.2.11.1 → 7.0.2.4
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.
Potentially problematic release.
This version of actionview might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +229 -215
- data/MIT-LICENSE +1 -1
- data/README.rdoc +9 -8
- data/lib/action_view/base.rb +116 -43
- data/lib/action_view/buffers.rb +20 -3
- data/lib/action_view/cache_expiry.rb +66 -0
- data/lib/action_view/context.rb +8 -12
- data/lib/action_view/dependency_tracker/erb_tracker.rb +154 -0
- data/lib/action_view/dependency_tracker/ripper_tracker.rb +59 -0
- data/lib/action_view/dependency_tracker.rb +21 -122
- data/lib/action_view/digestor.rb +92 -85
- data/lib/action_view/flows.rb +15 -16
- data/lib/action_view/gem_version.rb +6 -4
- data/lib/action_view/helpers/active_model_helper.rb +17 -12
- data/lib/action_view/helpers/asset_tag_helper.rb +356 -101
- data/lib/action_view/helpers/asset_url_helper.rb +180 -74
- data/lib/action_view/helpers/atom_feed_helper.rb +21 -19
- data/lib/action_view/helpers/cache_helper.rb +156 -43
- data/lib/action_view/helpers/capture_helper.rb +21 -14
- data/lib/action_view/helpers/controller_helper.rb +16 -5
- data/lib/action_view/helpers/csp_helper.rb +26 -0
- data/lib/action_view/helpers/csrf_helper.rb +8 -6
- data/lib/action_view/helpers/date_helper.rb +288 -132
- data/lib/action_view/helpers/debug_helper.rb +9 -6
- data/lib/action_view/helpers/form_helper.rb +956 -173
- data/lib/action_view/helpers/form_options_helper.rb +178 -97
- data/lib/action_view/helpers/form_tag_helper.rb +220 -101
- data/lib/action_view/helpers/javascript_helper.rb +33 -19
- data/lib/action_view/helpers/number_helper.rb +88 -63
- data/lib/action_view/helpers/output_safety_helper.rb +38 -6
- data/lib/action_view/helpers/rendering_helper.rb +21 -10
- data/lib/action_view/helpers/sanitize_helper.rb +31 -32
- data/lib/action_view/helpers/tag_helper.rb +332 -71
- data/lib/action_view/helpers/tags/base.rb +123 -99
- data/lib/action_view/helpers/tags/check_box.rb +21 -20
- data/lib/action_view/helpers/tags/checkable.rb +4 -2
- data/lib/action_view/helpers/tags/collection_check_boxes.rb +12 -34
- data/lib/action_view/helpers/tags/collection_helpers.rb +69 -36
- data/lib/action_view/helpers/tags/collection_radio_buttons.rb +6 -12
- data/lib/action_view/helpers/tags/collection_select.rb +5 -3
- data/lib/action_view/helpers/tags/color_field.rb +4 -3
- data/lib/action_view/helpers/tags/date_field.rb +3 -2
- data/lib/action_view/helpers/tags/date_select.rb +38 -37
- data/lib/action_view/helpers/tags/datetime_field.rb +4 -3
- data/lib/action_view/helpers/tags/datetime_local_field.rb +3 -2
- data/lib/action_view/helpers/tags/datetime_select.rb +2 -0
- data/lib/action_view/helpers/tags/email_field.rb +2 -0
- data/lib/action_view/helpers/tags/file_field.rb +18 -0
- data/lib/action_view/helpers/tags/grouped_collection_select.rb +4 -2
- data/lib/action_view/helpers/tags/hidden_field.rb +6 -0
- data/lib/action_view/helpers/tags/label.rb +7 -2
- data/lib/action_view/helpers/tags/month_field.rb +3 -2
- data/lib/action_view/helpers/tags/number_field.rb +2 -0
- data/lib/action_view/helpers/tags/password_field.rb +3 -1
- data/lib/action_view/helpers/tags/placeholderable.rb +3 -1
- data/lib/action_view/helpers/tags/radio_button.rb +7 -6
- data/lib/action_view/helpers/tags/range_field.rb +2 -0
- data/lib/action_view/helpers/tags/search_field.rb +14 -9
- data/lib/action_view/helpers/tags/select.rb +11 -10
- data/lib/action_view/helpers/tags/tel_field.rb +2 -0
- data/lib/action_view/helpers/tags/text_area.rb +4 -2
- data/lib/action_view/helpers/tags/text_field.rb +8 -8
- data/lib/action_view/helpers/tags/time_field.rb +12 -2
- data/lib/action_view/helpers/tags/time_select.rb +2 -0
- data/lib/action_view/helpers/tags/time_zone_select.rb +3 -1
- data/lib/action_view/helpers/tags/translator.rb +15 -16
- data/lib/action_view/helpers/tags/url_field.rb +2 -0
- data/lib/action_view/helpers/tags/week_field.rb +3 -2
- data/lib/action_view/helpers/tags/weekday_select.rb +28 -0
- data/lib/action_view/helpers/tags.rb +5 -2
- data/lib/action_view/helpers/text_helper.rb +80 -51
- data/lib/action_view/helpers/translation_helper.rb +120 -69
- data/lib/action_view/helpers/url_helper.rb +398 -171
- data/lib/action_view/helpers.rb +29 -27
- data/lib/action_view/layouts.rb +68 -63
- data/lib/action_view/log_subscriber.rb +77 -10
- data/lib/action_view/lookup_context.rb +137 -113
- data/lib/action_view/model_naming.rb +4 -2
- data/lib/action_view/path_set.rb +28 -32
- data/lib/action_view/railtie.rb +74 -13
- data/lib/action_view/record_identifier.rb +53 -26
- data/lib/action_view/render_parser.rb +188 -0
- data/lib/action_view/renderer/abstract_renderer.rb +152 -15
- data/lib/action_view/renderer/collection_renderer.rb +196 -0
- data/lib/action_view/renderer/object_renderer.rb +34 -0
- data/lib/action_view/renderer/partial_renderer/collection_caching.rb +102 -0
- data/lib/action_view/renderer/partial_renderer.rb +51 -333
- data/lib/action_view/renderer/renderer.rb +68 -11
- data/lib/action_view/renderer/streaming_template_renderer.rb +60 -56
- data/lib/action_view/renderer/template_renderer.rb +87 -74
- data/lib/action_view/rendering.rb +73 -47
- data/lib/action_view/ripper_ast_parser.rb +198 -0
- data/lib/action_view/routing_url_for.rb +35 -24
- data/lib/action_view/tasks/cache_digests.rake +25 -0
- data/lib/action_view/template/error.rb +151 -41
- data/lib/action_view/template/handlers/builder.rb +12 -13
- data/lib/action_view/template/handlers/erb/erubi.rb +89 -0
- data/lib/action_view/template/handlers/erb.rb +29 -89
- data/lib/action_view/template/handlers/html.rb +11 -0
- data/lib/action_view/template/handlers/raw.rb +4 -4
- data/lib/action_view/template/handlers.rb +14 -10
- data/lib/action_view/template/html.rb +12 -13
- data/lib/action_view/template/inline.rb +22 -0
- data/lib/action_view/template/raw_file.rb +25 -0
- data/lib/action_view/template/renderable.rb +24 -0
- data/lib/action_view/template/resolver.rb +139 -300
- data/lib/action_view/template/sources/file.rb +17 -0
- data/lib/action_view/template/sources.rb +13 -0
- data/lib/action_view/template/text.rb +10 -12
- data/lib/action_view/template/types.rb +28 -26
- data/lib/action_view/template.rb +123 -91
- data/lib/action_view/template_details.rb +66 -0
- data/lib/action_view/template_path.rb +64 -0
- data/lib/action_view/test_case.rb +70 -53
- data/lib/action_view/testing/resolvers.rb +25 -35
- data/lib/action_view/unbound_template.rb +57 -0
- data/lib/action_view/version.rb +3 -1
- data/lib/action_view/view_paths.rb +73 -58
- data/lib/action_view.rb +16 -11
- data/lib/assets/compiled/rails-ujs.js +746 -0
- metadata +52 -32
- data/lib/action_view/helpers/record_tag_helper.rb +0 -108
- data/lib/action_view/tasks/dependencies.rake +0 -23
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:
|
4
|
+
version: 7.0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-26 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:
|
19
|
+
version: 7.0.2.4
|
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:
|
26
|
+
version: 7.0.2.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: builder
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,87 +39,81 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: erubi
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '1.4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '1.4'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rails-html-sanitizer
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.1'
|
62
62
|
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 1.0
|
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.
|
71
|
+
version: '1.1'
|
72
72
|
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: 1.0
|
74
|
+
version: 1.2.0
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rails-dom-testing
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: 1.0.5
|
81
|
+
version: '2.0'
|
85
82
|
type: :runtime
|
86
83
|
prerelease: false
|
87
84
|
version_requirements: !ruby/object:Gem::Requirement
|
88
85
|
requirements:
|
89
86
|
- - "~>"
|
90
87
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: 1.0.5
|
88
|
+
version: '2.0'
|
95
89
|
- !ruby/object:Gem::Dependency
|
96
90
|
name: actionpack
|
97
91
|
requirement: !ruby/object:Gem::Requirement
|
98
92
|
requirements:
|
99
93
|
- - '='
|
100
94
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
95
|
+
version: 7.0.2.4
|
102
96
|
type: :development
|
103
97
|
prerelease: false
|
104
98
|
version_requirements: !ruby/object:Gem::Requirement
|
105
99
|
requirements:
|
106
100
|
- - '='
|
107
101
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
102
|
+
version: 7.0.2.4
|
109
103
|
- !ruby/object:Gem::Dependency
|
110
104
|
name: activemodel
|
111
105
|
requirement: !ruby/object:Gem::Requirement
|
112
106
|
requirements:
|
113
107
|
- - '='
|
114
108
|
- !ruby/object:Gem::Version
|
115
|
-
version:
|
109
|
+
version: 7.0.2.4
|
116
110
|
type: :development
|
117
111
|
prerelease: false
|
118
112
|
version_requirements: !ruby/object:Gem::Requirement
|
119
113
|
requirements:
|
120
114
|
- - '='
|
121
115
|
- !ruby/object:Gem::Version
|
122
|
-
version:
|
116
|
+
version: 7.0.2.4
|
123
117
|
description: Simple, battle-tested conventions and helpers for building web pages.
|
124
118
|
email: david@loudthinking.com
|
125
119
|
executables: []
|
@@ -132,8 +126,11 @@ files:
|
|
132
126
|
- lib/action_view.rb
|
133
127
|
- lib/action_view/base.rb
|
134
128
|
- lib/action_view/buffers.rb
|
129
|
+
- lib/action_view/cache_expiry.rb
|
135
130
|
- lib/action_view/context.rb
|
136
131
|
- lib/action_view/dependency_tracker.rb
|
132
|
+
- lib/action_view/dependency_tracker/erb_tracker.rb
|
133
|
+
- lib/action_view/dependency_tracker/ripper_tracker.rb
|
137
134
|
- lib/action_view/digestor.rb
|
138
135
|
- lib/action_view/flows.rb
|
139
136
|
- lib/action_view/gem_version.rb
|
@@ -145,6 +142,7 @@ files:
|
|
145
142
|
- lib/action_view/helpers/cache_helper.rb
|
146
143
|
- lib/action_view/helpers/capture_helper.rb
|
147
144
|
- lib/action_view/helpers/controller_helper.rb
|
145
|
+
- lib/action_view/helpers/csp_helper.rb
|
148
146
|
- lib/action_view/helpers/csrf_helper.rb
|
149
147
|
- lib/action_view/helpers/date_helper.rb
|
150
148
|
- lib/action_view/helpers/debug_helper.rb
|
@@ -154,7 +152,6 @@ files:
|
|
154
152
|
- lib/action_view/helpers/javascript_helper.rb
|
155
153
|
- lib/action_view/helpers/number_helper.rb
|
156
154
|
- lib/action_view/helpers/output_safety_helper.rb
|
157
|
-
- lib/action_view/helpers/record_tag_helper.rb
|
158
155
|
- lib/action_view/helpers/rendering_helper.rb
|
159
156
|
- lib/action_view/helpers/sanitize_helper.rb
|
160
157
|
- lib/action_view/helpers/tag_helper.rb
|
@@ -194,6 +191,7 @@ files:
|
|
194
191
|
- lib/action_view/helpers/tags/translator.rb
|
195
192
|
- lib/action_view/helpers/tags/url_field.rb
|
196
193
|
- lib/action_view/helpers/tags/week_field.rb
|
194
|
+
- lib/action_view/helpers/tags/weekday_select.rb
|
197
195
|
- lib/action_view/helpers/text_helper.rb
|
198
196
|
- lib/action_view/helpers/translation_helper.rb
|
199
197
|
- lib/action_view/helpers/url_helper.rb
|
@@ -205,33 +203,55 @@ files:
|
|
205
203
|
- lib/action_view/path_set.rb
|
206
204
|
- lib/action_view/railtie.rb
|
207
205
|
- lib/action_view/record_identifier.rb
|
206
|
+
- lib/action_view/render_parser.rb
|
208
207
|
- lib/action_view/renderer/abstract_renderer.rb
|
208
|
+
- lib/action_view/renderer/collection_renderer.rb
|
209
|
+
- lib/action_view/renderer/object_renderer.rb
|
209
210
|
- lib/action_view/renderer/partial_renderer.rb
|
211
|
+
- lib/action_view/renderer/partial_renderer/collection_caching.rb
|
210
212
|
- lib/action_view/renderer/renderer.rb
|
211
213
|
- lib/action_view/renderer/streaming_template_renderer.rb
|
212
214
|
- lib/action_view/renderer/template_renderer.rb
|
213
215
|
- lib/action_view/rendering.rb
|
216
|
+
- lib/action_view/ripper_ast_parser.rb
|
214
217
|
- lib/action_view/routing_url_for.rb
|
215
|
-
- lib/action_view/tasks/
|
218
|
+
- lib/action_view/tasks/cache_digests.rake
|
216
219
|
- lib/action_view/template.rb
|
217
220
|
- lib/action_view/template/error.rb
|
218
221
|
- lib/action_view/template/handlers.rb
|
219
222
|
- lib/action_view/template/handlers/builder.rb
|
220
223
|
- lib/action_view/template/handlers/erb.rb
|
224
|
+
- lib/action_view/template/handlers/erb/erubi.rb
|
225
|
+
- lib/action_view/template/handlers/html.rb
|
221
226
|
- lib/action_view/template/handlers/raw.rb
|
222
227
|
- lib/action_view/template/html.rb
|
228
|
+
- lib/action_view/template/inline.rb
|
229
|
+
- lib/action_view/template/raw_file.rb
|
230
|
+
- lib/action_view/template/renderable.rb
|
223
231
|
- lib/action_view/template/resolver.rb
|
232
|
+
- lib/action_view/template/sources.rb
|
233
|
+
- lib/action_view/template/sources/file.rb
|
224
234
|
- lib/action_view/template/text.rb
|
225
235
|
- lib/action_view/template/types.rb
|
236
|
+
- lib/action_view/template_details.rb
|
237
|
+
- lib/action_view/template_path.rb
|
226
238
|
- lib/action_view/test_case.rb
|
227
239
|
- lib/action_view/testing/resolvers.rb
|
240
|
+
- lib/action_view/unbound_template.rb
|
228
241
|
- lib/action_view/version.rb
|
229
242
|
- lib/action_view/view_paths.rb
|
230
|
-
|
243
|
+
- lib/assets/compiled/rails-ujs.js
|
244
|
+
homepage: https://rubyonrails.org
|
231
245
|
licenses:
|
232
246
|
- MIT
|
233
|
-
metadata:
|
234
|
-
|
247
|
+
metadata:
|
248
|
+
bug_tracker_uri: https://github.com/rails/rails/issues
|
249
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.0.2.4/actionview/CHANGELOG.md
|
250
|
+
documentation_uri: https://api.rubyonrails.org/v7.0.2.4/
|
251
|
+
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
252
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.0.2.4/actionview
|
253
|
+
rubygems_mfa_required: 'true'
|
254
|
+
post_install_message:
|
235
255
|
rdoc_options: []
|
236
256
|
require_paths:
|
237
257
|
- lib
|
@@ -239,7 +259,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
239
259
|
requirements:
|
240
260
|
- - ">="
|
241
261
|
- !ruby/object:Gem::Version
|
242
|
-
version:
|
262
|
+
version: 2.7.0
|
243
263
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
244
264
|
requirements:
|
245
265
|
- - ">="
|
@@ -247,8 +267,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
267
|
version: '0'
|
248
268
|
requirements:
|
249
269
|
- none
|
250
|
-
rubygems_version: 3.
|
251
|
-
signing_key:
|
270
|
+
rubygems_version: 3.1.6
|
271
|
+
signing_key:
|
252
272
|
specification_version: 4
|
253
273
|
summary: Rendering framework putting the V in MVC (part of Rails).
|
254
274
|
test_files: []
|
@@ -1,108 +0,0 @@
|
|
1
|
-
require 'action_view/record_identifier'
|
2
|
-
|
3
|
-
module ActionView
|
4
|
-
# = Action View Record Tag Helpers
|
5
|
-
module Helpers
|
6
|
-
module RecordTagHelper
|
7
|
-
include ActionView::RecordIdentifier
|
8
|
-
|
9
|
-
# Produces a wrapper DIV element with id and class parameters that
|
10
|
-
# relate to the specified Active Record object. Usage example:
|
11
|
-
#
|
12
|
-
# <%= div_for(@person, class: "foo") do %>
|
13
|
-
# <%= @person.name %>
|
14
|
-
# <% end %>
|
15
|
-
#
|
16
|
-
# produces:
|
17
|
-
#
|
18
|
-
# <div id="person_123" class="person foo"> Joe Bloggs </div>
|
19
|
-
#
|
20
|
-
# You can also pass an array of Active Record objects, which will then
|
21
|
-
# get iterated over and yield each record as an argument for the block.
|
22
|
-
# For example:
|
23
|
-
#
|
24
|
-
# <%= div_for(@people, class: "foo") do |person| %>
|
25
|
-
# <%= person.name %>
|
26
|
-
# <% end %>
|
27
|
-
#
|
28
|
-
# produces:
|
29
|
-
#
|
30
|
-
# <div id="person_123" class="person foo"> Joe Bloggs </div>
|
31
|
-
# <div id="person_124" class="person foo"> Jane Bloggs </div>
|
32
|
-
#
|
33
|
-
def div_for(record, *args, &block)
|
34
|
-
content_tag_for(:div, record, *args, &block)
|
35
|
-
end
|
36
|
-
|
37
|
-
# content_tag_for creates an HTML element with id and class parameters
|
38
|
-
# that relate to the specified Active Record object. For example:
|
39
|
-
#
|
40
|
-
# <%= content_tag_for(:tr, @person) do %>
|
41
|
-
# <td><%= @person.first_name %></td>
|
42
|
-
# <td><%= @person.last_name %></td>
|
43
|
-
# <% end %>
|
44
|
-
#
|
45
|
-
# would produce the following HTML (assuming @person is an instance of
|
46
|
-
# a Person object, with an id value of 123):
|
47
|
-
#
|
48
|
-
# <tr id="person_123" class="person">....</tr>
|
49
|
-
#
|
50
|
-
# If you require the HTML id attribute to have a prefix, you can specify it:
|
51
|
-
#
|
52
|
-
# <%= content_tag_for(:tr, @person, :foo) do %> ...
|
53
|
-
#
|
54
|
-
# produces:
|
55
|
-
#
|
56
|
-
# <tr id="foo_person_123" class="person">...
|
57
|
-
#
|
58
|
-
# You can also pass an array of objects which this method will loop through
|
59
|
-
# and yield the current object to the supplied block, reducing the need for
|
60
|
-
# having to iterate through the object (using <tt>each</tt>) beforehand.
|
61
|
-
# For example (assuming @people is an array of Person objects):
|
62
|
-
#
|
63
|
-
# <%= content_tag_for(:tr, @people) do |person| %>
|
64
|
-
# <td><%= person.first_name %></td>
|
65
|
-
# <td><%= person.last_name %></td>
|
66
|
-
# <% end %>
|
67
|
-
#
|
68
|
-
# produces:
|
69
|
-
#
|
70
|
-
# <tr id="person_123" class="person">...</tr>
|
71
|
-
# <tr id="person_124" class="person">...</tr>
|
72
|
-
#
|
73
|
-
# content_tag_for also accepts a hash of options, which will be converted to
|
74
|
-
# additional HTML attributes. If you specify a <tt>:class</tt> value, it will be combined
|
75
|
-
# with the default class name for your object. For example:
|
76
|
-
#
|
77
|
-
# <%= content_tag_for(:li, @person, class: "bar") %>...
|
78
|
-
#
|
79
|
-
# produces:
|
80
|
-
#
|
81
|
-
# <li id="person_123" class="person bar">...
|
82
|
-
#
|
83
|
-
def content_tag_for(tag_name, single_or_multiple_records, prefix = nil, options = nil, &block)
|
84
|
-
options, prefix = prefix, nil if prefix.is_a?(Hash)
|
85
|
-
|
86
|
-
Array(single_or_multiple_records).map do |single_record|
|
87
|
-
content_tag_for_single_record(tag_name, single_record, prefix, options, &block)
|
88
|
-
end.join("\n").html_safe
|
89
|
-
end
|
90
|
-
|
91
|
-
private
|
92
|
-
|
93
|
-
# Called by <tt>content_tag_for</tt> internally to render a content tag
|
94
|
-
# for each record.
|
95
|
-
def content_tag_for_single_record(tag_name, record, prefix, options, &block)
|
96
|
-
options = options ? options.dup : {}
|
97
|
-
options[:class] = [ dom_class(record, prefix), options[:class] ].compact
|
98
|
-
options[:id] = dom_id(record, prefix)
|
99
|
-
|
100
|
-
if block_given?
|
101
|
-
content_tag(tag_name, capture(record, &block), options)
|
102
|
-
else
|
103
|
-
content_tag(tag_name, "", options)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
namespace :cache_digests do
|
2
|
-
desc 'Lookup nested dependencies for TEMPLATE (like messages/show or comments/_comment.html)'
|
3
|
-
task :nested_dependencies => :environment do
|
4
|
-
abort 'You must provide TEMPLATE for the task to run' unless ENV['TEMPLATE'].present?
|
5
|
-
puts JSON.pretty_generate ActionView::Digestor.new(name: CacheDigests.template_name, finder: CacheDigests.finder).nested_dependencies
|
6
|
-
end
|
7
|
-
|
8
|
-
desc 'Lookup first-level dependencies for TEMPLATE (like messages/show or comments/_comment.html)'
|
9
|
-
task :dependencies => :environment do
|
10
|
-
abort 'You must provide TEMPLATE for the task to run' unless ENV['TEMPLATE'].present?
|
11
|
-
puts JSON.pretty_generate ActionView::Digestor.new(name: CacheDigests.template_name, finder: CacheDigests.finder).dependencies
|
12
|
-
end
|
13
|
-
|
14
|
-
class CacheDigests
|
15
|
-
def self.template_name
|
16
|
-
ENV['TEMPLATE'].split('.', 2).first
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.finder
|
20
|
-
ApplicationController.new.lookup_context
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|