actionview 7.0.6 → 7.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f57ef65d88131e8219b715bdea12c94d887fb424c8a971a97aab3cf0a59de9b9
4
- data.tar.gz: 93ebbe585c3a8d0947324de248724a9dfa4e18f7c4d8420d0dde6471cfb01f39
3
+ metadata.gz: 13f4c70dc0bfbbb891aa5066f6449c9dad918e5be7da1a718e6935fdea238194
4
+ data.tar.gz: 07af26b3506af65dfdcd05138d5238d3010f190850604b95e42b5c682fe04488
5
5
  SHA512:
6
- metadata.gz: 61d79153b519577a9a4200403a54123341cfc9793188ba3abebc8ded45273482c538bfecdc8e3e9f497fcb66ec6b3ba1f2d600fa89158ea97be9ff9e6ac76d72
7
- data.tar.gz: 7efc390ba184dfbc4143bc7bfcf27a34ee024afb9a122569b7899451ae64fd167236dbf323a48ed2fc006e467c8391051b694574a1e37026106049dbc1a192ec
6
+ metadata.gz: a910e0c2a04e7af77d67ccd4effc1b4da3b373155b2710492f2bc7cb478d5f771c1f80f6fa79db3b265e5f704cc4104a3282c552ae9d7857d558deb5967ba5f0
7
+ data.tar.gz: 8205d8b299f10d91afa0032b78e444b73c2f95640d1099e9780b9ceaec8a833411cdf52bf46f57a542c3f11321de58b894909fd66a758fefbfa3899bac17499a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## Rails 7.0.7 (August 09, 2023) ##
2
+
3
+ * Fix `render collection: @records, cache: true` to cache fragments as bare strings
4
+
5
+ Previously it would incorrectly cache them as Action View buffers.
6
+
7
+ *Jean Boussier*
8
+
9
+ * Don't double-encode nested `field_id` and `field_name` index values
10
+
11
+ Pass `index: @options` as a default keyword argument to `field_id` and
12
+ `field_name` view helper methods.
13
+
14
+ *Sean Doyle*
15
+
16
+
1
17
  ## Rails 7.0.6 (June 29, 2023) ##
2
18
 
3
19
  * No changes.
@@ -9,7 +9,7 @@ module ActionView
9
9
  module VERSION
10
10
  MAJOR = 7
11
11
  MINOR = 0
12
- TINY = 6
12
+ TINY = 7
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
@@ -1754,7 +1754,7 @@ module ActionView
1754
1754
  # <tt>aria-describedby</tt> attribute referencing the <tt><span></tt>
1755
1755
  # element, sharing a common <tt>id</tt> root (<tt>post_title</tt>, in this
1756
1756
  # case).
1757
- def field_id(method, *suffixes, namespace: @options[:namespace], index: @index)
1757
+ def field_id(method, *suffixes, namespace: @options[:namespace], index: @options[:index])
1758
1758
  @template.field_id(@object_name, method, *suffixes, namespace: namespace, index: index)
1759
1759
  end
1760
1760
 
@@ -1774,7 +1774,7 @@ module ActionView
1774
1774
  # <%# => <input type="text" name="post[tag][]">
1775
1775
  # <% end %>
1776
1776
  #
1777
- def field_name(method, *methods, multiple: false, index: @index)
1777
+ def field_name(method, *methods, multiple: false, index: @options[:index])
1778
1778
  object_name = @options.fetch(:as) { @object_name }
1779
1779
 
1780
1780
  @template.field_name(object_name, method, *methods, index: index, multiple: multiple)
@@ -88,15 +88,25 @@ module ActionView
88
88
  # If the partial is not already cached it will also be
89
89
  # written back to the underlying cache store.
90
90
  def fetch_or_cache_partial(cached_partials, template, order_by:)
91
- order_by.index_with do |cache_key|
91
+ entries_to_write = {}
92
+
93
+ keyed_partials = order_by.index_with do |cache_key|
92
94
  if content = cached_partials[cache_key]
93
95
  build_rendered_template(content, template)
94
96
  else
95
- yield.tap do |rendered_partial|
96
- collection_cache.write(cache_key, rendered_partial.body)
97
+ rendered_partial = yield
98
+ if fragment = rendered_partial.body&.to_str
99
+ entries_to_write[cache_key] = fragment
97
100
  end
101
+ rendered_partial
98
102
  end
99
103
  end
104
+
105
+ unless entries_to_write.empty?
106
+ collection_cache.write_multi(entries_to_write)
107
+ end
108
+
109
+ keyed_partials
100
110
  end
101
111
  end
102
112
  end
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: 7.0.6
4
+ version: 7.0.7
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: 2023-06-29 00:00:00.000000000 Z
11
+ date: 2023-08-09 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: 7.0.6
19
+ version: 7.0.7
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: 7.0.6
26
+ version: 7.0.7
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: builder
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -92,28 +92,28 @@ dependencies:
92
92
  requirements:
93
93
  - - '='
94
94
  - !ruby/object:Gem::Version
95
- version: 7.0.6
95
+ version: 7.0.7
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: 7.0.6
102
+ version: 7.0.7
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: 7.0.6
109
+ version: 7.0.7
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: 7.0.6
116
+ version: 7.0.7
117
117
  description: Simple, battle-tested conventions and helpers for building web pages.
118
118
  email: david@loudthinking.com
119
119
  executables: []
@@ -246,12 +246,12 @@ licenses:
246
246
  - MIT
247
247
  metadata:
248
248
  bug_tracker_uri: https://github.com/rails/rails/issues
249
- changelog_uri: https://github.com/rails/rails/blob/v7.0.6/actionview/CHANGELOG.md
250
- documentation_uri: https://api.rubyonrails.org/v7.0.6/
249
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.7/actionview/CHANGELOG.md
250
+ documentation_uri: https://api.rubyonrails.org/v7.0.7/
251
251
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
252
- source_code_uri: https://github.com/rails/rails/tree/v7.0.6/actionview
252
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.7/actionview
253
253
  rubygems_mfa_required: 'true'
254
- post_install_message:
254
+ post_install_message:
255
255
  rdoc_options: []
256
256
  require_paths:
257
257
  - lib
@@ -267,8 +267,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
267
267
  version: '0'
268
268
  requirements:
269
269
  - none
270
- rubygems_version: 3.4.13
271
- signing_key:
270
+ rubygems_version: 3.4.10
271
+ signing_key:
272
272
  specification_version: 4
273
273
  summary: Rendering framework putting the V in MVC (part of Rails).
274
274
  test_files: []