Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-actionview-7.0 for
openSUSE:Factory checked in at 2022-05-16 18:08:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-actionview-7.0 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-actionview-7.0.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-actionview-7.0"
Mon May 16 18:08:28 2022 rev:4 rq:977363 version:7.0.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-actionview-7.0/rubygem-actionview-7.0.changes
2022-04-30 22:52:23.748212723 +0200
+++
/work/SRC/openSUSE:Factory/.rubygem-actionview-7.0.new.1538/rubygem-actionview-7.0.changes
2022-05-16 18:10:55.569393104 +0200
@@ -1,0 +2,9 @@
+Sun May 15 15:17:47 UTC 2022 - Manuel Schnitzer <[email protected]>
+
+- updated to version 7.0.3
+
+ * Ensure models passed to `form_for` attempt to call `to_model`.
+
+ *Sean Doyle*
+
+-------------------------------------------------------------------
Old:
----
actionview-7.0.2.4.gem
New:
----
actionview-7.0.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-actionview-7.0.spec ++++++
--- /var/tmp/diff_new_pack.EYIhAt/_old 2022-05-16 18:10:55.969393422 +0200
+++ /var/tmp/diff_new_pack.EYIhAt/_new 2022-05-16 18:10:55.977393429 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-actionview-7.0
-Version: 7.0.2.4
+Version: 7.0.3
Release: 0
%define mod_name actionview
%define mod_full_name %{mod_name}-%{version}
++++++ actionview-7.0.2.4.gem -> actionview-7.0.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2022-04-26 21:32:40.000000000 +0200
+++ new/CHANGELOG.md 2022-05-09 15:40:11.000000000 +0200
@@ -1,3 +1,9 @@
+## Rails 7.0.3 (May 09, 2022) ##
+
+* Ensure models passed to `form_for` attempt to call `to_model`.
+
+ *Sean Doyle*
+
## Rails 7.0.2.4 (April 26, 2022) ##
* Fix and add protections for XSS in `ActionView::Helpers` and `ERB::Util`.
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/gem_version.rb
new/lib/action_view/gem_version.rb
--- old/lib/action_view/gem_version.rb 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/gem_version.rb 2022-05-09 15:40:11.000000000 +0200
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module ActionView
- # Returns the version of the currently loaded Action View as a
<tt>Gem::Version</tt>
+ # Returns the currently loaded version of Action View as a
<tt>Gem::Version</tt>.
def self.gem_version
Gem::Version.new VERSION::STRING
end
@@ -9,8 +9,8 @@
module VERSION
MAJOR = 7
MINOR = 0
- TINY = 2
- PRE = "4"
+ TINY = 3
+ PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/asset_tag_helper.rb
new/lib/action_view/helpers/asset_tag_helper.rb
--- old/lib/action_view/helpers/asset_tag_helper.rb 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/helpers/asset_tag_helper.rb 2022-05-09
15:40:11.000000000 +0200
@@ -517,9 +517,9 @@
def extract_dimensions(size)
size = size.to_s
- if /\A\d+x\d+\z/.match?(size)
+ if /\A(\d+|\d+.\d+)x(\d+|\d+.\d+)\z/.match?(size)
size.split("x")
- elsif /\A\d+\z/.match?(size)
+ elsif /\A(\d+|\d+.\d+)\z/.match?(size)
[size, size]
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/asset_url_helper.rb
new/lib/action_view/helpers/asset_url_helper.rb
--- old/lib/action_view/helpers/asset_url_helper.rb 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/helpers/asset_url_helper.rb 2022-05-09
15:40:11.000000000 +0200
@@ -219,7 +219,7 @@
# Computes the full URL to an asset in the public directory. This
# will use +asset_path+ internally, so most of their behaviors
- # will be the same. If :host options is set, it overwrites global
+ # will be the same. If +:host+ options is set, it overwrites global
# +config.action_controller.asset_host+ setting.
#
# All other options provided are forwarded to +asset_path+ call.
@@ -324,7 +324,7 @@
# Computes the full URL to a JavaScript asset in the public javascripts
directory.
# This will use +javascript_path+ internally, so most of their behaviors
will be the same.
- # Since +javascript_url+ is based on +asset_url+ method you can set
:host options. If :host
+ # Since +javascript_url+ is based on +asset_url+ method you can set
+:host+ options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# javascript_url "js/xmlhr.js", host: "http://stage.example.com" # =>
http://stage.example.com/assets/js/xmlhr.js
@@ -351,7 +351,7 @@
# Computes the full URL to a stylesheet asset in the public stylesheets
directory.
# This will use +stylesheet_path+ internally, so most of their behaviors
will be the same.
- # Since +stylesheet_url+ is based on +asset_url+ method you can set
:host options. If :host
+ # Since +stylesheet_url+ is based on +asset_url+ method you can set
+:host+ options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# stylesheet_url "css/style.css", host: "http://stage.example.com" #
=> http://stage.example.com/assets/css/style.css
@@ -381,7 +381,7 @@
# Computes the full URL to an image asset.
# This will use +image_path+ internally, so most of their behaviors will
be the same.
- # Since +image_url+ is based on +asset_url+ method you can set :host
options. If :host
+ # Since +image_url+ is based on +asset_url+ method you can set +:host+
options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# image_url "edit.png", host: "http://stage.example.com" # =>
http://stage.example.com/assets/edit.png
@@ -407,7 +407,7 @@
# Computes the full URL to a video asset in the public videos directory.
# This will use +video_path+ internally, so most of their behaviors will
be the same.
- # Since +video_url+ is based on +asset_url+ method you can set :host
options. If :host
+ # Since +video_url+ is based on +asset_url+ method you can set +:host+
options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# video_url "hd.avi", host: "http://stage.example.com" # =>
http://stage.example.com/videos/hd.avi
@@ -433,7 +433,7 @@
# Computes the full URL to an audio asset in the public audios directory.
# This will use +audio_path+ internally, so most of their behaviors will
be the same.
- # Since +audio_url+ is based on +asset_url+ method you can set :host
options. If :host
+ # Since +audio_url+ is based on +asset_url+ method you can set +:host+
options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# audio_url "horse.wav", host: "http://stage.example.com" # =>
http://stage.example.com/audios/horse.wav
@@ -458,7 +458,7 @@
# Computes the full URL to a font asset.
# This will use +font_path+ internally, so most of their behaviors will
be the same.
- # Since +font_url+ is based on +asset_url+ method you can set :host
options. If :host
+ # Since +font_url+ is based on +asset_url+ method you can set +:host+
options. If +:host+
# options is set, it overwrites global
+config.action_controller.asset_host+ setting.
#
# font_url "font.ttf", host: "http://stage.example.com" # =>
http://stage.example.com/fonts/font.ttf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/date_helper.rb
new/lib/action_view/helpers/date_helper.rb
--- old/lib/action_view/helpers/date_helper.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/helpers/date_helper.rb 2022-05-09 15:40:11.000000000
+0200
@@ -26,7 +26,7 @@
MINUTES_IN_QUARTER_YEAR = 131400
MINUTES_IN_THREE_QUARTERS_YEAR = 394200
- # Reports the approximate distance in time between two Time, Date or
DateTime objects or integers as seconds.
+ # Reports the approximate distance in time between two Time, Date, or
DateTime objects or integers as seconds.
# Pass <tt>include_seconds: true</tt> if you want more detailed
approximations when distance < 1 min, 29 secs.
# Distances are reported based on the following table:
#
@@ -291,12 +291,12 @@
Tags::DateSelect.new(object_name, method, self, options,
html_options).render
end
- # Returns a set of select tags (one for hour, minute and optionally
second) pre-selected for accessing a
+ # Returns a set of select tags (one for hour, minute, and optionally
second) pre-selected for accessing a
# specified time-based attribute (identified by +method+) on an object
assigned to the template (identified by
# +object+). You can include the seconds with <tt>:include_seconds</tt>.
You can get hours in the AM/PM format
# with <tt>:ampm</tt> option.
#
- # This method will also generate 3 input hidden tags, for the actual
year, month and day unless the option
+ # This method will also generate 3 input hidden tags, for the actual
year, month, and day unless the option
# <tt>:ignore_date</tt> is set to +true+. If you set the
<tt>:ignore_date</tt> to +true+, you must have a
# +date_select+ on the same method within the form otherwise an
exception will be raised.
#
@@ -871,6 +871,10 @@
end
end
+ def prompt_text(prompt, type)
+ prompt.kind_of?(String) ? prompt :
I18n.translate(:"datetime.prompts.#{type}", locale: @options[:locale])
+ end
+
# If the day is hidden, the day should be set to the 1st so all month
and year choices are
# valid. Otherwise, February 31st or February 29th, 2011 can be
selected, which are invalid.
def set_day_if_discarded
@@ -1144,7 +1148,7 @@
I18n.translate(:"datetime.prompts.#{type}", locale:
@options[:locale])
end
- prompt ? content_tag("option", prompt, value: "") : ""
+ prompt ? content_tag("option", prompt_text(prompt, type), value: "")
: ""
end
# Builds hidden input tag for date part and value.
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 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/helpers/form_helper.rb 2022-05-09 15:40:11.000000000
+0200
@@ -438,7 +438,7 @@
model = nil
object_name = record
else
- model = record
+ model = convert_to_model(record)
object = _object_for_form_builder(record)
raise ArgumentError, "First argument in form cannot contain nil or
be empty" unless object
object_name = options[:as] ||
model_name_from_record_or_class(object).param_key
@@ -1014,9 +1014,10 @@
# <% end %>
#
# 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 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
+ # 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)
@@ -1082,7 +1083,7 @@
# Returns a label tag tailored for labelling an input field for a
specified attribute (identified by +method+) on an object
# assigned to the template (identified by +object+). The text of label
will default to the attribute name unless a translation
- # is found in the current I18n locale (through
helpers.label.<modelname>.<attribute>) or you specify it explicitly.
+ # is found in the current I18n locale (through
<tt>helpers.label.<modelname>.<attribute></tt>) or you specify it explicitly.
# Additional options on the label tag can be passed as a hash with
+options+. These options will be tagged
# onto the HTML as an HTML element attribute as in the example shown,
except for the <tt>:value</tt> option, which is designed to
# target labels for radio_button tags (where the value is used in the ID
of the input tag).
@@ -2285,7 +2286,7 @@
@template.fields_for(record_name, record_object, fields_options,
&block)
end
- # See the docs for the <tt>ActionView::FormHelper.fields</tt> helper
method.
+ # See the docs for the ActionView::Helpers::FormHelper#fields helper
method.
def fields(scope = nil, model: nil, **options, &block)
options[:allow_method_names_outside_object] = true
options[:skip_default_ids] = !FormHelper.form_with_generates_ids
@@ -2297,7 +2298,7 @@
# Returns a label tag tailored for labelling an input field for a
specified attribute (identified by +method+) on an object
# assigned to the template (identified by +object+). The text of label
will default to the attribute name unless a translation
- # is found in the current I18n locale (through
helpers.label.<modelname>.<attribute>) or you specify it explicitly.
+ # is found in the current I18n locale (through
<tt>helpers.label.<modelname>.<attribute></tt>) or you specify it explicitly.
# Additional options on the label tag can be passed as a hash with
+options+. These options will be tagged
# onto the HTML as an HTML element attribute as in the example shown,
except for the <tt>:value</tt> option, which is designed to
# target labels for radio_button tags (where the value is used in the ID
of the input tag).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/form_options_helper.rb
new/lib/action_view/helpers/form_options_helper.rb
--- old/lib/action_view/helpers/form_options_helper.rb 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/helpers/form_options_helper.rb 2022-05-09
15:40:11.000000000 +0200
@@ -598,9 +598,9 @@
#
# Options:
# * <tt>:index_as_value</tt> - Defaults to false, set to true to use the
indexes from
- # `I18n.translate("date.day_names")` as the values. By default, Sunday
is always 0.
+ # <tt>I18n.translate("date.day_names")</tt> as the values. By default,
Sunday is always 0.
# * <tt>:day_format</tt> - The I18n key of the array to use for the
weekday options.
- # Defaults to :day_names, set to :abbr_day_names for abbreviations.
+ # Defaults to +:day_names+, set to +:abbr_day_names+ for abbreviations.
# * <tt>:beginning_of_week</tt> - Defaults to Date.beginning_of_week.
#
# NOTE: Only the option tags are returned, you have to wrap this call in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/number_helper.rb
new/lib/action_view/helpers/number_helper.rb
--- old/lib/action_view/helpers/number_helper.rb 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/helpers/number_helper.rb 2022-05-09
15:40:11.000000000 +0200
@@ -9,13 +9,13 @@
module Helpers # :nodoc:
# Provides methods for converting numbers into formatted strings.
# Methods are provided for phone numbers, currency, percentage,
- # precision, positional notation, file size and pretty printing.
+ # precision, positional notation, file size, and pretty printing.
#
# Most methods expect a +number+ argument, and will return it
# unchanged if can't be converted into a valid number.
module NumberHelper
# Raised when argument +number+ param given to the helpers is invalid and
- # the option :raise is set to +true+.
+ # the option +:raise+ is set to +true+.
class InvalidNumberError < StandardError
attr_accessor :number
def initialize(number)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/rendering_helper.rb
new/lib/action_view/helpers/rendering_helper.rb
--- old/lib/action_view/helpers/rendering_helper.rb 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/helpers/rendering_helper.rb 2022-05-09
15:40:11.000000000 +0200
@@ -10,8 +10,8 @@
module RenderingHelper
# Returns the result of a render that's dictated by the options hash.
The primary options are:
#
- # * <tt>:partial</tt> - See <tt>ActionView::PartialRenderer</tt>.
- # * <tt>:file</tt> - Renders an explicit template file (this used to be
the old default), add :locals to pass in those.
+ # * <tt>:partial</tt> - See ActionView::PartialRenderer.
+ # * <tt>:file</tt> - Renders an explicit template file (this used to be
the old default), add +:locals+ to pass in those.
# * <tt>:inline</tt> - Renders an inline template similar to how it's
done in the controller.
# * <tt>:plain</tt> - Renders the text passed in out. Setting the content
# type as <tt>text/plain</tt>.
@@ -19,8 +19,7 @@
# performs HTML escape on the string first. Setting the content type as
# <tt>text/html</tt>.
# * <tt>:body</tt> - Renders the text passed in, and inherits the content
- # type of <tt>text/plain</tt> from <tt>ActionDispatch::Response</tt>
- # object.
+ # type of <tt>text/plain</tt> from ActionDispatch::Response object.
#
# If no <tt>options</tt> hash is passed or if <tt>:update</tt> is
specified, then:
#
@@ -47,7 +46,7 @@
end
end
- # Overwrites _layout_for in the context object so it supports the case a
block is
+ # Overrides _layout_for in the context object so it supports the case a
block is
# passed to a partial. Returns the contents that are yielded to a
layout, given a
# name or a block.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/tag_helper.rb
new/lib/action_view/helpers/tag_helper.rb
--- old/lib/action_view/helpers/tag_helper.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/helpers/tag_helper.rb 2022-05-09 15:40:11.000000000
+0200
@@ -45,8 +45,8 @@
include CaptureHelper
include OutputSafetyHelper
- HTML_VOID_ELEMENTS = %i(area base br col circle embed hr img input
keygen link meta param source track wbr).to_set
- SVG_VOID_ELEMENTS = %i(animate animateMotion animateTransform circle
ellipse line path polygon polyline rect set stop use view).to_set
+ HTML_VOID_ELEMENTS = %i(area base br col embed hr img input keygen
link meta param source track wbr).to_set
+ SVG_SELF_CLOSING_ELEMENTS = %i(animate animateMotion animateTransform
circle ellipse line path polygon polyline rect set stop use view).to_set
def initialize(view_context)
@view_context = view_context
@@ -69,8 +69,9 @@
escape = handle_deprecated_escape_options(options)
content = @view_context.capture(self, &block) if block_given?
- if (HTML_VOID_ELEMENTS.include?(name) ||
SVG_VOID_ELEMENTS.include?(name)) && content.nil?
- "<#{name.to_s.dasherize}#{tag_options(options, escape)}>".html_safe
+ self_closing = SVG_SELF_CLOSING_ELEMENTS.include?(name)
+ if (HTML_VOID_ELEMENTS.include?(name) || self_closing) &&
content.nil?
+ "<#{name.to_s.dasherize}#{tag_options(options,
escape)}#{self_closing ? " />" : ">"}".html_safe
else
content_tag_string(name.to_s.dasherize, content || "", options,
escape)
end
@@ -239,7 +240,7 @@
#
# Thus <tt>data-user-id</tt> can be accessed as <tt>dataset.userId</tt>.
#
- # Data attribute values are encoded to JSON, with the exception of
strings, symbols and
+ # Data attribute values are encoded to JSON, with the exception of
strings, symbols, and
# BigDecimals.
# This may come in handy when using jQuery's HTML5-aware <tt>.data()</tt>
# from 1.4.3.
@@ -271,7 +272,7 @@
# Transforms a Hash into HTML attributes, ready to be interpolated into
# ERB. Includes or omits boolean attributes based on their truthiness.
# Transforms keys nested within
- # <tt>aria:</tt> or <tt>data:</tt> objects into `aria-` and `data-`
+ # <tt>aria:</tt> or <tt>data:</tt> objects into <tt>aria-</tt> and
<tt>data-</tt>
# prefixed attributes:
#
# <input <%= tag.attributes(type: :text, aria: { label: "Search" }) %>>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/text_helper.rb
new/lib/action_view/helpers/text_helper.rb
--- old/lib/action_view/helpers/text_helper.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/helpers/text_helper.rb 2022-05-09 15:40:11.000000000
+0200
@@ -268,7 +268,7 @@
end
# Returns +text+ transformed into HTML using simple formatting rules.
- # Two or more consecutive newlines(<tt>\n\n</tt> or <tt>\r\n\r\n</tt>)
are
+ # Two or more consecutive newlines (<tt>\n\n</tt> or <tt>\r\n\r\n</tt>)
are
# considered a paragraph and wrapped in <tt><p></tt> tags. One newline
# (<tt>\n</tt> or <tt>\r\n</tt>) is considered a linebreak and a
# <tt><br /></tt> tag is appended. This method does not remove the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/helpers/url_helper.rb
new/lib/action_view/helpers/url_helper.rb
--- old/lib/action_view/helpers/url_helper.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/helpers/url_helper.rb 2022-05-09 15:40:11.000000000
+0200
@@ -89,21 +89,6 @@
#
# ==== Options
# * <tt>:data</tt> - This option can be used to add custom data
attributes.
- # * <tt>method: symbol of HTTP verb</tt> - This modifier will dynamically
- # create an HTML form and immediately submit the form for processing
using
- # the HTTP verb specified. Useful for having links perform a POST
operation
- # in dangerous actions like deleting a record (which search bots can
follow
- # while spidering your site). Supported verbs are <tt>:post</tt>,
<tt>:delete</tt>, <tt>:patch</tt>, and <tt>:put</tt>.
- # Note that if the user has JavaScript disabled, the request will fall
back
- # to using GET. If <tt>href: '#'</tt> is used and the user has
JavaScript
- # disabled clicking the link will have no effect. If you are relying
on the
- # POST behavior, you should check for it in your controller's action
by using
- # the request object's methods for <tt>post?</tt>, <tt>delete?</tt>,
<tt>patch?</tt>, or <tt>put?</tt>.
- # * <tt>remote: true</tt> - This will allow the unobtrusive JavaScript
- # driver to make an Ajax request to the URL in question instead of
following
- # the link. The drivers each provide mechanisms for listening for the
- # completion of the Ajax request and performing JavaScript operations
once
- # they're complete
#
# ==== Examples
#
@@ -180,28 +165,43 @@
# link_to "Nonsense search", searches_path(foo: "bar", baz: "quux")
# # => <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
#
- # The only option specific to +link_to+ (<tt>:method</tt>) is used as
follows:
- #
- # link_to("Destroy", "http://www.example.com", method: :delete)
- # # => <a href='http://www.example.com' rel="nofollow"
data-method="delete">Destroy</a>
- #
- # Also you can set any link attributes such as <tt>target</tt>,
<tt>rel</tt>, <tt>type</tt>:
+ # You can set any link attributes such as <tt>target</tt>, <tt>rel</tt>,
<tt>type</tt>:
#
# link_to "External link", "http://www.rubyonrails.org/", target:
"_blank", rel: "nofollow"
# # => <a href="http://www.rubyonrails.org/" target="_blank"
rel="nofollow">External link</a>
#
- # ==== Deprecated: Rails UJS attributes
+ # ==== Deprecated: Rails UJS Attributes
#
- # Prior to Rails 7, Rails shipped with a JavaScript library called
@rails/ujs on by default. Following Rails 7,
+ # Prior to Rails 7, Rails shipped with a JavaScript library called
<tt>@rails/ujs</tt> on by default. Following Rails 7,
# this library is no longer on by default. This library integrated with
the following options:
#
- # * <tt>confirm: 'question?'</tt> - This will allow the unobtrusive
JavaScript
- # driver to prompt with the question specified (in this case, the
+ # * <tt>method: symbol of HTTP verb</tt> - This modifier will dynamically
+ # create an HTML form and immediately submit the form for processing
using
+ # the HTTP verb specified. Useful for having links perform a POST
operation
+ # in dangerous actions like deleting a record (which search bots can
follow
+ # while spidering your site). Supported verbs are <tt>:post</tt>,
<tt>:delete</tt>, <tt>:patch</tt>, and <tt>:put</tt>.
+ # Note that if the user has JavaScript disabled, the request will fall
back
+ # to using GET. If <tt>href: '#'</tt> is used and the user has
JavaScript
+ # disabled clicking the link will have no effect. If you are relying
on the
+ # POST behavior, you should check for it in your controller's action
by using
+ # the request object's methods for <tt>post?</tt>, <tt>delete?</tt>,
<tt>patch?</tt>, or <tt>put?</tt>.
+ # * <tt>remote: true</tt> - This will allow <tt>@rails/ujs</tt>
+ # to make an Ajax request to the URL in question instead of following
+ # the link.
+ #
+ # <tt>@rails/ujs</tt> also integrated with the following +:data+ options:
+ #
+ # * <tt>confirm: "question?"</tt> - This will allow <tt>@rails/ujs</tt>
+ # to prompt with the question specified (in this case, the
# resulting text would be <tt>question?</tt>). If the user accepts, the
# link is processed normally, otherwise no action is taken.
# * <tt>:disable_with</tt> - Value of this parameter will be used as the
- # name for a disabled version of the link. This feature is provided by
- # the unobtrusive JavaScript driver.
+ # name for a disabled version of the link.
+ #
+ # ===== Rails UJS Examples
+ #
+ # link_to "Remove Profile", profile_path(@profile), method: :delete
+ # # => <a href="/profiles/1" rel="nofollow"
data-method="delete">Remove Profile</a>
#
# link_to "Visit Other Site", "http://www.rubyonrails.org/", data: {
confirm: "Are you sure?" }
# # => <a href="http://www.rubyonrails.org/" data-confirm="Are you
sure?">Visit Other Site</a>
@@ -255,8 +255,6 @@
# <tt>:delete</tt>, <tt>:patch</tt>, and <tt>:put</tt>. By default it
will be <tt>:post</tt>.
# * <tt>:disabled</tt> - If set to true, it will generate a disabled
button.
# * <tt>:data</tt> - This option can be used to add custom data
attributes.
- # * <tt>:remote</tt> - If set to true, will allow the Unobtrusive
JavaScript drivers to control the
- # submit behavior. By default this behavior is an ajax submit.
# * <tt>:form</tt> - This hash will be form attributes
# * <tt>:form_class</tt> - This controls the class of the form within
which the submit button will
# be placed
@@ -298,25 +296,38 @@
# # <input name="authenticity_token" type="hidden"
value="10f2163b45388899ad4d5ae948988266befcb6c3d1b2451cf657a0c293d605a6"
autocomplete="off"/>
# # </form>"
#
- # <%= button_to "Create", { action: "create" }, remote: true, form: {
"data-type" => "json" } %>
- # # => "<form method="post" action="/images/create" class="button_to"
data-remote="true" data-type="json">
+ # <%= button_to "Create", { action: "create" }, form: { "data-type" =>
"json" } %>
+ # # => "<form method="post" action="/images/create" class="button_to"
data-type="json">
# # <button type="submit">Create</button>
# # <input name="authenticity_token" type="hidden"
value="10f2163b45388899ad4d5ae948988266befcb6c3d1b2451cf657a0c293d605a6"
autocomplete="off"/>
# # </form>"
#
- # ==== Deprecated: Rails UJS attributes
+ # ==== Deprecated: Rails UJS Attributes
#
- # Prior to Rails 7, Rails shipped with a JavaScript library called
@rails/ujs on by default. Following Rails 7,
+ # Prior to Rails 7, Rails shipped with a JavaScript library called
<tt>@rails/ujs</tt> on by default. Following Rails 7,
# this library is no longer on by default. This library integrated with
the following options:
#
- # * <tt>confirm: 'question?'</tt> - This will allow the unobtrusive
JavaScript
- # driver to prompt with the question specified (in this case, the
+ # * <tt>:remote</tt> - If set to true, will allow <tt>@rails/ujs</tt>
to control the
+ # submit behavior. By default this behavior is an Ajax submit.
+ #
+ # <tt>@rails/ujs</tt> also integrated with the following +:data+ options:
+ #
+ # * <tt>confirm: "question?"</tt> - This will allow <tt>@rails/ujs</tt>
+ # to prompt with the question specified (in this case, the
# resulting text would be <tt>question?</tt>). If the user accepts, the
# button is processed normally, otherwise no action is taken.
# * <tt>:disable_with</tt> - Value of this parameter will be
# used as the value for a disabled version of the submit
- # button when the form is submitted. This feature is provided
- # by the unobtrusive JavaScript driver.
+ # button when the form is submitted.
+ #
+ # ===== Rails UJS Examples
+ #
+ # <%= button_to "Create", { action: "create" }, remote: true, form: {
"data-type" => "json" } %>
+ # # => "<form method="post" action="/images/create" class="button_to"
data-remote="true" data-type="json">
+ # # <button type="submit">Create</button>
+ # # <input name="authenticity_token" type="hidden"
value="10f2163b45388899ad4d5ae948988266befcb6c3d1b2451cf657a0c293d605a6"
autocomplete="off"/>
+ # # </form>"
+ #
def button_to(name = nil, options = nil, html_options = nil, &block)
html_options, options = options, name if block_given?
html_options ||= {}
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 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/layouts.rb 2022-05-09 15:40:11.000000000 +0200
@@ -183,7 +183,7 @@
# be rendered directly, without wrapping a layout around the rendered view.
#
# Both the <tt>:only</tt> and <tt>:except</tt> condition can accept an
arbitrary number of method references, so
- # #<tt>except: [ :rss, :text_only ]</tt> is valid, as is <tt>except:
:rss</tt>.
+ # <tt>except: [ :rss, :text_only ]</tt> is valid, as is <tt>except:
:rss</tt>.
#
# == Using a different layout in the action render call
#
@@ -255,14 +255,17 @@
# true:: raise an ArgumentError
# nil:: Force default layout behavior with inheritance
#
- # Return value of +Proc+ and +Symbol+ arguments should be +String+,
+false+, +true+ or +nil+
+ # Return value of +Proc+ and +Symbol+ arguments should be +String+,
+false+, +true+, or +nil+
# with the same meaning as described above.
+ #
# ==== Parameters
+ #
# * <tt>layout</tt> - The layout to use.
#
# ==== Options (conditions)
- # * :only - A list of actions to apply this layout to.
- # * :except - Apply this layout to all actions but this one.
+ #
+ # * +:only+ - A list of actions to apply this layout to.
+ # * +:except+ - Apply this layout to all actions but this one.
def layout(layout, conditions = {})
include LayoutConditions unless conditions.empty?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/record_identifier.rb
new/lib/action_view/record_identifier.rb
--- old/lib/action_view/record_identifier.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/record_identifier.rb 2022-05-09 15:40:11.000000000
+0200
@@ -102,7 +102,7 @@
# on the default implementation (which just joins all key attributes with
'_') or on your own
# overwritten version of the method. By default, this implementation
passes the key string through a
# method that replaces all characters that are invalid inside DOM ids,
with valid ones. You need to
- # make sure yourself that your dom ids are valid, in case you overwrite
this method.
+ # make sure yourself that your dom ids are valid, in case you override
this method.
def record_key_for_dom_id(record) # :doc:
key = convert_to_model(record).to_key
key ? key.join(JOIN) : key
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 2022-04-26
21:32:40.000000000 +0200
+++ new/lib/action_view/renderer/partial_renderer.rb 2022-05-09
15:40:11.000000000 +0200
@@ -27,7 +27,7 @@
# This would first render <tt>advertiser/_account.html.erb</tt> with
<tt>@buyer</tt> passed in as the local variable +account+, then
# render <tt>advertiser/_ad.html.erb</tt> and pass the local variable +ad+
to the template for display.
#
- # == The :as and :object options
+ # == The +:as+ and +:object+ options
#
# By default ActionView::PartialRenderer doesn't have any local variables.
# The <tt>:object</tt> option can be used to pass an object to the partial.
For instance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/rendering.rb
new/lib/action_view/rendering.rb
--- old/lib/action_view/rendering.rb 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/rendering.rb 2022-05-09 15:40:11.000000000 +0200
@@ -33,8 +33,8 @@
super
end
- # Overwrite process to set up I18n proxy.
- def process(*) # :nodoc:
+ # Override process to set up I18n proxy.
+ def process(...) # :nodoc:
old_config, I18n.config = I18n.config, I18nProxy.new(I18n.config,
lookup_context)
super
ensure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/template/resolver.rb
new/lib/action_view/template/resolver.rb
--- old/lib/action_view/template/resolver.rb 2022-04-26 21:32:40.000000000
+0200
+++ new/lib/action_view/template/resolver.rb 2022-05-09 15:40:11.000000000
+0200
@@ -19,7 +19,7 @@
def build_path_regex
handlers = Template::Handlers.extensions.map { |x| Regexp.escape(x)
}.join("|")
formats = Template::Types.symbols.map { |x| Regexp.escape(x)
}.join("|")
- locales = "[a-z]{2}(?:-[A-Z]{2})?"
+ locales = "[a-z]{2}(?:[-_][A-Z]{2})?"
variants = "[^.]*"
%r{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/test_case.rb
new/lib/action_view/test_case.rb
--- old/lib/action_view/test_case.rb 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/test_case.rb 2022-05-09 15:40:11.000000000 +0200
@@ -57,7 +57,7 @@
include ActiveSupport::Testing::ConstantLookup
delegate :lookup_context, to: :controller
- attr_accessor :controller, :output_buffer, :rendered
+ attr_accessor :controller, :request, :output_buffer, :rendered
module ClassMethods
def tests(helper_class)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/version.rb
new/lib/action_view/version.rb
--- old/lib/action_view/version.rb 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/version.rb 2022-05-09 15:40:11.000000000 +0200
@@ -3,7 +3,7 @@
require_relative "gem_version"
module ActionView
- # Returns the version of the currently loaded ActionView as a
<tt>Gem::Version</tt>
+ # Returns the currently loaded version of Action View as a
<tt>Gem::Version</tt>.
def self.version
gem_version
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_view/view_paths.rb
new/lib/action_view/view_paths.rb
--- old/lib/action_view/view_paths.rb 2022-04-26 21:32:40.000000000 +0200
+++ new/lib/action_view/view_paths.rb 2022-05-09 15:40:11.000000000 +0200
@@ -91,9 +91,9 @@
self.class._prefixes
end
- # <tt>LookupContext</tt> is the object responsible for holding all
+ # LookupContext is the object responsible for holding all
# information required for looking up templates, i.e. view paths and
- # details. Check <tt>ActionView::LookupContext</tt> for more information.
+ # details. Check ActionView::LookupContext for more information.
def lookup_context
@_lookup_context ||=
ActionView::LookupContext.new(self.class._view_paths,
details_for_lookup, _prefixes)
@@ -103,7 +103,7 @@
{}
end
- # Append a path to the list of view paths for the current
<tt>LookupContext</tt>.
+ # Append a path to the list of view paths for the current LookupContext.
#
# ==== Parameters
# * <tt>path</tt> - If a String is provided, it gets converted into
@@ -113,7 +113,7 @@
lookup_context.view_paths.push(*path)
end
- # Prepend a path to the list of view paths for the current
<tt>LookupContext</tt>.
+ # Prepend a path to the list of view paths for the current LookupContext.
#
# ==== Parameters
# * <tt>path</tt> - If a String is provided, it gets converted into
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2022-04-26 21:32:40.000000000 +0200
+++ new/metadata 2022-05-09 15:40:11.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: actionview
version: !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
platform: ruby
authors:
- David Heinemeier Hansson
autorequire:
bindir: bin
cert_chain: []
-date: 2022-04-26 00:00:00.000000000 Z
+date: 2022-05-09 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -16,14 +16,14 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
- !ruby/object:Gem::Dependency
name: builder
requirement: !ruby/object:Gem::Requirement
@@ -92,28 +92,28 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
- !ruby/object:Gem::Dependency
name: activemodel
requirement: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 7.0.2.4
+ version: 7.0.3
description: Simple, battle-tested conventions and helpers for building web
pages.
email: [email protected]
executables: []
@@ -246,10 +246,10 @@
- MIT
metadata:
bug_tracker_uri: https://github.com/rails/rails/issues
- changelog_uri:
https://github.com/rails/rails/blob/v7.0.2.4/actionview/CHANGELOG.md
- documentation_uri: https://api.rubyonrails.org/v7.0.2.4/
+ changelog_uri:
https://github.com/rails/rails/blob/v7.0.3/actionview/CHANGELOG.md
+ documentation_uri: https://api.rubyonrails.org/v7.0.3/
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
- source_code_uri: https://github.com/rails/rails/tree/v7.0.2.4/actionview
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.3/actionview
rubygems_mfa_required: 'true'
post_install_message:
rdoc_options: []
@@ -267,7 +267,7 @@
version: '0'
requirements:
- none
-rubygems_version: 3.1.6
+rubygems_version: 3.3.7
signing_key:
specification_version: 4
summary: Rendering framework putting the V in MVC (part of Rails).