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/internet_archive/models/storage/versions.rb

39 lines
869 B
Ruby
Raw Normal View History

2013-01-31 14:40:38 -05:00
require 'fog/core/collection'
require 'fog/internet_archive/models/storage/version'
module Fog
module Storage
class InternetArchive
class Versions < Fog::Collection
attribute :file
attribute :directory
model Fog::Storage::InternetArchive::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