DEV: Update to lastest rubocop-discourse

This commit is contained in:
Loïc Guitaut
2024-05-27 12:27:13 +02:00
committed by Loïc Guitaut
parent 3b6d4c830f
commit 2a28cda15c
164 changed files with 269 additions and 263 deletions

View File

@@ -27,7 +27,7 @@ class Archetype
end
def self.list
return [] unless @archetypes.present?
return [] if @archetypes.blank?
@archetypes.values
end

View File

@@ -161,8 +161,8 @@ class Auth::ManagedAuthenticator < Auth::Authenticator
if bio || location
profile = user.user_profile
profile.bio_raw = bio unless profile.bio_raw.present?
profile.location = location unless profile.location.present?
profile.bio_raw = bio if profile.bio_raw.blank?
profile.location = location if profile.location.blank?
profile.save
end
end

View File

@@ -317,7 +317,7 @@ class Autospec::Manager
if @queue.first && @queue.first[0] == "focus"
focus = @queue.shift
@queue.unshift([file, spec, runner])
unless spec.include?(":") && focus[1].include?(spec.split(":")[0])
if spec.exclude?(":") || focus[1].exclude?(spec.split(":")[0])
@queue.unshift(focus) if focus[1].include?(spec) || file != spec
end
else

View File

@@ -153,7 +153,7 @@ module BackupRestore
RailsMultisite::ConnectionManagement.establish_connection(db: @current_db)
while pg_dump_running
message = logs.pop.strip
log(message) unless message.blank?
log(message) if message.present?
end
end

View File

@@ -14,7 +14,7 @@ class BookmarksBulkAction
end
def perform!
unless BookmarksBulkAction.operations.include?(@operation[:type])
if BookmarksBulkAction.operations.exclude?(@operation[:type])
raise Discourse::InvalidParameters.new(:operation)
end
# careful these are private methods, we need send

View File

@@ -18,7 +18,7 @@ class CommonPasswords
@mutex = Mutex.new
def self.common_password?(password)
return false unless password.present?
return false if password.blank?
password_list.include?(password)
end

View File

@@ -183,7 +183,7 @@ class ComposerMessagesFinder
def check_get_a_room(min_users_posted: 5)
return unless @user.guardian.can_send_private_messages?
return unless educate_reply?(:notified_about_get_a_room)
return unless @details[:post_id].present?
return if @details[:post_id].blank?
return if @topic.category&.read_restricted
reply_to_user_id = Post.where(id: @details[:post_id]).pluck(:user_id)[0]

View File

@@ -155,7 +155,7 @@ module CookedProcessorMixin
end
def get_size_from_image_sizes(src, image_sizes)
return unless image_sizes.present?
return if image_sizes.blank?
image_sizes.each do |image_size|
url, size = image_size[0], image_size[1]
if url && src && url.include?(src) && size && size["width"].to_i > 0 &&

View File

@@ -4,7 +4,7 @@ module DirectoryHelper
def tmp_directory(prefix)
directory_cache[prefix] ||= begin
f = File.join(Rails.root, "tmp", Time.now.strftime("#{prefix}%Y%m%d%H%M%S"))
FileUtils.mkdir_p(f) unless Dir[f].present?
FileUtils.mkdir_p(f) if Dir[f].blank?
f
end
end

View File

@@ -1182,7 +1182,7 @@ module Discourse
CDN_REQUEST_METHODS ||= %w[GET HEAD OPTIONS]
def self.is_cdn_request?(env, request_method)
return unless CDN_REQUEST_METHODS.include?(request_method)
return if CDN_REQUEST_METHODS.exclude?(request_method)
cdn_hostnames = GlobalSetting.cdn_hostnames
return if cdn_hostnames.blank?

View File

@@ -159,7 +159,7 @@ module DiscourseTagging
parent_tag = tags.select { |t| t.id == parent_tag_ids.first }.first
original_child_tag = tags.select { |t| t.id == tag_id }.first
next unless parent_tag.present? && original_child_tag.present?
next if parent_tag.blank? || original_child_tag.blank?
parent_child_names_map[parent_tag.name] = original_child_tag.name
end

