class RIMS::DB::Core
Public Class Methods
new(kvs)
click to toggle source
# File lib/rims/db.rb, line 8 def initialize(kvs) @kvs = kvs end
Public Instance Methods
close()
click to toggle source
# File lib/rims/db.rb, line 17 def close @kvs.close self end
destroy()
click to toggle source
# File lib/rims/db.rb, line 22 def destroy @kvs.destroy nil end
sync()
click to toggle source
# File lib/rims/db.rb, line 12 def sync @kvs.sync self end
test_read_all() { |read_error| ... }
click to toggle source
# File lib/rims/db.rb, line 27 def test_read_all # :yields: read_error last_error = nil @kvs.each_key do |key| begin @kvs[key] rescue last_error = $! yield($!) end end if (last_error) then raise last_error end self end
Private Instance Methods
get_num(key, default_value: 0)
click to toggle source
# File lib/rims/db.rb, line 71 def get_num(key, default_value: 0) if (s = @kvs[key]) then s.to_i else default_value end end
get_num_set(key)
click to toggle source
# File lib/rims/db.rb, line 107 def get_num_set(key) if (s = @kvs[key]) then s.split(',', -1).map{|n| n.to_i }.to_set else [].to_set end end
get_obj(key, default_value: nil)
click to toggle source
# File lib/rims/db.rb, line 122 def get_obj(key, default_value: nil) if (s = @kvs[key]) then Marshal.load(s) else default_value end end
get_str(key, default_value: nil)
click to toggle source
# File lib/rims/db.rb, line 45 def get_str(key, default_value: nil) @kvs[key] || default_value end
get_str_set(key)
click to toggle source
# File lib/rims/db.rb, line 56 def get_str_set(key) if (s = @kvs[key]) then s.split(',', -1).to_set else [].to_set end end
num_decrement(key)
click to toggle source
# File lib/rims/db.rb, line 100 def num_decrement(key) n = get_num(key) put_num(key, n - 1) self end
num_increment(key)
click to toggle source
# File lib/rims/db.rb, line 93 def num_increment(key) n = get_num(key) put_num(key, n + 1) self end
num_succ!(key, default_value: 0)
click to toggle source
# File lib/rims/db.rb, line 86 def num_succ!(key, default_value: 0) n = get_num(key, default_value: default_value) put_num(key, n + 1) n end
put_num(key, num)
click to toggle source
# File lib/rims/db.rb, line 80 def put_num(key, num) @kvs[key] = num.to_s self end
put_num_set(key, num_set)
click to toggle source
# File lib/rims/db.rb, line 116 def put_num_set(key, num_set) @kvs[key] = num_set.to_a.join(',') self end
put_obj(key, value)
click to toggle source
# File lib/rims/db.rb, line 131 def put_obj(key, value) @kvs[key] = Marshal.dump(value) self end
put_str(key, str)
click to toggle source
# File lib/rims/db.rb, line 50 def put_str(key, str) @kvs[key] = str self end
put_str_set(key, str_set)
click to toggle source
# File lib/rims/db.rb, line 65 def put_str_set(key, str_set) @kvs[key] = str_set.to_a.join(',') self end