class SparaDisk

Public Class Methods

new(name) click to toggle source
# File lib/spara/spara_disk.rb, line 4
def initialize(name)
  @store = PStore.new(name)
end

Public Instance Methods

all() click to toggle source
# File lib/spara/spara_disk.rb, line 34
def all
  @store.transaction(true) do
    # @store.instance_variable_get(:@table)
    @store.roots.inject({}) do |db, key|
      db[key] = @store[key]
      db
    end
  end
end
clean!() click to toggle source
# File lib/spara/spara_disk.rb, line 44
def clean!
  @store.transaction do
    @store.roots.each { |key| @store.delete(key) }
  end
end
del(key) click to toggle source
# File lib/spara/spara_disk.rb, line 16
def del(key)
  @store.transaction { @store.delete(key) }
end
get(key) click to toggle source
# File lib/spara/spara_disk.rb, line 12
def get(key)
  @store.transaction(true) { @store.fetch(key, nil) }
end
keys() click to toggle source
# File lib/spara/spara_disk.rb, line 20
def keys
  @store.transaction(true) { @store.roots }
end
set(key, value) click to toggle source
# File lib/spara/spara_disk.rb, line 8
def set(key, value)
  @store.transaction { @store[key] = value }
end
vals() click to toggle source
# File lib/spara/spara_disk.rb, line 24
def vals
  @store.transaction(true) do
    # @store.instance_variable_get(:@table).values
    @store.roots.inject([]) do |values, key|
      values.push(@store[key])
      values
    end
  end
end