27 lines
656 B
Ruby
27 lines
656 B
Ruby
class Carto::StorageOptions::Local
|
|
include Carto::Configuration
|
|
|
|
def initialize(location)
|
|
@location = location
|
|
end
|
|
|
|
def upload(path, file)
|
|
filename = Pathname.new(file.path).basename
|
|
target_directory = File.join(public_uploaded_assets_path,
|
|
@location,
|
|
path)
|
|
|
|
FileUtils.mkdir_p(target_directory)
|
|
FileUtils.mv(file.path, target_directory)
|
|
|
|
identifier = File.join(target_directory, filename)
|
|
url = File.join('/uploads', @location, path, filename)
|
|
|
|
[identifier, url]
|
|
end
|
|
|
|
def remove(path)
|
|
File.delete(path) if path && File.exist?(path)
|
|
end
|
|
end
|