View File

@@ -300,7 +300,7 @@ module Email
def reply_by_email_address
return @reply_by_email_address if @reply_by_email_address
return nil unless SiteSetting.reply_by_email_address.present?
return nil if SiteSetting.reply_by_email_address.blank?
@reply_by_email_address = SiteSetting.reply_by_email_address.dup

View File

@@ -445,7 +445,7 @@ module Email
text_content_type = @mail.content_type
end
return unless text.present? || html.present?
return if text.blank? && html.blank?
if text.present?
text = trim_discourse_markers(text)

View File

@@ -423,7 +423,7 @@ module Email
.css("a")
.each do |link|
begin
link["href"] = "#{site_uri}#{link["href"]}" unless URI(link["href"].to_s).host.present?
link["href"] = "#{site_uri}#{link["href"]}" if URI(link["href"].to_s).host.blank?
rescue URI::Error
# leave it
end

View File

@@ -20,7 +20,7 @@ module EmailControllerHelper
take_next: false,
) do |memo, v|
memo[:current] = v[:name] if v[:value] == frequency_in_minutes && email_digests
next(memo) unless allowed_frequencies.include?(v[:name])
next(memo) if allowed_frequencies.exclude?(v[:name])
memo.tap do |m|
m[:selected] = v[:value] if m[:take_next] && email_digests

View File

@@ -26,7 +26,7 @@ module Encodings
end
def self.delete_bom!(string)
string.sub!(/\A\xEF\xBB\xBF/, "") unless string.blank?
string.sub!(/\A\xEF\xBB\xBF/, "") if string.present?
string
end
end

View File

@@ -407,7 +407,7 @@ class FinalDestination
def validate_uri_format
return false unless @uri && @uri.host
return false unless %w[https http].include?(@uri.scheme)
return false if %w[https http].exclude?(@uri.scheme)
# In some cases (like local/test environments) we may want to allow http URLs
# to be used for internal hosts, but only if it's the case that the host is

View File

@@ -2,7 +2,7 @@
class FinalDestination::HTTP < Net::HTTP
def connect
raise ArgumentError.new("address cannot be nil or empty") unless @address.present?
raise ArgumentError.new("address cannot be nil or empty") if @address.blank?
original_open_timeout = @open_timeout
return super if @ipaddr

View File

@@ -73,7 +73,7 @@ module I18n
execute_reload if @requires_reload
locale = (opts[:locale] || config.locale).to_sym
load_locale(locale) unless @loaded_locales.include?(locale)
load_locale(locale) if @loaded_locales.exclude?(locale)
results = {}
regexp = I18n::Backend::DiscourseI18n.create_search_regexp(query)
@@ -99,7 +99,7 @@ module I18n
def ensure_loaded!(locale)
locale = locale.to_sym
@loaded_locales ||= []
load_locale(locale) unless @loaded_locales.include?(locale)
load_locale(locale) if @loaded_locales.exclude?(locale)
end
# In some environments such as migrations we don't want to use overrides.
@@ -198,7 +198,7 @@ module I18n
key = args.shift
locale = (options[:locale] || config.locale).to_sym
load_locale(locale) unless @loaded_locales.include?(locale)
load_locale(locale) if @loaded_locales.exclude?(locale)
if @overrides_enabled
overrides = {}
@@ -234,7 +234,7 @@ module I18n
locale ||= config.locale
locale = locale.to_sym
load_locale(locale) unless @loaded_locales.include?(locale)
load_locale(locale) if @loaded_locales.exclude?(locale)
exists_no_cache?(key, locale)
end

View File

@@ -26,7 +26,7 @@ module HasErrors
end
def add_error(msg)
errors.add(:base, msg) unless errors[:base].include?(msg)
errors.add(:base, msg) if errors[:base].exclude?(msg)
end
def add_errors_from(obj)

View File

@@ -125,7 +125,7 @@ module ImportExport
@export_data[:categories].each do |c|
c[:permissions_params].each do |group_name, _|
group_names << group_name unless auto_group_names.include?(group_name.to_s)
group_names << group_name if auto_group_names.exclude?(group_name.to_s)
end
end

