Class: AssetCloud::VersionedMemoryBucket

Inherits:
MemoryBucket show all
Defined in:
lib/asset_cloud/buckets/versioned_memory_bucket.rb

Instance Attribute Summary

Attributes inherited from Bucket

#cloud, #name

Instance Method Summary collapse

Methods inherited from MemoryBucket

#delete, #initialize, #ls, #stat

Methods inherited from Bucket

#delete, #initialize, #ls, #versioned?

Constructor Details

This class inherits a constructor from AssetCloud::MemoryBucket

Instance Method Details

#read(key) ⇒ Object



4
5
6
7
# File 'lib/asset_cloud/buckets/versioned_memory_bucket.rb', line 4

def read(key)
  raise AssetCloud::AssetNotFoundError, key unless @memory.has_key?(key)
  read_version(key, latest_version(key))
end

#read_version(key, version) ⇒ Object



15
16
17
# File 'lib/asset_cloud/buckets/versioned_memory_bucket.rb', line 15

def read_version(key, version)
  @memory[key][version - 1]
end

#versions(key) ⇒ Object



19
20
21
# File 'lib/asset_cloud/buckets/versioned_memory_bucket.rb', line 19

def versions(key)
  (1..latest_version(key)).to_a
end

#write(key, data) ⇒ Object



9
10
11
12
13
# File 'lib/asset_cloud/buckets/versioned_memory_bucket.rb', line 9

def write(key, data)
  @memory[key] ||= []
  @memory[key] << data
  true
end