Sha256: 293f946625b91f5a53520b4f7386049d40716282b82bd85e129bc21814bb895b
Contents?: true
Size: 1.47 KB
Versions: 35
Compression:
Stored size: 1.47 KB
Contents
require 'fog/core/model' module Fog module Storage class Ninefold class Directory < Fog::Model identity :key, :aliases => :Filename attribute :objectid, :aliases => :ObjectID def files @files ||= begin Fog::Storage::Ninefold::Files.new( :directory => self, :connection => connection ) end end def directories @directories ||= begin Fog::Storage::Ninefold::Directories.new( :directory => self, :connection => connection ) end end def save self.key = attributes[:directory].key + key if attributes[:directory] self.key = key + '/' unless key =~ /\/$/ res = connection.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 connection.delete_namespace key end end end end end
Version data entries
35 entries across 35 versions & 9 rubygems