class Anemone::Storage::PStore
Public Class Methods
new(file)
click to toggle source
# File lib/anemone/storage/pstore.rb, line 11 def initialize(file) File.delete(file) if File.exists?(file) @store = ::PStore.new(file) @keys = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/anemone/storage/pstore.rb, line 17 def [](key) @store.transaction { |s| s[key] } end
[]=(key,value)
click to toggle source
# File lib/anemone/storage/pstore.rb, line 21 def []=(key,value) @keys[key] = nil @store.transaction { |s| s[key] = value } end
close()
click to toggle source
# File lib/anemone/storage/pstore.rb, line 46 def close; end
delete(key)
click to toggle source
# File lib/anemone/storage/pstore.rb, line 26 def delete(key) @keys.delete(key) @store.transaction { |s| s.delete key} end
each() { |key, value| ... }
click to toggle source
# File lib/anemone/storage/pstore.rb, line 31 def each @keys.each_key do |key| value = nil @store.transaction { |s| value = s[key] } yield key, value end end
merge!(hash)
click to toggle source
# File lib/anemone/storage/pstore.rb, line 39 def merge!(hash) @store.transaction do |s| hash.each { |key, value| s[key] = value; @keys[key] = nil } end self end