lib/active_storage/engine.rb in activestorage-6.1.7.10 vs lib/active_storage/engine.rb in activestorage-7.0.0.alpha1
- old
+ new
@@ -10,11 +10,14 @@
require "active_storage/previewer/poppler_pdf_previewer"
require "active_storage/previewer/mupdf_previewer"
require "active_storage/previewer/video_previewer"
require "active_storage/analyzer/image_analyzer"
+require "active_storage/analyzer/image_analyzer/image_magick"
+require "active_storage/analyzer/image_analyzer/vips"
require "active_storage/analyzer/video_analyzer"
+require "active_storage/analyzer/audio_analyzer"
require "active_storage/service/registry"
require "active_storage/reflection"
@@ -22,11 +25,11 @@
class Engine < Rails::Engine # :nodoc:
isolate_namespace ActiveStorage
config.active_storage = ActiveSupport::OrderedOptions.new
config.active_storage.previewers = [ ActiveStorage::Previewer::PopplerPDFPreviewer, ActiveStorage::Previewer::MuPDFPreviewer, ActiveStorage::Previewer::VideoPreviewer ]
- config.active_storage.analyzers = [ ActiveStorage::Analyzer::ImageAnalyzer, ActiveStorage::Analyzer::VideoAnalyzer ]
+ config.active_storage.analyzers = [ ActiveStorage::Analyzer::ImageAnalyzer::Vips, ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick, ActiveStorage::Analyzer::VideoAnalyzer, ActiveStorage::Analyzer::AudioAnalyzer ]
config.active_storage.paths = ActiveSupport::OrderedOptions.new
config.active_storage.queues = ActiveSupport::InheritableOptions.new
config.active_storage.variable_content_types = %w(
image/png
@@ -37,10 +40,13 @@
image/tiff
image/bmp
image/vnd.adobe.photoshop
image/vnd.microsoft.icon
image/webp
+ image/avif
+ image/heic
+ image/heif
)
config.active_storage.web_image_content_types = %w(
image/png
image/jpeg
@@ -84,29 +90,15 @@
ActiveStorage.paths = app.config.active_storage.paths || {}
ActiveStorage.routes_prefix = app.config.active_storage.routes_prefix || "/rails/active_storage"
ActiveStorage.draw_routes = app.config.active_storage.draw_routes != false
ActiveStorage.resolve_model_to_route = app.config.active_storage.resolve_model_to_route || :rails_storage_redirect
- ActiveStorage.supported_image_processing_methods += app.config.active_storage.supported_image_processing_methods || []
- ActiveStorage.unsupported_image_processing_arguments = app.config.active_storage.unsupported_image_processing_arguments || %w(
- -debug
- -display
- -distribute-cache
- -help
- -path
- -print
- -set
- -verbose
- -version
- -write
- -write-mask
- )
-
ActiveStorage.variable_content_types = app.config.active_storage.variable_content_types || []
ActiveStorage.web_image_content_types = app.config.active_storage.web_image_content_types || []
ActiveStorage.content_types_to_serve_as_binary = app.config.active_storage.content_types_to_serve_as_binary || []
ActiveStorage.service_urls_expire_in = app.config.active_storage.service_urls_expire_in || 5.minutes
+ ActiveStorage.urls_expire_in = app.config.active_storage.urls_expire_in
ActiveStorage.content_types_allowed_inline = app.config.active_storage.content_types_allowed_inline || []
ActiveStorage.binary_content_type = app.config.active_storage.binary_content_type || "application/octet-stream"
ActiveStorage.video_preview_arguments = app.config.active_storage.video_preview_arguments || "-y -vframes 1 -f image2"
ActiveStorage.replace_on_assign_to_many = app.config.active_storage.replace_on_assign_to_many || false
@@ -155,9 +147,29 @@
initializer "active_storage.reflection" do
ActiveSupport.on_load(:active_record) do
include Reflection::ActiveRecordExtensions
ActiveRecord::Reflection.singleton_class.prepend(Reflection::ReflectionExtension)
+ end
+ end
+
+ initializer "active_storage.asset" do
+ if Rails.application.config.respond_to?(:assets)
+ Rails.application.config.assets.precompile += %w( activestorage activestorage.esm )
+ end
+ end
+
+ initializer "active_storage.fixture_set" do
+ ActiveSupport.on_load(:active_record_fixture_set) do
+ ActiveStorage::FixtureSet.file_fixture_path ||= Rails.root.join(*[
+ ENV.fetch("FIXTURES_PATH") { File.join("test", "fixtures") },
+ ENV["FIXTURES_DIR"],
+ "files"
+ ].compact_blank)
+ end
+
+ ActiveSupport.on_load(:active_support_test_case) do
+ ActiveStorage::FixtureSet.file_fixture_path = ActiveSupport::TestCase.file_fixture_path
end
end
end
end