5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-25 04:06:22 +00:00
panel/config/application.rb

92 lines
3 KiB
Ruby

# frozen_string_literal: true
require_relative 'boot'
require 'aasm'
require 'redis-client'
require 'hiredis-client'
require 'brs'
require 'rails'
# Pick the frameworks you want:
require 'active_model/railtie'
require 'active_job/railtie'
require 'active_record/railtie'
require 'active_storage/engine'
require 'action_controller/railtie'
require 'action_mailer/railtie'
# require 'action_mailbox/engine'
require 'action_text/engine'
require 'action_view/railtie'
# require "action_cable/engine"
require 'sprockets/railtie'
require 'rails/test_unit/railtie'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
if %w[development test].include? ENV['RAILS_ENV']
# https://github.com/bkeepers/dotenv/pull/453
Dotenv::Railtie.class_eval do
def overload
Dotenv.overload(*dotenv_files.reverse)
end
end
Dotenv::Railtie.overload
end
module Sutty
ALLOWED_ATTRIBUTES = %w[style href src alt controls data-align data-multimedia data-multimedia-inner id name rel
target referrerpolicy class colspan rowspan role data-turbo start type reversed].freeze
ALLOWED_TAGS = %w[strong em del u mark p h1 h2 h3 h4 h5 h6 ul ol li img iframe audio video div figure blockquote
figcaption a sub sup small table thead tbody tfoot tr th td br code].freeze
# Sutty!
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails
# version.
config.load_defaults 6.1
# Settings in config/environments/* take precedence over those
# specified here. Application configuration can go into files in
# config/initializers -- all .rb files in that directory are
# automatically loaded after loading the framework and any gems in
# your application.
config.action_dispatch
.rescue_responses['Pundit::NotAuthorizedError'] = :forbidden
config.active_storage.variant_processor = :vips
config.active_storage.web_image_content_types << 'image/webp'
# Que
config.action_mailer.deliver_later_queue_name = :default
config.active_storage.queues.analysis = :default
config.active_storage.queues.purge = :default
config.active_job.queue_adapter = :que
config.active_record.schema_format = :sql
config.to_prepare do
Dir.glob(File.join(File.dirname(__FILE__), '..', 'app', '**', '*_decorator.rb')).sort.each do |c|
Rails.configuration.cache_classes ? require(c) : load(c)
end
end
config.after_initialize do
ActiveStorage::DirectUploadsController.include ActiveStorage::AuthenticatedDirectUploadsController
I18n.available_locales.each do |locale|
translations = I18n.t(:email_address, locale: locale)
next unless translations.is_a? Hash
EmailAddress::Config.error_messages translations.transform_keys(&:to_s), locale.to_s
end
end
def nodes
@nodes ||= ENV.fetch('SUTTY_NODES', 'anarres.sutty.nl').split(',')
end
end
end