From 9540e23263f1282cf7741de77e4b36cc5d78ed4c Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 20 Mar 2026 19:15:19 +0000 Subject: [PATCH] Remove instance variables from partials --- .herb.yml | 2 -- app/helpers/user_mailer_helper.rb | 4 ++-- .../application/_auth_providers.html.erb | 8 +++---- app/views/browse/_common_details.html.erb | 6 ++--- app/views/browse/_node.html.erb | 2 +- app/views/browse/_relation.html.erb | 2 +- app/views/browse/_way.html.erb | 2 +- app/views/diary_entries/_diary_entry.html.erb | 4 ++-- .../_diary_entry_heading.html.erb | 4 ++-- app/views/diary_entries/_form.html.erb | 6 ++--- app/views/diary_entries/_navigation.html.erb | 8 +++---- app/views/diary_entries/_page.html.erb | 8 +++---- .../diary_entries/_profile_diaries.html.erb | 6 ++--- app/views/diary_entries/edit.html.erb | 2 +- app/views/diary_entries/index.html.erb | 4 ++-- app/views/diary_entries/new.html.erb | 2 +- app/views/diary_entries/show.html.erb | 4 ++-- app/views/issues/_page.html.erb | 17 ++++++++------ app/views/issues/index.html.erb | 7 +++++- .../issues/reporters/_reporters.html.erb | 8 +++---- app/views/issues/reporters/index.html.erb | 4 +++- .../_select_language_list.html.erb | 6 ++--- app/views/languages_panes/show.html.erb | 4 ++-- app/views/layouts/_head.html.erb | 6 ++--- app/views/layouts/_meta.html.erb | 4 ++-- app/views/layouts/error.html.erb | 2 +- app/views/layouts/site.html.erb | 2 +- app/views/layouts/turbo_frame.html.erb | 2 +- app/views/notes/_notes_paging_nav.html.erb | 12 +++++----- app/views/notes/index.html.erb | 4 ++-- app/views/old_elements/_actions.html.erb | 12 +++++----- app/views/old_nodes/show.html.erb | 2 +- app/views/old_relations/show.html.erb | 2 +- app/views/old_ways/show.html.erb | 2 +- app/views/sessions/new.html.erb | 2 +- app/views/shared/_pagination.html.erb | 10 ++++----- app/views/site/_id.html.erb | 8 +++---- app/views/site/_potlatch.html.erb | 2 +- app/views/site/_potlatch2.html.erb | 4 ++-- app/views/site/edit.html.erb | 2 +- app/views/traces/_page.html.erb | 8 +++---- app/views/traces/index.html.erb | 2 +- app/views/user_blocks/_block.html.erb | 6 ++--- app/views/user_blocks/_navigation.html.erb | 18 +++++++-------- app/views/user_blocks/_page.html.erb | 14 +++++++----- app/views/user_blocks/edit.html.erb | 2 +- app/views/user_blocks/index.html.erb | 4 ++-- app/views/user_blocks/new.html.erb | 2 +- app/views/user_blocks/show.html.erb | 2 +- app/views/user_mailer/_gpx_details.html.erb | 22 +++++++++---------- app/views/user_mailer/_message_body.html.erb | 10 ++++----- .../changeset_comment_notification.html.erb | 2 +- .../diary_comment_notification.html.erb | 2 +- .../user_mailer/follow_notification.html.erb | 2 +- app/views/user_mailer/gpx_failure.html.erb | 5 ++++- app/views/user_mailer/gpx_failure.text.erb | 5 ++++- app/views/user_mailer/gpx_success.html.erb | 8 ++++++- app/views/user_mailer/gpx_success.text.erb | 8 ++++++- .../user_mailer/message_notification.html.erb | 2 +- .../note_comment_notification.html.erb | 2 +- app/views/users/_sidebar_section.html.erb | 4 ++-- .../users/changeset_comments/_page.html.erb | 8 +++---- app/views/users/comments/index.html.erb | 2 +- app/views/users/diary_comments/_page.html.erb | 8 +++---- app/views/users/issued_blocks/show.html.erb | 4 ++-- app/views/users/lists/_page.html.erb | 14 ++++++------ app/views/users/lists/show.html.erb | 2 +- app/views/users/new.html.erb | 2 +- app/views/users/received_blocks/show.html.erb | 4 ++-- app/views/users/show.html.erb | 14 +++++++----- 70 files changed, 209 insertions(+), 177 deletions(-) diff --git a/.herb.yml b/.herb.yml index acb0d8578..38669595a 100644 --- a/.herb.yml +++ b/.herb.yml @@ -2,8 +2,6 @@ version: 0.9.2 linter: rules: - erb-no-instance-variables-in-partials: - enabled: false erb-strict-locals-required: enabled: true html-anchor-require-href: diff --git a/app/helpers/user_mailer_helper.rb b/app/helpers/user_mailer_helper.rb index abfd7b792..b5382b32f 100644 --- a/app/helpers/user_mailer_helper.rb +++ b/app/helpers/user_mailer_helper.rb @@ -20,10 +20,10 @@ module UserMailerHelper ) end - def message_body(&) + def message_body(locals = {}, &) render( :partial => "message_body", - :locals => { :body => capture(&) } + :locals => locals.merge(:body => capture(&)) ) end diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index c8ee1a59f..44c26a721 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -1,6 +1,6 @@ -<%# locals: () %> +<%# locals: (preferred_auth_provider: nil) %> -<% prefered_auth_button_available = Auth.providers.include?(@preferred_auth_provider) %> +<% prefered_auth_button_available = Auth.providers.include?(preferred_auth_provider) %>
<%= tag.div :id => "login_auth_buttons", @@ -8,13 +8,13 @@ <% if prefered_auth_button_available %>
- <%= render "auth_button", :provider => @preferred_auth_provider, :preferred => true %> + <%= render "auth_button", :provider => preferred_auth_provider, :preferred => true %>
<% end %>
<% Auth.providers.each do |provider| %> - <% if provider != @preferred_auth_provider %> + <% if provider != preferred_auth_provider %> <%= render "auth_button", :provider => provider %> <% end %> <% end -%> diff --git a/app/views/browse/_common_details.html.erb b/app/views/browse/_common_details.html.erb index 4ef44cdbd..a6aba027f 100644 --- a/app/views/browse/_common_details.html.erb +++ b/app/views/browse/_common_details.html.erb @@ -1,4 +1,4 @@ -<%# locals: (common_details:) %> +<%# locals: (type:, common_details:) %>

