class CarrierWave::Storage::MeganzFile
Attributes
connection[R]
path[R]
uploader[R]
Public Class Methods
new(connection, uploader, path)
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 9 def initialize(connection, uploader, path) @connection = connection @uploader = uploader @path = path end
Public Instance Methods
delete()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 61 def delete; end
extension()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 30 def extension elements = path.split('.') elements.last if elements.size > 1 end
filename()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 35 def filename object.name end
find_or_initialize_location(location, parent_folder)
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 52 def find_or_initialize_location(location, parent_folder) return parent_folder if location.count.zero? child_folder = parent_folder.folders.find { |node| node.name == location.first } parent_folder = child_folder ? child_folder : parent_folder.create_folder(location.first) find_or_initialize_location(location - [location.first], parent_folder) end
object()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 39 def object file_location_dir = @path.split('/')[-2] if @path.split('/').count > 1 file_name = @path.split('/').last folder = if file_location_dir.present? @connection.nodes.find { |node| node.type == :folder && node.name == file_location_dir } else @connection.root end folder.files.find { |f| f.name == file_name } end
public_url()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 26 def public_url object.public_url end
store(file)
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 15 def store(file) location = uploader.store_path.split('/')[0..-2] folder = find_or_initialize_location(location, connection.root) folder.upload(file.to_file) end
url()
click to toggle source
# File lib/carrierwave/storage/meganz_file.rb, line 22 def url object.storage_url end