From 153a8339ab4505a36e44b28e8746d4d3a514fb8f Mon Sep 17 00:00:00 2001 From: evazion Date: Sat, 11 Jan 2020 19:07:28 -0600 Subject: [PATCH] Inherit errors from StandardError instead of Exception. --- .rubocop.yml | 3 +++ .../user/email_notifications_controller.rb | 2 +- app/jobs/tag_batch_change_job.rb | 2 +- app/logical/downloads/file.rb | 2 +- app/logical/pagination_extension.rb | 2 +- app/logical/pawoo_api_client.rb | 2 +- app/logical/pixiv_api_client.rb | 2 +- app/logical/post_sets/search_error.rb | 2 +- app/logical/post_sets/wiki_page.rb | 2 +- app/logical/session_loader.rb | 2 +- app/logical/upload_service/replacer.rb | 2 +- app/logical/user_deletion.rb | 2 +- app/models/artist.rb | 2 +- app/models/artist_commentary.rb | 2 +- app/models/comment_vote.rb | 2 +- app/models/favorite.rb | 2 +- app/models/note.rb | 2 +- app/models/pool.rb | 2 +- app/models/pool_version.rb | 2 +- app/models/post.rb | 12 ++++++------ app/models/post_appeal.rb | 2 +- app/models/post_archive.rb | 2 +- app/models/post_flag.rb | 2 +- app/models/post_vote.rb | 2 +- app/models/upload.rb | 2 +- app/models/user.rb | 4 ++-- app/models/wiki_page.rb | 2 +- 27 files changed, 35 insertions(+), 32 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 07b4d7ff5..bafae9a37 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -37,6 +37,9 @@ Layout/SpaceInsideBlockBraces: Layout/SpaceInsideHashLiteralBraces: Enabled: false +Lint/InheritException: + EnforcedStyle: standard_error + Naming/MethodParameterName: Enabled: false diff --git a/app/controllers/maintenance/user/email_notifications_controller.rb b/app/controllers/maintenance/user/email_notifications_controller.rb index e5d00bf57..d3258961e 100644 --- a/app/controllers/maintenance/user/email_notifications_controller.rb +++ b/app/controllers/maintenance/user/email_notifications_controller.rb @@ -1,7 +1,7 @@ module Maintenance module User class EmailNotificationsController < ApplicationController - class VerificationError < Exception; end + class VerificationError < StandardError; end before_action :validate_sig, :only => [:destroy] rescue_from VerificationError, :with => :render_403 diff --git a/app/jobs/tag_batch_change_job.rb b/app/jobs/tag_batch_change_job.rb index 3fed044e8..df42704f0 100644 --- a/app/jobs/tag_batch_change_job.rb +++ b/app/jobs/tag_batch_change_job.rb @@ -1,5 +1,5 @@ class TagBatchChangeJob < ApplicationJob - class Error < Exception; end + class Error < StandardError; end queue_as :bulk_update diff --git a/app/logical/downloads/file.rb b/app/logical/downloads/file.rb index 0e7e8ebbc..9be7b2109 100644 --- a/app/logical/downloads/file.rb +++ b/app/logical/downloads/file.rb @@ -3,7 +3,7 @@ require 'resolv' module Downloads class File include ActiveModel::Validations - class Error < Exception; end + class Error < StandardError; end RETRIABLE_ERRORS = [Errno::ECONNRESET, Errno::ETIMEDOUT, Errno::EIO, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Timeout::Error, IOError] diff --git a/app/logical/pagination_extension.rb b/app/logical/pagination_extension.rb index fbc518ef1..efe55f2a4 100644 --- a/app/logical/pagination_extension.rb +++ b/app/logical/pagination_extension.rb @@ -1,5 +1,5 @@ module PaginationExtension - class PaginationError < Exception; end + class PaginationError < StandardError; end attr_accessor :current_page, :records_per_page, :paginator_count, :paginator_mode diff --git a/app/logical/pawoo_api_client.rb b/app/logical/pawoo_api_client.rb index 48f5df6df..2d12a896a 100644 --- a/app/logical/pawoo_api_client.rb +++ b/app/logical/pawoo_api_client.rb @@ -6,7 +6,7 @@ class PawooApiClient STATUS1 = %r!\Ahttps?://pawoo\.net/web/statuses/(\d+)! STATUS2 = %r!\Ahttps?://pawoo\.net/@.+?/([^/]+)! - class MissingConfigurationError < Exception; end + class MissingConfigurationError < StandardError; end class Account attr_reader :json diff --git a/app/logical/pixiv_api_client.rb b/app/logical/pixiv_api_client.rb index 3b385d2d3..f1d55c981 100644 --- a/app/logical/pixiv_api_client.rb +++ b/app/logical/pixiv_api_client.rb @@ -23,7 +23,7 @@ class PixivApiClient VistaPro Sculptris Comi\ Po! modo DAZ\ Studio 3D-Coat ] - class Error < Exception; end + class Error < StandardError; end class BadIDError < Error; end class WorkResponse diff --git a/app/logical/post_sets/search_error.rb b/app/logical/post_sets/search_error.rb index 6683b51a2..f9d2cb5cb 100644 --- a/app/logical/post_sets/search_error.rb +++ b/app/logical/post_sets/search_error.rb @@ -1,4 +1,4 @@ module PostSets - class SearchError < Exception + class SearchError < StandardError end end diff --git a/app/logical/post_sets/wiki_page.rb b/app/logical/post_sets/wiki_page.rb index 22625fa43..d6f4a69e0 100644 --- a/app/logical/post_sets/wiki_page.rb +++ b/app/logical/post_sets/wiki_page.rb @@ -1,5 +1,5 @@ module PostSets - class SearchError < Exception + class SearchError < StandardError end class WikiPage < PostSets::Post diff --git a/app/logical/session_loader.rb b/app/logical/session_loader.rb index be4368f5e..64e0baf21 100644 --- a/app/logical/session_loader.rb +++ b/app/logical/session_loader.rb @@ -1,5 +1,5 @@ class SessionLoader - class AuthenticationFailure < Exception; end + class AuthenticationFailure < StandardError; end attr_reader :session, :cookies, :request, :params diff --git a/app/logical/upload_service/replacer.rb b/app/logical/upload_service/replacer.rb index 6a956d78e..8fe001d91 100644 --- a/app/logical/upload_service/replacer.rb +++ b/app/logical/upload_service/replacer.rb @@ -1,7 +1,7 @@ class UploadService class Replacer extend Memoist - class Error < Exception; end + class Error < StandardError; end attr_reader :post, :replacement diff --git a/app/logical/user_deletion.rb b/app/logical/user_deletion.rb index 210908cf8..aa0922e17 100644 --- a/app/logical/user_deletion.rb +++ b/app/logical/user_deletion.rb @@ -1,5 +1,5 @@ class UserDeletion - class ValidationError < Exception; end + class ValidationError < StandardError; end attr_reader :user, :password diff --git a/app/models/artist.rb b/app/models/artist.rb index 5d435596a..cc15ec75c 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -1,6 +1,6 @@ class Artist < ApplicationRecord extend Memoist - class RevertError < Exception; end + class RevertError < StandardError; end attr_accessor :url_string_changed array_attribute :other_names diff --git a/app/models/artist_commentary.rb b/app/models/artist_commentary.rb index ed404a8aa..563c0e3bf 100644 --- a/app/models/artist_commentary.rb +++ b/app/models/artist_commentary.rb @@ -1,5 +1,5 @@ class ArtistCommentary < ApplicationRecord - class RevertError < Exception; end + class RevertError < StandardError; end attr_accessor :remove_commentary_tag, :remove_commentary_request_tag, :remove_commentary_check_tag, :remove_partial_commentary_tag attr_accessor :add_commentary_tag, :add_commentary_request_tag, :add_commentary_check_tag, :add_partial_commentary_tag diff --git a/app/models/comment_vote.rb b/app/models/comment_vote.rb index 701eead15..379d082ef 100644 --- a/app/models/comment_vote.rb +++ b/app/models/comment_vote.rb @@ -1,5 +1,5 @@ class CommentVote < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end belongs_to :comment belongs_to :user diff --git a/app/models/favorite.rb b/app/models/favorite.rb index 0d204f707..2f5c1622a 100644 --- a/app/models/favorite.rb +++ b/app/models/favorite.rb @@ -1,5 +1,5 @@ class Favorite < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end belongs_to :post belongs_to :user diff --git a/app/models/note.rb b/app/models/note.rb index 8402a850f..2f03bb97d 100644 --- a/app/models/note.rb +++ b/app/models/note.rb @@ -1,5 +1,5 @@ class Note < ApplicationRecord - class RevertError < Exception; end + class RevertError < StandardError; end attr_accessor :html_id belongs_to :post diff --git a/app/models/pool.rb b/app/models/pool.rb index 61a557521..f2813a7a8 100644 --- a/app/models/pool.rb +++ b/app/models/pool.rb @@ -1,5 +1,5 @@ class Pool < ApplicationRecord - class RevertError < Exception; end + class RevertError < StandardError; end POOL_ORDER_LIMIT = 1000 array_attribute :post_ids, parse: /\d+/, cast: :to_i diff --git a/app/models/pool_version.rb b/app/models/pool_version.rb index aeafe22b7..47a240077 100644 --- a/app/models/pool_version.rb +++ b/app/models/pool_version.rb @@ -1,5 +1,5 @@ class PoolVersion < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end belongs_to :pool belongs_to_updater diff --git a/app/models/post.rb b/app/models/post.rb index 1accb05d8..e9b6b25c4 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1,12 +1,12 @@ require 'danbooru/has_bit_flags' class Post < ApplicationRecord - class ApprovalError < Exception; end - class DisapprovalError < Exception; end - class RevertError < Exception; end - class SearchError < Exception; end - class DeletionError < Exception; end - class TimeoutError < Exception; end + class ApprovalError < StandardError; end + class DisapprovalError < StandardError; end + class RevertError < StandardError; end + class SearchError < StandardError; end + class DeletionError < StandardError; end + class TimeoutError < StandardError; end # Tags to copy when copying notes. NOTE_COPY_TAGS = %w[translated partially_translated check_translation translation_request reverse_translation] diff --git a/app/models/post_appeal.rb b/app/models/post_appeal.rb index 1b83a7c49..0b7247c9d 100644 --- a/app/models/post_appeal.rb +++ b/app/models/post_appeal.rb @@ -1,5 +1,5 @@ class PostAppeal < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end MAX_APPEALS_PER_DAY = 1 diff --git a/app/models/post_archive.rb b/app/models/post_archive.rb index afc47e30e..83fdd3fed 100644 --- a/app/models/post_archive.rb +++ b/app/models/post_archive.rb @@ -1,5 +1,5 @@ class PostArchive < ApplicationRecord - class RevertError < Exception; end + class RevertError < StandardError; end extend Memoist belongs_to :post diff --git a/app/models/post_flag.rb b/app/models/post_flag.rb index 197591a6c..fc7979fec 100644 --- a/app/models/post_flag.rb +++ b/app/models/post_flag.rb @@ -1,5 +1,5 @@ class PostFlag < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end module Reasons UNAPPROVED = "Unapproved in three days" diff --git a/app/models/post_vote.rb b/app/models/post_vote.rb index cf91e3824..a62a62340 100644 --- a/app/models/post_vote.rb +++ b/app/models/post_vote.rb @@ -1,5 +1,5 @@ class PostVote < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end belongs_to :post belongs_to :user diff --git a/app/models/upload.rb b/app/models/upload.rb index c73ca8ccb..a91234541 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -1,7 +1,7 @@ require "tmpdir" class Upload < ApplicationRecord - class Error < Exception; end + class Error < StandardError; end class FileValidator < ActiveModel::Validator def validate(record) diff --git a/app/models/user.rb b/app/models/user.rb index 0adaa7d5a..10d13b843 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -2,8 +2,8 @@ require 'digest/sha1' require 'danbooru/has_bit_flags' class User < ApplicationRecord - class Error < Exception; end - class PrivilegeError < Exception; end + class Error < StandardError; end + class PrivilegeError < StandardError; end module Levels ANONYMOUS = 0 diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index df2e16ef6..b214f285e 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -1,5 +1,5 @@ class WikiPage < ApplicationRecord - class RevertError < Exception; end + class RevertError < StandardError; end META_WIKIS = ["list_of_", "tag_group:", "pool_group:", "howto:", "about:", "help:", "template:"]