View File

@@ -59,7 +59,7 @@ class NewPostManager
pattern = SiteSetting.auto_silence_first_post_regex
return false unless pattern.present?
return false if pattern.blank?
return false unless is_first_post?(manager)
begin

View File

@@ -29,7 +29,7 @@ class NewPostResult
if arr.empty?
@success = true
else
arr.each { |e| errors.add(:base, e) unless errors[:base].include?(e) }
arr.each { |e| errors.add(:base, e) if errors[:base].exclude?(e) }
end
end

View File

@@ -182,7 +182,7 @@ module Onebox
)
response = http.head(uri.path)
unless %w[200 301 302].include?(response.code)
if %w[200 301 302].exclude?(response.code)
raise "unexpected response code #{response.code}"
end

View File

@@ -23,7 +23,7 @@ module Onebox
end
def data
return nil unless %w[story comment].include?(raw["type"])
return nil if %w[story comment].exclude?(raw["type"])
html_entities = HTMLEntities.new
data = {

View File

@@ -124,7 +124,7 @@ module Onebox
code = response.code.to_i
unless code === 200
response.error! unless [301, 302, 303, 307, 308].include?(code)
response.error! if [301, 302, 303, 307, 308].exclude?(code)
return(
fetch_response(

View File

@@ -753,7 +753,7 @@ class Plugin::Instance
assets.concat(auto_assets)
end
register_assets! unless assets.blank?
register_assets! if assets.present?
register_locales!
register_service_workers!

View File

@@ -10,7 +10,7 @@ module PluginGem
spec_file = spec_path + "/#{name}-#{version}"
unless platform_variants(spec_file).find(&File.method(:exist?)).present?
if platform_variants(spec_file).find(&File.method(:exist?)).blank?
command =
"gem install #{name} -v #{version} -i #{gems_path} --no-document --ignore-dependencies --no-user-install"
command += " --source #{opts[:source]}" if opts[:source]

View File

@@ -299,7 +299,7 @@ class PostCreator
end
def self.set_reply_info(post)
return unless post.reply_to_post_number.present?
return if post.reply_to_post_number.blank?
# Before the locking here was added, replying to a post and liking a post
# at roughly the same time could cause a deadlock.
@@ -396,7 +396,7 @@ class PostCreator
end
def create_embedded_topic
return unless @opts[:embed_url].present?
return if @opts[:embed_url].blank?
original_uri = URI.parse(@opts[:embed_url])
raise Discourse::InvalidParameters.new(:embed_url) unless original_uri.is_a?(URI::HTTP)

View File

@@ -61,7 +61,7 @@ class PostRevisor
tracked_topic_fields[field] = block
# Define it in the serializer unless it already has been defined
unless PostRevisionSerializer.instance_methods(false).include?("#{field}_changes".to_sym)
if PostRevisionSerializer.instance_methods(false).exclude?("#{field}_changes".to_sym)
PostRevisionSerializer.add_compared_field(field)
end
end

View File

@@ -18,7 +18,7 @@ module PrettyText
def avatar_template(username)
return "" unless username
user = User.find_by(username_lower: username.downcase)
return "" unless user.present?
return "" if user.blank?
# TODO: Add support for ES6 and call `avatar-template` directly
UrlHelper.schemaless(UrlHelper.absolute(user.avatar_template))
@@ -27,7 +27,7 @@ module PrettyText
def lookup_primary_user_group(username)
return "" unless username
user = User.find_by(username_lower: username.downcase)
return "" unless user.present?
return "" if user.blank?
user.primary_group.try(:name) || ""
end

View File

@@ -919,7 +919,7 @@ class Search
def find_grouped_results
if @results.type_filter.present?
unless Search.facets.include?(@results.type_filter)
if Search.facets.exclude?(@results.type_filter)
raise Discourse::InvalidAccess.new("invalid type filter")
end
# calling protected methods

View File

@@ -259,7 +259,7 @@ class SiteSettings::TypeSupervisor
raise Discourse::InvalidParameters.new(name)
end
raise Discourse::InvalidParameters.new(:value) unless choice.include?(val)
raise Discourse::InvalidParameters.new(:value) if choice.exclude?(val)
end
end

View File

@@ -1,7 +1,7 @@
# frozen_string_literal: true
task "assets:precompile:prereqs" do
unless %w[profile production].include? Rails.env
if %w[profile production].exclude? Rails.env
raise "rake assets:precompile should only be run in RAILS_ENV=production, you are risking unminified assets"
end
end
@@ -214,7 +214,7 @@ end
def max_compress?(path, locales)
return false if Rails.configuration.assets.skip_minification.include? path
return false if EmberCli.is_ember_cli_asset?(path)
return true unless path.include? "locales/"
return true if path.exclude? "locales/"
path_locale = path.delete_prefix("locales/").delete_suffix(".js")
return true if locales.include? path_locale

View File

@@ -37,7 +37,7 @@ task "avatars:clean" => :environment do
optimized_image_ids.each do |id|
begin
optimized_image = OptimizedImage.find_by(id: id)
next unless optimized_image.present?
next if optimized_image.blank?
optimized_image.destroy!
rescue => e
puts "", "Failed to cleanup avatar (optimized_image id: #{id})", e, e.backtrace.join("\n")

View File

@@ -238,7 +238,7 @@ task "emails:fix_mailman_users" => :environment do
.includes(:user, :post)
.where("raw LIKE '%X-Mailman-Version: %'")
.find_each do |ie|
next unless ie.post.present?
next if ie.post.blank?
mail = Mail.new(ie.raw)
email, name = Email::Receiver.extract_email_address_and_name_from_mailman(mail)

View File

@@ -279,7 +279,7 @@ task "javascript:clean_up" do
next if processed.include?(package_dir_name)
versions = Dir["#{File.join(public_js, package_dir_name)}/*"].collect { |p| p.split("/").last }
next unless versions.present?
next if versions.blank?
versions = versions.sort { |a, b| Gem::Version.new(a) <=> Gem::Version.new(b) }
puts "Keeping #{package_dir_name} version: #{versions[-1]}"

View File

@@ -338,7 +338,7 @@ desc <<~DESC
DESC
task "version_bump:major_stable_merge", [:version_bump_ref] do |t, args|
merge_ref = args[:version_bump_ref]
raise "Must pass version_bump_ref" unless merge_ref.present?
raise "Must pass version_bump_ref" if merge_ref.blank?
git "fetch", "origin", merge_ref
raise "Unknown version_bump_ref: #{merge_ref.inspect}" unless ref_exists?(merge_ref)
@@ -395,7 +395,7 @@ desc <<~DESC
DESC
task "version_bump:stage_security_fixes", [:base] do |t, args|
base = args[:base]
raise "Unknown base: #{base.inspect}" unless %w[stable main].include?(base)
raise "Unknown base: #{base.inspect}" if %w[stable main].exclude?(base)
fix_refs = ENV["SECURITY_FIX_REFS"]&.split(",")&.map(&:strip)
raise "No branches specified in SECURITY_FIX_REFS env" if fix_refs.nil? || fix_refs.empty?

View File

@@ -28,7 +28,7 @@ class ThemeSettingsParser
if type == @types[:enum]
choices = raw_opts[:choices]
choices = [] unless choices.is_a?(Array)
choices << default unless choices.include?(default)
choices << default if choices.exclude?(default)
opts[:choices] = choices
end

View File

@@ -29,7 +29,7 @@ class ThemeSettingsValidator
case type
when types[:enum]
unless opts[:choices].include?(value) || opts[:choices].map(&:to_s).include?(value)
if opts[:choices].exclude?(value) && opts[:choices].map(&:to_s).exclude?(value)
errors << I18n.t(
"themes.settings_errors.enum_value_not_valid",
choices: opts[:choices].join(", "),

View File

@@ -111,7 +111,7 @@ class ThemeStore::GitImporter < ThemeStore::BaseImporter
def clone_http!
uri = redirected_uri
raise_import_error! unless %w[http https].include?(@uri.scheme)
raise_import_error! if %w[http https].exclude?(@uri.scheme)
addresses = FinalDestination::SSRFDetector.lookup_and_filter_ips(uri.host)
@@ -133,7 +133,7 @@ class ThemeStore::GitImporter < ThemeStore::BaseImporter
end
def clone_ssh!
raise_import_error! unless @private_key.present?
raise_import_error! if @private_key.blank?
with_ssh_private_key do |ssh_folder|
# Use only the specified SSH key

View File

@@ -206,7 +206,7 @@ class TopicCreator
end
def setup_auto_close_time(topic)
return unless @opts[:auto_close_time].present?
return if @opts[:auto_close_time].blank?
return unless @guardian.can_moderate?(topic)
topic.set_auto_close(@opts[:auto_close_time], by_user: @user)
end
@@ -215,8 +215,8 @@ class TopicCreator
return unless @opts[:archetype] == Archetype.private_message
topic.subtype = TopicSubtype.user_to_user unless topic.subtype
unless @opts[:target_usernames].present? || @opts[:target_emails].present? ||
@opts[:target_group_names].present?
if @opts[:target_usernames].blank? && @opts[:target_emails].blank? &&
@opts[:target_group_names].blank?
rollback_with!(topic, :no_user_selected)
end

View File

@@ -721,7 +721,7 @@ class TopicQuery
end
def get_category_id(category_id_or_slug)
return nil unless category_id_or_slug.present?
return nil if category_id_or_slug.blank?
category_id = category_id_or_slug.to_i
if category_id == 0

View File

@@ -15,7 +15,7 @@ class TopicSubtype
end
def self.list
return [] unless @archetypes.present?
return [] if @archetypes.blank?
@archetypes.values
end

View File

@@ -758,8 +758,8 @@ class TopicView
@read_posts_set ||=
begin
result = Set.new
return result unless @user.present?
return result unless topic_user.present?
return result if @user.blank?
return result if topic_user.blank?
post_numbers =
PostTiming

View File

@@ -37,7 +37,7 @@ class TopicsBulkAction
end
def perform!
unless TopicsBulkAction.operations.include?(@operation[:type])
if TopicsBulkAction.operations.exclude?(@operation[:type])
raise Discourse::InvalidParameters.new(:operation)
end
# careful these are private methods, we need send

View File

@@ -69,6 +69,6 @@ class FormTemplateYamlValidator < ActiveModel::Validator
record.errors.add(:template, I18n.t("form_templates.errors.duplicate_ids"))
end
existing_ids << field["id"] unless field["id"].blank?
existing_ids << field["id"] if field["id"].present?
end
end

View File

@@ -39,7 +39,7 @@ class PostValidator < ActiveModel::Validator
if private_message?(post)
SiteSetting.private_message_post_length
elsif post.is_first_post? || (post.topic.present? && post.topic.posts_count == 0)
if post.topic&.featured_link&.present?
if post.topic&.featured_link.present?
(0..SiteSetting.max_post_length)
else
SiteSetting.first_post_length

View File

@@ -78,7 +78,7 @@ class UploadValidator < ActiveModel::Validator
.gsub(/[\s\.]+/, "")
.downcase
.split("|")
.each { |extension| extensions << extension unless extension.include?("*") }
.each { |extension| extensions << extension if extension.exclude?("*") }
extensions
end

View File

@@ -37,7 +37,7 @@ module Discourse
# 2.4.4.beta6: some-other-branch-ref
# 2.4.2.beta1: v1-tag
def self.find_compatible_resource(version_list, target_version = ::Discourse::VERSION::STRING)
return unless version_list.present?
return if version_list.blank?
begin
version_list = YAML.safe_load(version_list)

View File

@@ -89,7 +89,7 @@ class Wizard
.pluck(:context)
# First uncompleted step
steps_with_fields.each { |s| return s unless completed.include?(s.id) }
steps_with_fields.each { |s| return s if completed.exclude?(s.id) }
@first_step
end