Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-actionview-8.0 for
openSUSE:Factory checked in at 2025-08-22 17:49:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionview-8.0 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.29662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-actionview-8.0"
Fri Aug 22 17:49:21 2025 rev:4 rq:1300917 version:8.0.2.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-actionview-8.0/rubygem-actionview-8.0.changes
2025-01-21 21:10:24.218801150 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-actionview-8.0.new.29662/rubygem-actionview-8.0.changes
2025-08-22 17:50:47.827432115 +0200
@@ -1,0 +2,6 @@
+Thu Aug 14 00:24:56 UTC 2025 - Marcus Rueckert <[email protected]>
+
+- Update to version 8.0.2.1:
+
https://rubyonrails.org/2025/8/13/Rails-Versions-8-0-2-1-7-2-2-2-and-7-1-5-2-have-been-released
+
+-------------------------------------------------------------------
Old:
----
actionview-8.0.1.gem
New:
----
actionview-8.0.2.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-actionview-8.0.spec ++++++
--- /var/tmp/diff_new_pack.ulFgbz/_old 2025-08-22 17:50:49.235490785 +0200
+++ /var/tmp/diff_new_pack.ulFgbz/_new 2025-08-22 17:50:49.235490785 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-actionview-8.0
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-actionview-8.0
-Version: 8.0.1
+Version: 8.0.2.1
Release: 0
%define mod_name actionview
%define mod_full_name %{mod_name}-%{version}
++++++ actionview-8.0.1.gem -> actionview-8.0.2.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2024-12-13 21:02:35.000000000 +0100
+++ new/CHANGELOG.md 1980-01-02 01:00:00.000000000 +0100
@@ -1,3 +1,48 @@
+## Rails 8.0.2.1 (August 13, 2025) ##
+
+* No changes.
+
+
+## Rails 8.0.2 (March 12, 2025) ##
+
+* No changes.
+
+
+## Rails 8.0.2 (March 12, 2025) ##
+
+* Respect `html_options[:form]` when `collection_checkboxes` generates the
+ hidden `<input>`.
+
+ *Riccardo Odone*
+
+* Layouts have access to local variables passed to `render`.
+
+ This fixes #31680 which was a regression in Rails 5.1.
+
+ *Mike Dalessio*
+
+* Argument errors related to strict locals in templates now raise an
+ `ActionView::StrictLocalsError`, and all other argument errors are
reraised as-is.
+
+ Previously, any `ArgumentError` raised during template rendering was
swallowed during strict
+ local error handling, so that an `ArgumentError` unrelated to strict
locals (e.g., a helper
+ method invoked with incorrect arguments) would be replaced by a similar
`ArgumentError` with an
+ unrelated backtrace, making it difficult to debug templates.
+
+ Now, any `ArgumentError` unrelated to strict locals is reraised,
preserving the original
+ backtrace for developers.
+
+ Also note that `ActionView::StrictLocalsError` is a subclass of
`ArgumentError`, so any existing
+ code that rescues `ArgumentError` will continue to work.
+
+ Fixes #52227.
+
+ *Mike Dalessio*
+
+* Fix stack overflow error in dependency tracker when dealing with circular
dependencies
+
+ *Jean Boussier*
+
## Rails 8.0.1 (December 13, 2024) ##
* Fix a crash in ERB template error highlighting when the error occurs on a
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/base.rb new/lib/action_view/base.rb
--- old/lib/action_view/base.rb 2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/base.rb 1980-01-02 01:00:00.000000000 +0100
@@ -267,15 +267,12 @@
begin
public_send(method, locals, buffer, **locals, &block)
rescue ArgumentError => argument_error
- raise(
- ArgumentError,
- argument_error.
- message.
- gsub("unknown keyword:", "unknown local:").
- gsub("missing keyword:", "missing local:").
- gsub("no keywords accepted", "no locals accepted").
- concat(" for #{@current_template.short_identifier}")
- )
+ public_send_line = __LINE__ - 2
+ frame = argument_error.backtrace_locations[1]
+ if frame.path == __FILE__ && frame.lineno == public_send_line
+ raise StrictLocalsError.new(argument_error, @current_template)
+ end
+ raise
end
else
public_send(method, locals, buffer, &block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/digestor.rb
new/lib/action_view/digestor.rb
--- old/lib/action_view/digestor.rb 2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/digestor.rb 1980-01-02 01:00:00.000000000 +0100
@@ -107,8 +107,12 @@
end.join("-")
end
- def to_dep_map
- children.any? ? { name => children.map(&:to_dep_map) } : name
+ def to_dep_map(seen = Set.new.compare_by_identity)
+ if seen.add?(self)
+ children.any? ? { name => children.map { |c| c.to_dep_map(seen) } }
: name
+ else # the tree has a cycle
+ name
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/gem_version.rb
new/lib/action_view/gem_version.rb
--- old/lib/action_view/gem_version.rb 2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/gem_version.rb 1980-01-02 01:00:00.000000000 +0100
@@ -9,8 +9,8 @@
module VERSION
MAJOR = 8
MINOR = 0
- TINY = 1
- PRE = nil
+ TINY = 2
+ PRE = "1"
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/cache_helper.rb
new/lib/action_view/helpers/cache_helper.rb
--- old/lib/action_view/helpers/cache_helper.rb 2024-12-13 21:02:35.000000000
+0100
+++ new/lib/action_view/helpers/cache_helper.rb 1980-01-02 01:00:00.000000000
+0100
@@ -197,7 +197,7 @@
CachingRegistry.caching?
end
- # Raises +UncacheableFragmentError+ when called from within a +cache+
block.
+ # Raises UncacheableFragmentError when called from within a +cache+
block.
#
# Useful to denote helper methods that can't participate in fragment
caching:
#
@@ -206,7 +206,7 @@
# "#{project.name} - #{Time.now}"
# end
#
- # # Which will then raise if used within a +cache+ block:
+ # # Which will then raise if used within a `cache` block:
# <% cache project do %>
# <%= project_name_with_time(project) %>
# <% end %>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/form_helper.rb
new/lib/action_view/helpers/form_helper.rb
--- old/lib/action_view/helpers/form_helper.rb 2024-12-13 21:02:35.000000000
+0100
+++ new/lib/action_view/helpers/form_helper.rb 1980-01-02 01:00:00.000000000
+0100
@@ -31,7 +31,7 @@
# of the resource should show the current values of those attributes.
#
# In \Rails, this is usually achieved by creating the form using either
- # +form_with+ or +form_for+ and a number of related helper methods. These
+ # #form_with or #form_for and a number of related helper methods. These
# methods generate an appropriate <tt>form</tt> tag and yield a form
# builder object that knows the model the form is about. Input fields are
# created by calling methods defined on the form builder, which means they
@@ -42,7 +42,7 @@
#
# For example, to create a new person you typically set up a new instance
of
# +Person+ in the <tt>PeopleController#new</tt> action, <tt>@person</tt>,
and
- # in the view template pass that object to +form_with+ or +form_for+:
+ # in the view template pass that object to #form_with or #form_for:
#
# <%= form_with model: @person do |f| %>
# <%= f.label :first_name %>:
@@ -209,7 +209,7 @@
# are designed to work with an object as base, like
# FormOptionsHelper#collection_select and DateHelper#datetime_select.
#
- # === #form_for with a model object
+ # === +form_for+ with a model object
#
# In the examples above, the object to be created or edited was
# represented by a symbol passed to +form_for+, and we noted that
@@ -364,7 +364,7 @@
#
# === Removing hidden model id's
#
- # The form_for method automatically includes the model id as a hidden
field in the form.
+ # The +form_for+ method automatically includes the model id as a hidden
field in the form.
# This is used to maintain the correlation between the form data and its
associated model.
# Some ORM systems do not use IDs on nested models so in this case you
want to be able
# to disable the hidden id.
@@ -784,12 +784,12 @@
end
end
- # Creates a scope around a specific model object like +form_with+, but
+ # Creates a scope around a specific model object like #form_with, but
# doesn't create the form tags themselves. This makes +fields_for+
# suitable for specifying additional model objects in the same form.
#
- # Although the usage and purpose of +fields_for+ is similar to
+form_with+'s,
- # its method signature is slightly different. Like +form_with+, it yields
+ # Although the usage and purpose of +fields_for+ is similar to
#form_with's,
+ # its method signature is slightly different. Like #form_with, it yields
# a FormBuilder object associated with a particular model object to a
block,
# and within the block allows methods to be called on the builder to
# generate fields associated with the model object. Fields may reflect
@@ -848,7 +848,7 @@
# === Nested Attributes Examples
#
# When the object belonging to the current scope has a nested attribute
- # writer for a certain attribute, fields_for will yield a new scope
+ # writer for a certain attribute, +fields_for+ will yield a new scope
# for that attribute. This allows you to create forms that set or change
# the attributes of a parent object and its associations in one go.
#
@@ -937,7 +937,7 @@
# end
#
# Note that the <tt>projects_attributes=</tt> writer method is in fact
- # required for fields_for to correctly identify <tt>:projects</tt> as a
+ # required for +fields_for+ to correctly identify <tt>:projects</tt> as a
# collection, and the correct indices to be set in the form markup.
#
# When projects is already an association on Person you can use
@@ -949,7 +949,7 @@
# end
#
# This model can now be used with a nested fields_for. The block given to
- # the nested fields_for call will be repeated for each instance in the
+ # the nested +fields_for+ call will be repeated for each instance in the
# collection:
#
# <%= form_with model: @person do |person_form| %>
@@ -1021,10 +1021,10 @@
# ...
# <% end %>
#
- # Note that fields_for will automatically generate a hidden field
+ # Note that +fields_for+ will automatically generate a hidden field
# to store the ID of the record if it responds to <tt>persisted?</tt>.
# There are circumstances where this hidden field is not needed and you
- # can pass <tt>include_id: false</tt> to prevent fields_for from
+ # can pass <tt>include_id: false</tt> to prevent +fields_for+ from
# rendering it automatically.
def fields_for(record_name, record_object = nil, options = {}, &block)
options = { model: record_object, allow_method_names_outside_object:
false, skip_default_ids: false }.merge!(options)
@@ -1033,7 +1033,7 @@
end
# Scopes input fields with either an explicit scope or model.
- # Like +form_with+ does with <tt>:scope</tt> or <tt>:model</tt>,
+ # Like #form_with does with <tt>:scope</tt> or <tt>:model</tt>,
# except it doesn't output the form tags.
#
# # Using a scope prefixes the input field names:
@@ -1048,7 +1048,7 @@
# <% end %>
# # => <input type="text" name="comment[body]" value="full bodied">
#
- # # Using +fields+ with +form_with+:
+ # # Using `fields` with `form_with`:
# <%= form_with model: @article do |form| %>
# <%= form.text_field :title %>
#
@@ -1057,13 +1057,13 @@
# <% end %>
# <% end %>
#
- # Much like +form_with+ a FormBuilder instance associated with the scope
+ # Much like #form_with a FormBuilder instance associated with the scope
# or model is yielded, so any generated field names are prefixed with
# either the passed scope or the scope inferred from the <tt>:model</tt>.
#
# === Mixing with other form helpers
#
- # While +form_with+ uses a FormBuilder object it's possible to mix and
+ # While #form_with uses a FormBuilder object it's possible to mix and
# match the stand-alone FormHelper methods and methods
# from FormTagHelper:
#
@@ -1221,7 +1221,7 @@
# hash with +options+. These options will be tagged onto the HTML as an
HTML element attribute as in the example
# shown.
#
- # Using this method inside a +form_with+ block will set the enclosing
form's encoding to <tt>multipart/form-data</tt>.
+ # Using this method inside a #form_with block will set the enclosing
form's encoding to <tt>multipart/form-data</tt>.
#
# ==== Options
# * Creates standard HTML attributes for the tag.
@@ -1326,7 +1326,7 @@
# the elements of the array. For each item with a checked check box you
# get an extra ghost item with only that attribute, assigned to "0".
#
- # In that case it is preferable to either use +checkbox_tag+ or to use
+ # In that case it is preferable to either use FormTagHelper#checkbox_tag
or to use
# hashes instead of arrays.
#
# ==== Examples
@@ -1632,7 +1632,7 @@
#
# A +FormBuilder+ object is associated with a particular model object and
# allows you to generate fields associated with the model object. The
- # +FormBuilder+ object is yielded when using +form_with+ or +fields_for+.
+ # +FormBuilder+ object is yielded when using #form_with or #fields_for.
# For example:
#
# <%= form_with model: @person do |person_form| %>
@@ -1770,7 +1770,7 @@
# <% end %>
#
# In the example above, the <tt><input type="text"></tt> element built by
- # the call to <tt>FormBuilder#text_field</tt> declares an
+ # the call to #text_field declares an
# <tt>aria-describedby</tt> attribute referencing the <tt><span></tt>
# element, sharing a common <tt>id</tt> root (<tt>article_title</tt>, in
this
# case).
@@ -2033,12 +2033,12 @@
end
alias_method :text_area, :textarea
- # Creates a scope around a specific model object like +form_with+, but
+ # Creates a scope around a specific model object like #form_with, but
# doesn't create the form tags themselves. This makes +fields_for+
# suitable for specifying additional model objects in the same form.
#
- # Although the usage and purpose of +fields_for+ is similar to
+form_with+'s,
- # its method signature is slightly different. Like +form_with+, it yields
+ # Although the usage and purpose of +fields_for+ is similar to
#form_with's,
+ # its method signature is slightly different. Like #form_with, it yields
# a FormBuilder object associated with a particular model object to a
block,
# and within the block allows methods to be called on the builder to
# generate fields associated with the model object. Fields may reflect
@@ -2109,7 +2109,7 @@
# === Nested Attributes Examples
#
# When the object belonging to the current scope has a nested attribute
- # writer for a certain attribute, fields_for will yield a new scope
+ # writer for a certain attribute, +fields_for+ will yield a new scope
# for that attribute. This allows you to create forms that set or change
# the attributes of a parent object and its associations in one go.
#
@@ -2140,7 +2140,7 @@
# end
# end
#
- # This model can now be used with a nested fields_for, like so:
+ # This model can now be used with a nested +fields_for+, like so:
#
# <%= form_with model: @person do |person_form| %>
# ...
@@ -2198,7 +2198,7 @@
# end
#
# Note that the <tt>projects_attributes=</tt> writer method is in fact
- # required for fields_for to correctly identify <tt>:projects</tt> as a
+ # required for +fields_for+ to correctly identify <tt>:projects</tt> as a
# collection, and the correct indices to be set in the form markup.
#
# When projects is already an association on Person you can use
@@ -2209,8 +2209,8 @@
# accepts_nested_attributes_for :projects
# end
#
- # This model can now be used with a nested fields_for. The block given to
- # the nested fields_for call will be repeated for each instance in the
+ # This model can now be used with a nested +fields_for+. The block given
to
+ # the nested +fields_for+ call will be repeated for each instance in the
# collection:
#
# <%= form_with model: @person do |person_form| %>
@@ -2282,10 +2282,10 @@
# ...
# <% end %>
#
- # Note that fields_for will automatically generate a hidden field
+ # Note that +fields_for+ will automatically generate a hidden field
# to store the ID of the record. There are circumstances where this
# hidden field is not needed and you can pass <tt>include_id: false</tt>
- # to prevent fields_for from rendering it automatically.
+ # to prevent +fields_for+ from rendering it automatically.
def fields_for(record_name, record_object = nil, fields_options = nil,
&block)
fields_options, record_object = record_object, nil if
fields_options.nil? && record_object.is_a?(Hash) &&
record_object.extractable_options?
fields_options ||= {}
@@ -2451,7 +2451,7 @@
# the elements of the array. For each item with a checked check box you
# get an extra ghost item with only that attribute, assigned to "0".
#
- # In that case it is preferable to either use +checkbox_tag+ or to use
+ # In that case it is preferable to either use FormTagHelper#checkbox_tag
or to use
# hashes instead of arrays.
#
# ==== Examples
@@ -2525,7 +2525,7 @@
# hash with +options+. These options will be tagged onto the HTML as an
HTML element attribute as in the example
# shown.
#
- # Using this method inside a +form_with+ block will set the enclosing
form's encoding to <tt>multipart/form-data</tt>.
+ # Using this method inside a #form_with block will set the enclosing
form's encoding to <tt>multipart/form-data</tt>.
#
# ==== Options
# * Creates standard HTML attributes for the tag.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/output_safety_helper.rb
new/lib/action_view/helpers/output_safety_helper.rb
--- old/lib/action_view/helpers/output_safety_helper.rb 2024-12-13
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/output_safety_helper.rb 1980-01-02
01:00:00.000000000 +0100
@@ -38,8 +38,7 @@
# Converts the array to a comma-separated sentence where the last
element is
# joined by the connector word. This is the html_safe-aware version of
- # ActiveSupport's
{Array#to_sentence}[https://api.rubyonrails.org/classes/Array.html#method-i-to_sentence].
- #
+ # ActiveSupport's Array#to_sentence.
def to_sentence(array, options = {})
options.assert_valid_keys(:words_connector, :two_words_connector,
:last_word_connector, :locale)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/sanitize_helper.rb
new/lib/action_view/helpers/sanitize_helper.rb
--- old/lib/action_view/helpers/sanitize_helper.rb 2024-12-13
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/sanitize_helper.rb 1980-01-02
01:00:00.000000000 +0100
@@ -24,6 +24,12 @@
#
# Custom sanitization rules can also be provided.
#
+ # <b>Warning</b>: Adding disallowed tags or attributes to the allowlists
may introduce
+ # vulnerabilities into your application. Please rely on the default
allowlists whenever
+ # possible, because they are curated to maintain security and safety. If
you think that the
+ # default allowlists should be expanded, please {open an issue on the
rails-html-sanitizer
+ # project}[https://github.com/rails/rails-html-sanitizer/issues].
+ #
# Please note that sanitizing user-provided text does not guarantee that
the
# resulting markup is valid or even well-formed.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/tags/collection_helpers.rb
new/lib/action_view/helpers/tags/collection_helpers.rb
--- old/lib/action_view/helpers/tags/collection_helpers.rb 2024-12-13
21:02:35.000000000 +0100
+++ new/lib/action_view/helpers/tags/collection_helpers.rb 1980-01-02
01:00:00.000000000 +0100
@@ -106,7 +106,8 @@
def hidden_field
hidden_name = @html_options[:name] || hidden_field_name
- @template_object.hidden_field_tag(hidden_name, "", id: nil)
+ options = { id: nil, form: @html_options[:form] }
+ @template_object.hidden_field_tag(hidden_name, "", options)
end
def hidden_field_name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/layouts.rb
new/lib/action_view/layouts.rb
--- old/lib/action_view/layouts.rb 2024-12-13 21:02:35.000000000 +0100
+++ new/lib/action_view/layouts.rb 1980-01-02 01:00:00.000000000 +0100
@@ -284,7 +284,7 @@
silence_redefinition_of_method(:_layout)
prefixes = /\blayouts/.match?(_implied_layout_name) ? [] : ["layouts"]
- default_behavior = "lookup_context.find_all('#{_implied_layout_name}',
#{prefixes.inspect}, false, [], { formats: formats }).first || super"
+ default_behavior = "lookup_context.find_all('#{_implied_layout_name}',
#{prefixes.inspect}, false, keys, { formats: formats }).first || super"
name_clause = if name
default_behavior
else
@@ -325,7 +325,7 @@
class_eval <<-RUBY, __FILE__, __LINE__ + 1
# frozen_string_literal: true
- def _layout(lookup_context, formats)
+ def _layout(lookup_context, formats, keys)
if _conditional_layout?
#{layout_definition}
else
@@ -389,8 +389,8 @@
case name
when String then _normalize_layout(name)
when Proc then name
- when true then Proc.new { |lookup_context, formats|
_default_layout(lookup_context, formats, true) }
- when :default then Proc.new { |lookup_context, formats|
_default_layout(lookup_context, formats, false) }
+ when true then Proc.new { |lookup_context, formats, keys|
_default_layout(lookup_context, formats, keys, true) }
+ when :default then Proc.new { |lookup_context, formats, keys|
_default_layout(lookup_context, formats, keys, false) }
when false, nil then nil
else
raise ArgumentError,
@@ -412,9 +412,9 @@
#
# ==== Returns
# * <tt>template</tt> - The template object for the default layout (or
+nil+)
- def _default_layout(lookup_context, formats, require_layout = false)
+ def _default_layout(lookup_context, formats, keys, require_layout = false)
begin
- value = _layout(lookup_context, formats) if action_has_layout?
+ value = _layout(lookup_context, formats, keys) if action_has_layout?
rescue NameError => e
raise e, "Could not render layout: #{e.message}"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/renderer/partial_renderer.rb
new/lib/action_view/renderer/partial_renderer.rb
--- old/lib/action_view/renderer/partial_renderer.rb 2024-12-13
21:02:35.000000000 +0100
+++ new/lib/action_view/renderer/partial_renderer.rb 1980-01-02
01:00:00.000000000 +0100
@@ -94,7 +94,7 @@
# # <%= render partial: "accounts/account", locals: { account: @account} %>
# <%= render partial: @account %>
#
- # # @posts is an array of Post instances, so every post record returns
'posts/post' on +to_partial_path+,
+ # # @posts is an array of Post instances, so every post record returns
'posts/post' on #to_partial_path,
# # that's why we can replace:
# # <%= render partial: "posts/post", collection: @posts %>
# <%= render partial: @posts %>
@@ -114,7 +114,7 @@
# # <%= render partial: "accounts/account", locals: { account: @account} %>
# <%= render @account %>
#
- # # @posts is an array of Post instances, so every post record returns
'posts/post' on +to_partial_path+,
+ # # @posts is an array of Post instances, so every post record returns
'posts/post' on #to_partial_path,
# # that's why we can replace:
# # <%= render partial: "posts/post", collection: @posts %>
# <%= render @posts %>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/renderer/template_renderer.rb
new/lib/action_view/renderer/template_renderer.rb
--- old/lib/action_view/renderer/template_renderer.rb 2024-12-13
21:02:35.000000000 +0100
+++ new/lib/action_view/renderer/template_renderer.rb 1980-01-02
01:00:00.000000000 +0100
@@ -99,14 +99,14 @@
if layout.start_with?("/")
raise ArgumentError, "Rendering layouts from an absolute path is
not supported."
else
- @lookup_context.find_template(layout, nil, false, [], details)
+ @lookup_context.find_template(layout, nil, false, keys, details)
end
rescue ActionView::MissingTemplate
all_details = @details.merge(formats:
@lookup_context.default_formats)
- raise unless template_exists?(layout, nil, false, [],
**all_details)
+ raise unless template_exists?(layout, nil, false, keys,
**all_details)
end
when Proc
- resolve_layout(layout.call(@lookup_context, formats), keys, formats)
+ resolve_layout(layout.call(@lookup_context, formats, keys), keys,
formats)
else
layout
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/template/error.rb
new/lib/action_view/template/error.rb
--- old/lib/action_view/template/error.rb 2024-12-13 21:02:35.000000000
+0100
+++ new/lib/action_view/template/error.rb 1980-01-02 01:00:00.000000000
+0100
@@ -27,6 +27,17 @@
end
end
+ class StrictLocalsError < ArgumentError # :nodoc:
+ def initialize(argument_error, template)
+ message = argument_error.message.
+ gsub("unknown keyword:", "unknown local:").
+ gsub("missing keyword:", "missing local:").
+ gsub("no keywords accepted", "no locals accepted").
+ concat(" for #{template.short_identifier}")
+ super(message)
+ end
+ end
+
class MissingTemplate < ActionViewError # :nodoc:
attr_reader :path, :paths, :prefixes, :partial
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2024-12-13 21:02:35.000000000 +0100
+++ new/metadata 1980-01-02 01:00:00.000000000 +0100
@@ -1,14 +1,13 @@
--- !ruby/object:Gem::Specification
name: actionview
version: !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
platform: ruby
authors:
- David Heinemeier Hansson
-autorequire:
bindir: bin
cert_chain: []
-date: 2024-12-13 00:00:00.000000000 Z
+date: 1980-01-02 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -16,14 +15,14 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
- !ruby/object:Gem::Dependency
name: builder
requirement: !ruby/object:Gem::Requirement
@@ -86,28 +85,28 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
- !ruby/object:Gem::Dependency
name: activemodel
requirement: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 8.0.1
+ version: 8.0.2.1
description: Simple, battle-tested conventions and helpers for building web
pages.
email: [email protected]
executables: []
@@ -247,12 +246,11 @@
- MIT
metadata:
bug_tracker_uri: https://github.com/rails/rails/issues
- changelog_uri:
https://github.com/rails/rails/blob/v8.0.1/actionview/CHANGELOG.md
- documentation_uri: https://api.rubyonrails.org/v8.0.1/
+ changelog_uri:
https://github.com/rails/rails/blob/v8.0.2.1/actionview/CHANGELOG.md
+ documentation_uri: https://api.rubyonrails.org/v8.0.2.1/
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
- source_code_uri: https://github.com/rails/rails/tree/v8.0.1/actionview
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.2.1/actionview
rubygems_mfa_required: 'true'
-post_install_message:
rdoc_options: []
require_paths:
- lib
@@ -268,8 +266,7 @@
version: '0'
requirements:
- none
-rubygems_version: 3.5.22
-signing_key:
+rubygems_version: 3.6.9
specification_version: 4
summary: Rendering framework putting the V in MVC (part of Rails).
test_files: []