Prepare Mastodon for zeitwerk autoloader (#15917)

* Prepare Mastodon for zeitwerk autoloader (Rails 6)

Add inflections and rename/move a few classes.

In particular, app/lib/exceptions.rb and app/lib/sanitize_config.rb
were manually loaded while still in autoload paths.

* Add inflection for Url → URL
This commit is contained in:
Claire 2021-03-19 02:42:43 +01:00 committed by GitHub
parent 5027abecd1
commit a4dcaef53b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 15 additions and 12 deletions

View File

@ -1,7 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
require 'singleton' require 'singleton'
require_relative './sanitize_config'
class Formatter class Formatter
include Singleton include Singleton

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class UrlValidator < ActiveModel::EachValidator class URLValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value) def validate_each(record, attribute, value)
record.errors.add(attribute, I18n.t('applications.invalid_url')) unless compliant?(value) record.errors.add(attribute, I18n.t('applications.invalid_url')) unless compliant?(value)
end end

View File

@ -6,8 +6,9 @@ require 'rails/all'
# you've limited to :test, :development, or :production. # you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups) Bundler.require(*Rails.groups)
require_relative '../app/lib/exceptions' require_relative '../lib/exceptions'
require_relative '../lib/enumerable' require_relative '../lib/enumerable'
require_relative '../lib/sanitize_ext/sanitize_config'
require_relative '../lib/redis/namespace_extensions' require_relative '../lib/redis/namespace_extensions'
require_relative '../lib/paperclip/url_generator_extensions' require_relative '../lib/paperclip/url_generator_extensions'
require_relative '../lib/paperclip/attachment_extensions' require_relative '../lib/paperclip/attachment_extensions'

View File

@ -20,6 +20,10 @@ ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym 'JsonLd' inflect.acronym 'JsonLd'
inflect.acronym 'NodeInfo' inflect.acronym 'NodeInfo'
inflect.acronym 'Ed25519' inflect.acronym 'Ed25519'
inflect.acronym 'TOC'
inflect.acronym 'RSS'
inflect.acronym 'REST'
inflect.acronym 'URL'
inflect.singular 'data', 'data' inflect.singular 'data', 'data'
end end

View File

@ -1,4 +1,4 @@
class AddUrlToStatuses < ActiveRecord::Migration[4.2] class AddURLToStatuses < ActiveRecord::Migration[4.2]
def change def change
add_column :statuses, :url, :string, null: true, default: nil add_column :statuses, :url, :string, null: true, default: nil
end end

View File

@ -1,4 +1,4 @@
class AddUrlToAccounts < ActiveRecord::Migration[4.2] class AddURLToAccounts < ActiveRecord::Migration[4.2]
def change def change
add_column :accounts, :url, :string, null: true, default: nil add_column :accounts, :url, :string, null: true, default: nil
end end

View File

@ -1,4 +1,4 @@
class AddAvatarRemoteUrlToAccounts < ActiveRecord::Migration[4.2] class AddAvatarRemoteURLToAccounts < ActiveRecord::Migration[4.2]
def change def change
add_column :accounts, :avatar_remote_url, :string, null: true, default: nil add_column :accounts, :avatar_remote_url, :string, null: true, default: nil
end end

View File

@ -1,4 +1,4 @@
class AddHeaderRemoteUrlToAccounts < ActiveRecord::Migration[5.0] class AddHeaderRemoteURLToAccounts < ActiveRecord::Migration[5.0]
def change def change
add_column :accounts, :header_remote_url, :string, null: false, default: '' add_column :accounts, :header_remote_url, :string, null: false, default: ''
end end

View File

@ -1,6 +1,6 @@
require Rails.root.join('lib', 'mastodon', 'migration_helpers') require Rails.root.join('lib', 'mastodon', 'migration_helpers')
class AddEmbedUrlToPreviewCards < ActiveRecord::Migration[5.1] class AddEmbedURLToPreviewCards < ActiveRecord::Migration[5.1]
include Mastodon::MigrationHelpers include Mastodon::MigrationHelpers
disable_ddl_transaction! disable_ddl_transaction!

View File

@ -1,4 +1,4 @@
class AddFeaturedCollectionUrlToAccounts < ActiveRecord::Migration[5.1] class AddFeaturedCollectionURLToAccounts < ActiveRecord::Migration[5.1]
def change def change
add_column :accounts, :featured_collection_url, :string add_column :accounts, :featured_collection_url, :string
end end

View File

@ -1,4 +1,4 @@
class AddDevicesUrlToAccounts < ActiveRecord::Migration[5.2] class AddDevicesURLToAccounts < ActiveRecord::Migration[5.2]
def change def change
add_column :accounts, :devices_url, :string add_column :accounts, :devices_url, :string
end end

View File

@ -1,7 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
require 'rails_helper' require 'rails_helper'
require Rails.root.join('app', 'lib', 'sanitize_config.rb')
describe Sanitize::Config do describe Sanitize::Config do
describe '::MASTODON_STRICT' do describe '::MASTODON_STRICT' do

View File

@ -2,7 +2,7 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe UrlValidator, type: :validator do RSpec.describe URLValidator, type: :validator do
describe '#validate_each' do describe '#validate_each' do
before do before do
allow(validator).to receive(:compliant?).with(value) { compliant } allow(validator).to receive(:compliant?).with(value) { compliant }