класс ActiveStorage::Service::MirrorService
Оборачивает набор сервисов-зеркал и предоставляет единый объект ActiveStorage::Service, в который будут загружаться все файлы. Сервис primary предназначен для обработки запросов к download, exists?, и url.
Атрибуты
mirrors[R]
primary[R]
Публичные методы класса
# File activestorage/lib/active_storage/service/mirror_service.rb, line 21 def initialize(primary:, mirrors:) @primary, @mirrors = primary, mirrors end
Публичные методы экземпляра
# File activestorage/lib/active_storage/service/mirror_service.rb, line 34 def delete(key) perform_across_services :delete, key end
Удалить файл по ключу key на всех сервисах.
# File activestorage/lib/active_storage/service/mirror_service.rb, line 39 def delete_prefixed(prefix) perform_across_services :delete_prefixed, prefix end
Удалить файлы с ключами, начинающимися с префикса prefix, на всех сервисах.
# File activestorage/lib/active_storage/service/mirror_service.rb, line 27
def upload(key, io, checksum: nil, **options)
each_service.collect do |service|
service.upload key, io.tap(&:rewind), checksum: checksum, **options
end
end Загрузить io в сервисы, указанные в key. Если предоставлена контрольная сумма checksum, все сервисы будут проверять соответствие при завершении загрузки или же выбросят исключение ActiveStorage::IntegrityError.
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.