1
0
Fork 0
mirror of https://github.com/fog/fog-aws.git synced 2022-11-09 13:50:52 -05:00
fog--fog-aws/lib/fog/aws/models/storage/versions.rb

35 lines
828 B
Ruby
Raw Normal View History

require 'fog/core/collection'
require 'fog/aws/models/storage/version'
module Fog
module Storage
2015-01-02 12:34:40 -05:00
class AWS
class Versions < Fog::Collection
attribute :file
attribute :directory
model Fog::Storage::AWS::Version
def all(options = {})
data = if file
service.get_bucket_object_versions(file.directory.key, options.merge('prefix' => file.key)).body['Versions']
else
service.get_bucket_object_versions(directory.key, options).body['Versions']
end
load(data)
end
def new(attributes = {})
version_type = attributes.keys.first
model = super(attributes[version_type])
model.delete_marker = version_type == 'DeleteMarker'
model
end
end
end
end
end