module Shrine::Plugins::Mirroring::FileMethods
Public Instance Methods
Source
# File lib/shrine/plugins/mirroring.rb 98 def delete(mirror: true) 99 result = super() 100 trigger_mirror_delete if mirror 101 result 102 end
Mirrors delete to other mirror storages.
Calls superclass method
Source
# File lib/shrine/plugins/mirroring.rb 124 def mirror_delete 125 each_mirror do |mirror| 126 self.class.new(id: id, storage: mirror).delete 127 end 128 end
Deletes the file from each mirror storage.
Source
# File lib/shrine/plugins/mirroring.rb 117 def mirror_delete_background 118 fail Error, "mirror delete block is not registered" unless shrine_class.mirror_delete_block 119 120 shrine_class.mirror_delete_block.call(self) 121 end
Calls mirror delete block.
Source
# File lib/shrine/plugins/mirroring.rb 82 def mirror_upload(**) 83 previously_opened = opened? 84 85 each_mirror do |mirror| 86 rewind if opened? 87 88 shrine_class.upload(self, mirror, **, location: id, close: false, action: :mirror) 89 end 90 ensure 91 if opened? && !previously_opened 92 close 93 @io = nil 94 end 95 end
Uploads the file to each mirror storage.
# File lib/shrine/plugins/mirroring.rb 75 def mirror_upload_background(**) 76 fail Error, "mirror upload block is not registered" unless shrine_class.mirror_upload_block 77 78 shrine_class.mirror_upload_block.call(self, **) 79 end
Calls mirror upload block.
Source
# File lib/shrine/plugins/mirroring.rb 106 def trigger_mirror_delete 107 return unless shrine_class.mirrors[storage_key] && shrine_class.mirror_delete? 108 109 if shrine_class.mirror_delete_block 110 mirror_delete_background 111 else 112 mirror_delete 113 end 114 end
Mirrors delete if mirrors are defined. Calls mirror block if registered, otherwise mirrors synchronously.
Source
# File lib/shrine/plugins/mirroring.rb 64 def trigger_mirror_upload(**) 65 return unless shrine_class.mirrors[storage_key] && shrine_class.mirror_upload? 66 67 if shrine_class.mirror_upload_block 68 mirror_upload_background(**) 69 else 70 mirror_upload(**) 71 end 72 end
Mirrors upload if mirrors are defined. Calls mirror block if registered, otherwise mirrors synchronously.