1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/atmos/models/storage/directory.rb

54 lines
1.3 KiB
Ruby
Raw Normal View History

require 'fog/core/model'
module Fog
module Storage
class Atmos
class Directory < Fog::Model
identity :key, :aliases => :Filename
attribute :objectid, :aliases => :ObjectID
def files
@files ||= begin
Fog::Storage::Atmos::Files.new(
:directory => self,
:service => service
)
end
end
def directories
@directories ||= begin
Fog::Storage::Atmos::Directories.new(
:directory => self,
:service => service
)
end
end
def save
self.key = attributes[:directory].key + key if attributes[:directory]
self.key = key + '/' unless key =~ /\/$/
res = service.post_namespace key
reload
end
def destroy(opts={})
if opts[:recursive]
files.each {|f| f.destroy }
directories.each do |d|
d.files.each {|f| f.destroy }
d.destroy(opts)
end
end
service.delete_namespace key
end
end
end
end
end