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
master
Claire 3 years ago committed by GitHub
parent 5027abecd1
commit a4dcaef53b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      app/lib/formatter.rb
  2. 2
      app/validators/url_validator.rb
  3. 3
      config/application.rb
  4. 4
      config/initializers/inflections.rb
  5. 2
      db/migrate/20160223165723_add_url_to_statuses.rb
  6. 2
      db/migrate/20160223165855_add_url_to_accounts.rb
  7. 2
      db/migrate/20160322193748_add_avatar_remote_url_to_accounts.rb
  8. 2
      db/migrate/20170318214217_add_header_remote_url_to_accounts.rb
  9. 2
      db/migrate/20171130000000_add_embed_url_to_preview_cards.rb
  10. 2
      db/migrate/20180304013859_add_featured_collection_url_to_accounts.rb
  11. 2
      db/migrate/20200529214050_add_devices_url_to_accounts.rb
  12. 0
      lib/exceptions.rb
  13. 0
      lib/sanitize_ext/sanitize_config.rb
  14. 1
      spec/lib/sanitize_config_spec.rb
  15. 2
      spec/validators/url_validator_spec.rb

@ -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…
Cancel
Save