class RIMS::DB::Mailbox
Public Instance Methods
add_msg(uid, msg_id)
click to toggle source
# File lib/rims/db.rb, line 736 def add_msg(uid, msg_id) put_msg_id(uid, msg_id) self end
each_msg_uid() { |to_i| ... }
click to toggle source
# File lib/rims/db.rb, line 741 def each_msg_uid return enum_for(:each_msg_uid) unless block_given? @kvs.each_key do |uid| yield(uid.to_i) end self end
expunge_msg(uid)
click to toggle source
# File lib/rims/db.rb, line 771 def expunge_msg(uid) case (msg_flag_deleted(uid)) when true # OK when false raise "not deleted flag at message uid: #{uid}" when nil raise "not found a message uid: #{uid}" else raise 'internal error.' end @kvs.delete(uid.to_s) or raise 'internal error.' self end
msg_exist?(uid)
click to toggle source
# File lib/rims/db.rb, line 749 def msg_exist?(uid) @kvs.key? uid.to_s end
msg_flag_deleted(uid)
click to toggle source
# File lib/rims/db.rb, line 759 def msg_flag_deleted(uid) if (s = @kvs[uid.to_s]) then s.split(',', 2)[1] == 'deleted' end end
msg_id(uid)
click to toggle source
# File lib/rims/db.rb, line 753 def msg_id(uid) if (s = @kvs[uid.to_s]) then s.split(',', 2)[0].to_i end end
set_msg_flag_deleted(uid, value)
click to toggle source
# File lib/rims/db.rb, line 765 def set_msg_flag_deleted(uid, value) msg_id = msg_id(uid) or raise "not found a message uid: #{uid}" put_msg_id(uid, msg_id, deleted: value) self end
Private Instance Methods
put_msg_id(uid, msg_id, deleted: false)
click to toggle source
# File lib/rims/db.rb, line 728 def put_msg_id(uid, msg_id, deleted: false) s = msg_id.to_s s << ',deleted' if deleted @kvs[uid.to_s] = s self end