update.
[chise/ruby.git] / chise / chisedb.rb
index 11e9714..a858e8e 100755 (executable)
@@ -97,6 +97,9 @@ module CHISE
       @ds = @cd.ds
       @feature = @ds.get_feature(@name.path.escape.escape_win_filename.to_s)
       @category, @keyvalue = "character", "feature"
+      at_exit {
+       close
+      }
     end
     def setup_db(w) @feature.setup_db(w); end
     def sync() @feature.sync(); end
@@ -127,6 +130,9 @@ module CHISE
       @ccs = @ds.get_ccs(@name)
       @dsr = @ccsr = nil
       @category, @keyvalue = "character", "by_feature"
+      at_exit {
+       close
+      }
     end
     def setup_db(w) @ccs.setup_db(w); end
     def sync() @ccs.sync(); end
@@ -150,14 +156,19 @@ module CHISE
   end
 
   class ByIDS_DB
+    include ParseValueModule
     include ChiseValue
     include TableAccessModule
+    include TableManagementModule
 
     def initialize(cd, name)
       @cd, @name = cd, name
       @ds = @cd.ds
       @category, @keyvalue = "character", "by_ids"
       reset
+      at_exit {
+       close
+      }
     end
 
     def decode(ids)
@@ -172,7 +183,7 @@ module CHISE
       @db.put(ids, format_char_id(cid))
     end
 
-    def each
+    def each_char
       setup_db
       raise "@db is nil." if @db.nil?
       @db.each {|k, v|