Sha256: d028f0eb62c13d3349a05136762d68186f173c0a885b7a729dc035bb53b62da0

Contents?: true

Size: 681 Bytes

Versions: 21

Compression:

Stored size: 681 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

21 entries across 21 versions & 1 rubygems

Version Path
asset_cloud-2.7.1 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.7.0 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.6.1 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.6.0 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.5.3 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.5.2 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.5.1 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.5.0 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.4.0 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.3.1 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.3.0 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.9 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.8 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.7 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.6 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.5 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.4 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.2 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.1 lib/asset_cloud/buckets/memory_bucket.rb
asset_cloud-2.2.0 lib/asset_cloud/buckets/memory_bucket.rb