class CarrierWave::Storage::Cascade
Attributes
primary_storage[R]
secondary_storage[R]
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/carrierwave/storage/cascade.rb, line 6 def initialize(*args) super(*args) @primary_storage = get_storage(uploader.class.primary_storage).new(*args) @secondary_storage = get_storage(uploader.class.secondary_storage).new(*args) end
Public Instance Methods
retrieve!(*args)
click to toggle source
# File lib/carrierwave/storage/cascade.rb, line 17 def retrieve!(*args) primary_file = primary_storage.retrieve!(*args) if !primary_file.exists? secondary_file = secondary_storage.retrieve!(*args) return SecondaryFileProxy.new(uploader, secondary_file) else return primary_file end end
store!(*args)
click to toggle source
# File lib/carrierwave/storage/cascade.rb, line 13 def store!(*args) primary_storage.store!(*args) end
Private Instance Methods
get_storage(storage = nil)
click to toggle source
# File lib/carrierwave/storage/cascade.rb, line 30 def get_storage(storage = nil) storage.is_a?(Symbol) ? eval(uploader.storage_engines[storage]) : storage end