Sha256: a18d81dfaa340a9483cfedb5015d7429227005353f524378866214ddad6a4624

Contents?: true

Size: 584 Bytes

Versions: 24

Compression:

Stored size: 584 Bytes

Contents

module Dragonfly
  class MemoryDataStore

    def initialize
      @content_store = {}
    end

    def write(content, opts={})
      uid = opts[:uid] || generate_uid
      content_store[uid] = {:content => content.data, :meta => content.meta.dup}
      uid
    end

    def read(uid)
      data = content_store[uid]
      [data[:content], data[:meta]] if data
    end

    def destroy(uid)
      content_store.delete(uid)
    end

    private

    attr_reader :content_store

    def generate_uid
      @uid_count ||= 0
      @uid_count += 1
      @uid_count.to_s
    end

  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
dragonfly-1.4.1 lib/dragonfly/memory_data_store.rb
dragonfly-1.4.0 lib/dragonfly/memory_data_store.rb
dragonfly-1.3.0 lib/dragonfly/memory_data_store.rb
dragonfly-1.2.1 lib/dragonfly/memory_data_store.rb
dragonfly-1.2.0 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.5 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.4 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.3 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.2 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.1 lib/dragonfly/memory_data_store.rb
dragonfly-1.1.0 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.12 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.11 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.10 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.9 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.8 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.7 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.6 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.5 lib/dragonfly/memory_data_store.rb
dragonfly-1.0.4 lib/dragonfly/memory_data_store.rb