From 7ad6bb1ee6eca4514ba1118bb5c1828ce93c561e Mon Sep 17 00:00:00 2001 From: Pablo Brasero Date: Tue, 21 Oct 2025 16:24:35 +0100 Subject: [PATCH] Remove unnecessary requires; use gems when possible --- Gemfile | 12 +++++++++++- Gemfile.lock | 6 ++++++ app/controllers/application_controller.rb | 2 -- app/helpers/application_helper.rb | 2 -- app/helpers/open_graph_helper.rb | 2 -- app/helpers/reports_helper.rb | 2 -- app/helpers/share_buttons_helper.rb | 2 -- app/models/changeset.rb | 2 -- app/models/node.rb | 2 -- app/models/relation.rb | 2 -- app/models/trace.rb | 2 -- app/models/user.rb | 1 - app/models/way.rb | 2 -- config/initializers/rtlcss.rb | 2 -- lib/nominatim.rb | 2 -- 15 files changed, 17 insertions(+), 26 deletions(-) diff --git a/Gemfile b/Gemfile index 726a9c4b9..3995ffc15 100644 --- a/Gemfile +++ b/Gemfile @@ -92,8 +92,9 @@ gem "kramdown" # For status transitions of Issues gem "aasm" -# Load libxml support for XML parsing and generation +# XML parsing and generation gem "libxml-ruby", ">= 2.0.5", :require => "libxml" +gem "rexml" # Use for HTML sanitisation gem "htmlentities" @@ -139,6 +140,15 @@ gem "inline_svg" # Used to validate widths gem "unicode-display_width" +# Stop when running for too long +gem "timeout" + +# To run the `file` command and read the output +gem "open3" + +# Cryptographic tools +gem "digest" + # Gems useful for development group :development do gem "better_errors" diff --git a/Gemfile.lock b/Gemfile.lock index 844b862ee..bd9051cdb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -218,6 +218,7 @@ GEM delayed_job_active_record (4.1.11) activerecord (>= 3.0, < 9.0) delayed_job (>= 3.0, < 5) + digest (3.2.0) docile (1.4.1) doorkeeper (5.8.2) railties (>= 5) @@ -477,6 +478,7 @@ GEM omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) + open3 (0.2.1) open4 (1.3.4) openstreetmap-deadlock_retry (1.3.1) opentelemetry-api (1.7.0) @@ -909,6 +911,7 @@ DEPENDENCIES debug debug_inspector delayed_job_active_record + digest doorkeeper doorkeeper-i18n doorkeeper-openid_connect @@ -945,6 +948,7 @@ DEPENDENCIES omniauth-mediawiki (>= 0.0.4) omniauth-microsoft_graph omniauth-rails_csrf_protection (~> 1.0) + open3 openstreetmap-deadlock_retry (>= 1.3.1) opentelemetry-exporter-otlp opentelemetry-instrumentation-all @@ -960,6 +964,7 @@ DEPENDENCIES rails-controller-testing rails-i18n (~> 8.0.0) rails_param + rexml rinku (>= 2.0.6) rotp rtlcss @@ -980,6 +985,7 @@ DEPENDENCIES teaspoon teaspoon-mocha (~> 2.3.3) terser + timeout turbo-rails unicode-display_width uri (< 1.0.0) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 9340d3b9b..758a51beb 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true class ApplicationController < ActionController::Base - require "timeout" - include SessionPersistence protect_from_forgery :with => :exception diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7450650dc..57ca34e6c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true module ApplicationHelper - require "rexml/document" - def linkify(text) link_attr = 'rel="nofollow" dir="auto"' if text.html_safe? diff --git a/app/helpers/open_graph_helper.rb b/app/helpers/open_graph_helper.rb index 30d460e27..605408760 100644 --- a/app/helpers/open_graph_helper.rb +++ b/app/helpers/open_graph_helper.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true module OpenGraphHelper - require "addressable/uri" - def opengraph_tags(title, properties) tags = { "og:site_name" => t("layouts.project_name.title"), diff --git a/app/helpers/reports_helper.rb b/app/helpers/reports_helper.rb index a8a07add3..411ce5d19 100644 --- a/app/helpers/reports_helper.rb +++ b/app/helpers/reports_helper.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require "ostruct" - module ReportsHelper Category = Struct.new(:id, :label) diff --git a/app/helpers/share_buttons_helper.rb b/app/helpers/share_buttons_helper.rb index 50da5881b..1db1ae014 100644 --- a/app/helpers/share_buttons_helper.rb +++ b/app/helpers/share_buttons_helper.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true module ShareButtonsHelper - require "uri" - SHARE_BUTTONS_CONFIG = { :email => "share_button_icons/email.svg", :bluesky => "share_button_icons/bluesky.svg", diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 742e76c7b..0249ecfd0 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -38,8 +38,6 @@ # class Changeset < ApplicationRecord - require "xml/libxml" - belongs_to :user, :counter_cache => true has_many :changeset_tags diff --git a/app/models/node.rb b/app/models/node.rb index 82e619a2d..390dc30ea 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -24,8 +24,6 @@ # class Node < ApplicationRecord - require "xml/libxml" - include GeoRecord include ConsistencyValidations include NotRedactable diff --git a/app/models/relation.rb b/app/models/relation.rb index 105946add..adbb7f2fa 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -20,8 +20,6 @@ # class Relation < ApplicationRecord - require "xml/libxml" - include ConsistencyValidations include NotRedactable diff --git a/app/models/trace.rb b/app/models/trace.rb index bb6b2dd56..975f22b1b 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -29,8 +29,6 @@ # class Trace < ApplicationRecord - require "open3" - self.table_name = "gpx_files" belongs_to :user, :counter_cache => true diff --git a/app/models/user.rb b/app/models/user.rb index d5bea8be2..a6ca8aaf3 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,7 +50,6 @@ # class User < ApplicationRecord - require "digest" include AASM has_many :traces, -> { where(:visible => true) } diff --git a/app/models/way.rb b/app/models/way.rb index 331b1b823..3fa873678 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -20,8 +20,6 @@ # class Way < ApplicationRecord - require "xml/libxml" - include ConsistencyValidations include NotRedactable diff --git a/config/initializers/rtlcss.rb b/config/initializers/rtlcss.rb index b8cf1d12f..d19b4db11 100644 --- a/config/initializers/rtlcss.rb +++ b/config/initializers/rtlcss.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require "rtlcss" - class RtlcssSCSSProcessor < SassC::Rails::ScssTemplate def self.call(input) output = super diff --git a/lib/nominatim.rb b/lib/nominatim.rb index 678c96222..54d612003 100644 --- a/lib/nominatim.rb +++ b/lib/nominatim.rb @@ -1,8 +1,6 @@ # frozen_string_literal: true module Nominatim - require "timeout" - extend ActionView::Helpers::NumberHelper def self.describe_location(lat, lon, zoom = nil, language = nil) -- 2.39.5