- require "active_storage/service/s3_service"
- require_dependency "active_storage/variant"
-
- module OpenStreetMap
- module ActiveStorage
- module Variant
- private
-
- def upload(image)
- File.open(image.path, "r") { |file| service.upload(key, file, :content_type => content_type) }
- end
- end
-
- module S3Service
- def upload(key, io, content_type:, **options)
- @upload_options[:content_type] = content_type
- super(key, io, **options)
- @upload_options.delete(:content_type)
- end
- end
- end
- end
-
- ActiveStorage::Variant.prepend(OpenStreetMap::ActiveStorage::Variant)
- ActiveStorage::Service::S3Service.prepend(OpenStreetMap::ActiveStorage::S3Service)
-
- ActiveSupport::Reloader.to_complete do
- ActiveStorage::Variant.prepend(OpenStreetMap::ActiveStorage::Variant)
- end
-
- ActiveStorage::Service.url_expires_in = 1.week