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:
parent
5027abecd1
commit
a4dcaef53b
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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'
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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!
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
Loading…
Reference in New Issue