Sha256: bd0df69602ce534f16a3337f5ac275c9b65efadc65e48e9f3b91799f57a49d03
Contents?: true
Size: 1.34 KB
Versions: 8
Compression:
Stored size: 1.34 KB
Contents
module Fog module AWS class S3 def directories Fog::AWS::S3::Directories.new(:connection => self) end class Directories < Fog::Collection model Fog::AWS::S3::Directory def all if @loaded clear end @loaded = true data = connection.get_service.body data['Buckets'].each do |directory| self << new(directory) end self end def get(name, options = {}) remap_attributes(options, { :delimiter => 'delimiter', :marker => 'marker', :max_keys => 'max-keys', :prefix => 'prefix' }) data = connection.get_bucket(name, options).body directory = new(:name => data['Name']) options = {} for key, value in data if ['Delimiter', 'IsTruncated', 'Marker', 'MaxKeys', 'Prefix'].include?(key) options[key] = value end end directory.files.merge_attributes(options) directory.files.instance_variable_set(:@loaded, true) data['Contents'].each do |file| directory.files << directory.files.new(file) end directory rescue Excon::Errors::NotFound nil end end end end end
Version data entries
8 entries across 8 versions & 1 rubygems