Sha256: aa3449e21776d40662a8b242faafb04c006bf893f4d2963354143fa0c9e1521c

Contents?: true

Size: 571 Bytes

Versions: 6

Compression:

Stored size: 571 Bytes

Contents

module AssetCloud
   
  class VersionedMemoryBucket < MemoryBucket
    
    def read(key)
      raise AssetCloud::AssetNotFoundError, key unless @memory.has_key?(key)
      read_version(key, latest_version(key))
    end

    def write(key, data)    
      @memory[key] ||= []
      @memory[key] << data
      true
    end
    
    def read_version(key, version)
      @memory[key][version - 1]
    end
    
    def versions(key)
      (1..latest_version(key)).to_a
    end
    
    private
    
    def latest_version(key)
      @memory[key].size
    end

  end
  
  
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
Shopify-asset_cloud-0.5.2 lib/asset_cloud/buckets/versioned_memory_bucket.rb
Shopify-asset_cloud-0.5.3 lib/asset_cloud/buckets/versioned_memory_bucket.rb
Shopify-asset_cloud-0.5.4 lib/asset_cloud/buckets/versioned_memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.2 lib/asset_cloud/buckets/versioned_memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.3 lib/asset_cloud/buckets/versioned_memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.4 lib/asset_cloud/buckets/versioned_memory_bucket.rb