class DeepStore::Repository

Attributes

adapter[RW]
bucket[R]
codec[R]
dao[R]
resource_class[R]

Public Class Methods

new(data = {}) click to toggle source
# File lib/deep_store/repository.rb, line 10
def initialize(data = {})
  @data           = data
  @adapter        = data.fetch(:adapter, DeepStore.adapter)
  @bucket         = data.fetch(:bucket, DeepStore.settings.bucket)
  @codec          = data.fetch(:codec)
  @resource_class = data.fetch(:resource_class)
  @dao            = DAO.new(adapter: @adapter, bucket: @bucket, codec: @codec)
end

Public Instance Methods

destroy(key) click to toggle source
# File lib/deep_store/repository.rb, line 31
def destroy(key)
  Operations::DestroyOperation.new(dao, resource_class, key: key).result
end
find(key) click to toggle source
# File lib/deep_store/repository.rb, line 19
def find(key)
  Operations::FindQuery.new(dao, resource_class, key: key).result
end
save(resource) click to toggle source
# File lib/deep_store/repository.rb, line 27
def save(resource)
  Operations::SaveOperation.new(dao, resource_class, resource: resource).result
end
where(query = {}) click to toggle source
# File lib/deep_store/repository.rb, line 23
def where(query = {})
  Operations::WhereQuery.new(dao, resource_class, query: query).result
end