Sha256: d7dcb6b5019a4cb2209aea57db6de7087fe57193befb8a07976f166be0435775
Contents?: true
Size: 1.27 KB
Versions: 15
Compression:
Stored size: 1.27 KB
Contents
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
Version data entries
15 entries across 15 versions & 4 rubygems