Sha256: 91e7de14ec3d234c66646e311344220cc64b6a8af624fa42c972fceb9fdad110

Contents?: true

Size: 741 Bytes

Versions: 6

Compression:

Stored size: 741 Bytes

Contents

module AssetCloud
   
  class MemoryBucket < Bucket
    
    def initialize(*args)
      super
      @memory = {}
    end
    
    def ls(prefix=nil)
      results = []
      @memory.each do |k,v|
        results.push(cloud[k]) if prefix.nil? || k.starts_with?(prefix)
      end
      results
    end

    def read(key)  
      raise AssetCloud::AssetNotFoundError, key unless @memory.has_key?(key)
      @memory[key]
    end          
    
    def delete(key)
      @memory.delete(key)
    end          

    def write(key, data)    
      @memory[key] = data

      true
    end

    def stat(key)
      return Metadata.non_existing unless @memory.has_key?(key)
          
      Metadata.new(true, read(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/memory_bucket.rb
Shopify-asset_cloud-0.5.3 lib/asset_cloud/buckets/memory_bucket.rb
Shopify-asset_cloud-0.5.4 lib/asset_cloud/buckets/memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.2 lib/asset_cloud/buckets/memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.3 lib/asset_cloud/buckets/memory_bucket.rb
jamesmacaulay-asset_cloud-0.5.4 lib/asset_cloud/buckets/memory_bucket.rb