Sha256: fef7ce2452a65a8f2baa91adc88ec4fac319984cac9cc98c14ec337d5256ffaf

Contents?: true

Size: 1.07 KB

Versions: 16

Compression:

Stored size: 1.07 KB

Contents

module Fog
  module Storage
    class GoogleXML
      class Directories < Fog::Collection
        model Fog::Storage::GoogleXML::Directory

        def all
          data = service.get_service.body["Buckets"]
          load(data)
        end

        def get(key, options = {})
          remap_attributes(options,             :delimiter  => "delimiter",
                                                :marker     => "marker",
                                                :max_keys   => "max-keys",
                                                :prefix     => "prefix")
          data = service.get_bucket(key, options).body
          directory = new(:key => data["Name"])
          options = {}
          for k, v in data
            if %w(CommonPrefixes Delimiter IsTruncated Marker MaxKeys Prefix).include?(k)
              options[k] = v
            end
          end
          directory.files.merge_attributes(options)
          directory.files.load(data["Contents"])
          directory
        rescue Excon::Errors::NotFound
          nil
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
fog-google-1.0.1 lib/fog/storage/google_xml/models/directories.rb
fog-google-1.0.0 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.6.0 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.5 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.4 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.3 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.2 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.1 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.5.0 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.4.2 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.4.1 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.4.0 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.3.2 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.3.1 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.3.0 lib/fog/storage/google_xml/models/directories.rb
fog-google-0.2.0 lib/fog/storage/google_xml/models/directories.rb