<%= if common_details.redacted? @@ -6,7 +6,7 @@ else t "browse.version" end %> - #<%= link_to_unless_current common_details.version, :controller => "old_#{@type.pluralize}", :action => :show, :version => common_details.version %> + #<%= link_to_unless_current common_details.version, :controller => "old_#{type.pluralize}", :action => :show, :version => common_details.version %>

@@ -25,7 +25,7 @@ #<%= link_to common_details.changeset_id, common_details.changeset %> <% end %> - <% if @type == "node" and common_details.visible? %> + <% if type == "node" and common_details.visible? %>
<%= t "browse.location" %> <%= link_to(t(".coordinates_html", diff --git a/app/views/browse/_node.html.erb b/app/views/browse/_node.html.erb index 78dc8a9e7..488f7a415 100644 --- a/app/views/browse/_node.html.erb +++ b/app/views/browse/_node.html.erb @@ -9,7 +9,7 @@ :redaction_link => link_to(t("browse.redacted.redaction", :id => node.redaction.id), node.redaction) %> <% else %> - <%= render :partial => "browse/common_details", :object => node %> + <%= render :partial => "browse/common_details", :object => node, :locals => { :type => "node" } %> <% unless node.ways.empty? and node.containing_relation_members.empty? %>

<%= t "browse.part_of" %>

diff --git a/app/views/browse/_relation.html.erb b/app/views/browse/_relation.html.erb index 7736b19cf..2df05f6cb 100644 --- a/app/views/browse/_relation.html.erb +++ b/app/views/browse/_relation.html.erb @@ -9,7 +9,7 @@ :redaction_link => link_to(t("browse.redacted.redaction", :id => relation.redaction.id), relation.redaction) %> <% else %> - <%= render :partial => "browse/common_details", :object => relation %> + <%= render :partial => "browse/common_details", :object => relation, :locals => { :type => "relation" } %> <% unless relation.containing_relation_members.empty? %>

<%= t "browse.part_of" %>

diff --git a/app/views/browse/_way.html.erb b/app/views/browse/_way.html.erb index d02d4b6fa..5ce1fd858 100644 --- a/app/views/browse/_way.html.erb +++ b/app/views/browse/_way.html.erb @@ -9,7 +9,7 @@ :redaction_link => link_to(t("browse.redacted.redaction", :id => way.redaction.id), way.redaction) %> <% else %> - <%= render :partial => "browse/common_details", :object => way %> + <%= render :partial => "browse/common_details", :object => way, :locals => { :type => "way" } %> <% unless way.containing_relation_members.empty? %>

<%= t "browse.part_of" %>

diff --git a/app/views/diary_entries/_diary_entry.html.erb b/app/views/diary_entries/_diary_entry.html.erb index ed50b1a2b..fb598603b 100644 --- a/app/views/diary_entries/_diary_entry.html.erb +++ b/app/views/diary_entries/_diary_entry.html.erb @@ -1,7 +1,7 @@ -<%# locals: (diary_entry:, truncated:) %> +<%# locals: (diary_entry:, user:, truncated:) %>
user_<%= diary_entry.user.id %>"> - <%= render :partial => "diary_entry_heading", :object => diary_entry, :as => "diary_entry" %> + <%= render :partial => "diary_entry_heading", :object => diary_entry, :as => "diary_entry", :locals => { :user => user } %>
<% if truncated %> diff --git a/app/views/diary_entries/_diary_entry_heading.html.erb b/app/views/diary_entries/_diary_entry_heading.html.erb index 8d4f21c9e..7513740be 100644 --- a/app/views/diary_entries/_diary_entry_heading.html.erb +++ b/app/views/diary_entries/_diary_entry_heading.html.erb @@ -1,7 +1,7 @@ -<%# locals: (diary_entry:) %> +<%# locals: (diary_entry:, user: nil) %>
- <% if @user %> + <% if user %>

<%= link_to diary_entry.title, diary_entry_path(diary_entry.user, diary_entry) %>

<% else %>
diff --git a/app/views/diary_entries/_form.html.erb b/app/views/diary_entries/_form.html.erb index 2d603daf7..66dc6e571 100644 --- a/app/views/diary_entries/_form.html.erb +++ b/app/views/diary_entries/_form.html.erb @@ -1,7 +1,7 @@ -<%# locals: (f:) %> +<%# locals: (f:, diary_entry:, lat:, lon:, zoom:) %> <%= f.text_field :title %> -<%= f.richtext_field :body, :cols => 80, :rows => 20, :format => @diary_entry.body_format %> +<%= f.richtext_field :body, :cols => 80, :rows => 20, :format => diary_entry.body_format %> <%= f.collection_select :language_code, Language.order(:english_name), :code, :name %>
@@ -9,7 +9,7 @@ <%= render :partial => "layouts/markers", :locals => { :types => %w[dot] } %> - <%= tag.div "", :id => "map", :class => "border border-secondary-subtle rounded mb-3 z-0", :data => { :lat => @lat, :lon => @lon, :zoom => @zoom } %> + <%= tag.div "", :id => "map", :class => "border border-secondary-subtle rounded mb-3 z-0", :data => { :lat => lat, :lon => lon, :zoom => zoom } %>
<%= f.text_field :latitude, :wrapper_class => "col-sm-4 d-flex flex-column", :class => "mt-auto", :id => "latitude" %> diff --git a/app/views/diary_entries/_navigation.html.erb b/app/views/diary_entries/_navigation.html.erb index a0db963b0..1e1162438 100644 --- a/app/views/diary_entries/_navigation.html.erb +++ b/app/views/diary_entries/_navigation.html.erb @@ -1,4 +1,4 @@ -<%# locals: () %> +<%# locals: (user:, languages: []) %>
<% end %> @@ -19,7 +19,7 @@ <% if @entries.items.empty? %>

<%= t ".no_entries" %>

<% else %> - <%= render :partial => "page" %> + <%= render "page", :entries => @entries, :user => @user, :params => @params %> <% end -%> <% unless params[:friends] or params[:nearby] -%> diff --git a/app/views/diary_entries/new.html.erb b/app/views/diary_entries/new.html.erb index 0a10cfd03..d25e6c9ad 100644 --- a/app/views/diary_entries/new.html.erb +++ b/app/views/diary_entries/new.html.erb @@ -7,5 +7,5 @@ <% end %> <%= bootstrap_form_for @diary_entry do |f| %> - <%= render :partial => "form", :locals => { :f => f } %> +<%= render "form", :f => f, :diary_entry => @diary_entry, :lat => @lat, :lon => @lon, :zoom => @zoom %> <% end %> diff --git a/app/views/diary_entries/show.html.erb b/app/views/diary_entries/show.html.erb index 83e089d61..1e1ac5279 100644 --- a/app/views/diary_entries/show.html.erb +++ b/app/views/diary_entries/show.html.erb @@ -9,12 +9,12 @@

<%= link_to t(".user_title", :user => @diary_entry.user.display_name), :action => :index %>

- <%= render :partial => "navigation" %> + <%= render "navigation", :user => @user %>
<% end %> -<%= render @diary_entry, :truncated => false %> +<%= render @diary_entry, :user => @user, :truncated => false %> <%= share_buttons(:title => @diary_entry.title, :url => diary_entry_url(@diary_entry.user, @diary_entry)) %>
diff --git a/app/views/issues/_page.html.erb b/app/views/issues/_page.html.erb index 0ee4426fc..71ca86ab9 100644 --- a/app/views/issues/_page.html.erb +++ b/app/views/issues/_page.html.erb @@ -1,16 +1,16 @@ -<%# locals: () %> +<%# locals: (issues:, find_user:, unique_reporters:, unique_reporters_limit:, params:) %> - <% if @issues.items.length == 0 %> + <% if issues.items.empty? %>

- <% if params[:search_by_user].present? && !@find_user %> + <% if params[:search_by_user].present? && !find_user %> <%= t ".user_not_found" %> <% else %> <%= t ".issues_not_found" %> <% end %>

<% else %> - <%= render "shared/pagination", :paginator => @issues %> + <%= render "shared/pagination", :paginator => issues, :params => params %> @@ -25,14 +25,17 @@ - <% @issues.items.each do |issue| %> + <% issues.items.each do |issue| %>
<%= t ".states.#{issue.status}" %> <%= link_to t(".reports_count", :count => issue.reports_count), issue %> <%= link_to reportable_title(issue.reportable), reportable_url(issue.reportable) %> <%= link_to issue.reported_user.display_name, issue.reported_user if issue.reported_user %> - <%= render :partial => "issues/reporters/reporters", :locals => { :issue => issue } %> + <%= render "issues/reporters/reporters", + :issue => issue, + :unique_reporters => unique_reporters, + :unique_reporters_limit => unique_reporters_limit %> <%= friendly_date_ago(issue.updated_at) %> @@ -45,6 +48,6 @@
- <%= render "shared/pagination", :paginator => @issues %> + <%= render "shared/pagination", :paginator => issues, :params => params %> <% end %>
diff --git a/app/views/issues/index.html.erb b/app/views/issues/index.html.erb index 94c74c377..f367e35c2 100644 --- a/app/views/issues/index.html.erb +++ b/app/views/issues/index.html.erb @@ -40,4 +40,9 @@
<% end %> -<%= render :partial => "page" %> +<%= render "page", + :issues => @issues, + :params => @params, + :find_user => @find_user, + :unique_reporters => @unique_reporters, + :unique_reporters_limit => @unique_reporters_limit %> diff --git a/app/views/issues/reporters/_reporters.html.erb b/app/views/issues/reporters/_reporters.html.erb index 561efc4a4..809d046c1 100644 --- a/app/views/issues/reporters/_reporters.html.erb +++ b/app/views/issues/reporters/_reporters.html.erb @@ -1,12 +1,12 @@ -<%# locals: (issue:) %> +<%# locals: (issue:, unique_reporters:, unique_reporters_limit: nil) %> <%= turbo_frame_tag "#{dom_id(issue)}_reporters", :data => { :turbo => false } do %> - <% @unique_reporters[issue.id][:users].each do |reporter| %> + <% unique_reporters[issue.id][:users].each do |reporter| %> <%= link_to reporter.display_name, reporter, :class => "d-block text-truncate", :title => reporter.display_name %> <% end %> - <% if @unique_reporters_limit && @unique_reporters[issue.id][:count] > @unique_reporters_limit %> + <% if unique_reporters_limit && unique_reporters[issue.id][:count] > unique_reporters_limit %>

- <%= link_to t(".more_reporters", :count => @unique_reporters[issue.id][:count] - @unique_reporters_limit), + <%= link_to t(".more_reporters", :count => unique_reporters[issue.id][:count] - unique_reporters_limit), issue_reporters_path(issue), :class => "link-body-emphasis", :data => { :turbo => true } %> diff --git a/app/views/issues/reporters/index.html.erb b/app/views/issues/reporters/index.html.erb index 88b33946e..7224645b4 100644 --- a/app/views/issues/reporters/index.html.erb +++ b/app/views/issues/reporters/index.html.erb @@ -2,4 +2,6 @@

<%= t ".title", :issue_id => @issue.id %>

<% end %> -<%= render :partial => "reporters", :locals => { :issue => @issue } %> +<%= render "reporters", + :issue => @issue, + :unique_reporters => @unique_reporters %> diff --git a/app/views/languages_panes/_select_language_list.html.erb b/app/views/languages_panes/_select_language_list.html.erb index 045d12fee..9116f9ce7 100644 --- a/app/views/languages_panes/_select_language_list.html.erb +++ b/app/views/languages_panes/_select_language_list.html.erb @@ -1,4 +1,4 @@ -<%# locals: () %> +<%# locals: (source_page:) %>
<%= text_field_tag :language_search, @@ -12,13 +12,13 @@ <% AVAILABLE_LANGUAGES.each do |language| %>
  • <% target_path = begin - uri = URI.parse(@source_page) + uri = URI.parse(source_page) query_params = Rack::Utils.parse_nested_query(uri.query) query_params["locale"] = language[:code] uri.query = query_params.to_query uri.to_s rescue StandardError - "#{@source_page}?locale=#{language[:code]}" + "#{source_page}?locale=#{language[:code]}" end %> <%= link_to target_path, diff --git a/app/views/languages_panes/show.html.erb b/app/views/languages_panes/show.html.erb index 82bad7990..8f23715d8 100644 --- a/app/views/languages_panes/show.html.erb +++ b/app/views/languages_panes/show.html.erb @@ -3,9 +3,9 @@ <%= form_tag basic_preferences_path, :method => "PUT", :id => "select_language_form", "data-turbo" => false do %> <%= hidden_field_tag "referer", @source_page %> <%= hidden_field_tag "language", I18n.locale %> - <%= render "select_language_list" %> + <%= render "select_language_list", :source_page => @source_page %> <% end %> <% else %> - <%= render "select_language_list" %> + <%= render "select_language_list", :source_page => @source_page %> <% end %> <% end %> diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb index c8e40b8ce..45bd25c13 100644 --- a/app/views/layouts/_head.html.erb +++ b/app/views/layouts/_head.html.erb @@ -1,7 +1,7 @@ -<%# locals: () %> +<%# locals: (title:, opengraph_properties:) %> <%= tag.head :data => application_data do %> - <%= render :partial => "layouts/meta" %> + <%= render "layouts/meta", :title => title, :opengraph_properties => opengraph_properties %> <%= javascript_include_tag "turbo", :type => "module" %> <%= javascript_include_tag "application" %> <%= javascript_include_tag "i18n/#{I18n.locale}" %> @@ -17,5 +17,5 @@ <%= yield :auto_discovery_link_tag %> <%= csrf_meta_tag %> <%= csp_meta_tag %> - <%= "#{@title} | " if @title %><%= t "layouts.project_name.title" %> + <%= "#{title} | " if title %><%= t "layouts.project_name.title" %> <% end %> diff --git a/app/views/layouts/_meta.html.erb b/app/views/layouts/_meta.html.erb index 0e34c5e75..d54fe70e7 100644 --- a/app/views/layouts/_meta.html.erb +++ b/app/views/layouts/_meta.html.erb @@ -1,4 +1,4 @@ -<%# locals: () %> +<%# locals: (title:, opengraph_properties:) %> @@ -24,7 +24,7 @@ <% end -%> <%= tag.link :rel => "search", :type => "application/opensearchdescription+xml", :title => t(".openstreetmap_search"), :href => asset_path("osm.xml") %> <%= tag.meta :name => "description", :content => t("layouts.intro_text") %> -<%= opengraph_tags(@title, @opengraph_properties || {}) %> +<%= opengraph_tags(title, opengraph_properties || {}) %> <% if flash[:matomo_goal] -%> <%= tag.meta :name => "matomo-goal", :content => flash[:matomo_goal] %> <% end -%> diff --git a/app/views/layouts/error.html.erb b/app/views/layouts/error.html.erb index 08b71c88c..7140e28be 100644 --- a/app/views/layouts/error.html.erb +++ b/app/views/layouts/error.html.erb @@ -4,7 +4,7 @@ <%= t "layouts.project_name.title" %> <%= stylesheet_link_tag "errors", :media => "screen" %> - <%= render :partial => "layouts/meta" %> + <%= render "layouts/meta", :title => @title, :opengraph_properties => @opengraph_properties %>
    diff --git a/app/views/layouts/site.html.erb b/app/views/layouts/site.html.erb index fa04fd93f..fcf7aba8e 100644 --- a/app/views/layouts/site.html.erb +++ b/app/views/layouts/site.html.erb @@ -2,7 +2,7 @@ <%= tag.html :lang => I18n.locale, :dir => dir, :data => { :bs_theme => current_user&.preferred_color_scheme(:site) } do %> - <%= render :partial => "layouts/head" %> + <%= render "layouts/head", :title => @title, :opengraph_properties => @opengraph_properties %> <%= tag.body :class => body_class, :data => { :map_theme => current_user&.preferred_color_scheme(:map, :site) } do %> <%= render :partial => "layouts/header" %> diff --git a/app/views/layouts/turbo_frame.html.erb b/app/views/layouts/turbo_frame.html.erb index 04ead2014..78d94eb22 100644 --- a/app/views/layouts/turbo_frame.html.erb +++ b/app/views/layouts/turbo_frame.html.erb @@ -1,5 +1,5 @@ - <%= render :partial => "layouts/head" %> + <%= render "layouts/head", :title => @title, :opengraph_properties => @opengraph_properties %> <%= yield %> diff --git a/app/views/notes/_notes_paging_nav.html.erb b/app/views/notes/_notes_paging_nav.html.erb index b43f1e22c..a590ca138 100644 --- a/app/views/notes/_notes_paging_nav.html.erb +++ b/app/views/notes/_notes_paging_nav.html.erb @@ -1,4 +1,4 @@ -<%# locals: () %> +<%# locals: (page:, next_page:, params:) %>