Spec-Zone.ru › Ruby on Rails 6.0

класс ActiveStorage::Service::MirrorService

Родитель:
ActiveStorage::Service

Оборачивает набор сервисов зеркал и предоставляет единый объект ActiveStorage::Service, в который будут загружаться все файлы. Сервис primary предназначен для обработки запросов к download, exists?, и url.

Атрибуты

mirrors[R]
primary[R]

Публичные методы класса

new(primary:, mirrors:) Показать исходный код
# File activestorage/lib/active_storage/service/mirror_service.rb, line 21
def initialize(primary:, mirrors:)
  @primary, @mirrors = primary, mirrors
end

Публичные методы экземпляра

delete(key) Показать исходный код
# File activestorage/lib/active_storage/service/mirror_service.rb, line 34
def delete(key)
  perform_across_services :delete, key
end

Удаляет файл по ключу key на всех сервисах.

delete_prefixed(prefix) Показать исходный код
# File activestorage/lib/active_storage/service/mirror_service.rb, line 39
def delete_prefixed(prefix)
  perform_across_services :delete_prefixed, prefix
end

Удаляет файлы с ключами, начинающимися с префикса prefix, на всех сервисах.

upload(key, io, checksum: nil, **options) Показать исходный код
# 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–2019 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API