1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/aws/models/storage/versions.rb
2013-01-07 20:53:27 +00:00

38 lines
832 B
Ruby

require 'fog/core/collection'
require 'fog/aws/models/storage/version'
module Fog
module Storage
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