lib/lockbox/railtie.rb in lockbox-0.4.1 vs lib/lockbox/railtie.rb in lockbox-0.4.2
- old
+ new
@@ -3,21 +3,30 @@
initializer "lockbox" do |app|
require "lockbox/carrier_wave_extensions" if defined?(CarrierWave)
if defined?(ActiveStorage)
require "lockbox/active_storage_extensions"
+
ActiveStorage::Attached.prepend(Lockbox::ActiveStorageExtensions::Attached)
if ActiveStorage::VERSION::MAJOR >= 6
ActiveStorage::Attached::Changes::CreateOne.prepend(Lockbox::ActiveStorageExtensions::CreateOne)
end
ActiveStorage::Attached::One.prepend(Lockbox::ActiveStorageExtensions::AttachedOne)
ActiveStorage::Attached::Many.prepend(Lockbox::ActiveStorageExtensions::AttachedMany)
- end
- app.config.to_prepare do
- if defined?(ActiveStorage)
- ActiveStorage::Attachment.include(Lockbox::ActiveStorageExtensions::Attachment)
- ActiveStorage::Blob.prepend(Lockbox::ActiveStorageExtensions::Blob)
+ # use load hooks when possible
+ if ActiveStorage::VERSION::MAJOR >= 6
+ ActiveSupport.on_load(:active_storage_attachment) do
+ include Lockbox::ActiveStorageExtensions::Attachment
+ end
+ ActiveSupport.on_load(:active_storage_blob) do
+ prepend Lockbox::ActiveStorageExtensions::Blob
+ end
+ else
+ app.config.to_prepare do
+ ActiveStorage::Attachment.include(Lockbox::ActiveStorageExtensions::Attachment)
+ ActiveStorage::Blob.prepend(Lockbox::ActiveStorageExtensions::Blob)
+ end
end
end
end
end
end