I would like to announce version 2.2 of KirbyBase, a simple, pure-Ruby database management system that stores it's data in plain-text files.
You can download the new version here:
Windows: http://www.netpromi.com/files/KirbyBase_Ruby_2.2.zip
Linux/Unix: http://www.netpromi.com/files/KirbyBase_Ruby_2.2.tar.gz
You can find out more about Kirbybase at:
http://www.netpromi.com/kirbybase_ruby.html
I would like to thank Hugh Sasse for his bug fixes and code enhancements and I would like to thank Emiel van de Larr for his bug fixes.
List of changes:
* By far the biggest change in this version is that I have completely
redesigned the internal structure of the database code. Because the
KirbyBase and KBTable classes were too tightly coupled, I have created
a KBEngine class and moved all low-level I/O logic and locking logic
to this class. This allowed me to restructure the KirbyBase class to
remove all of the methods that should have been private, but couldn't be
because of the coupling to KBTable. In addition, it has allowed me to
take all of the low-level code that should not have been in the KBTable
class and put it where it belongs, as part of the underlying engine. I
feel that the design of KirbyBase is much cleaner now. No changes were
made to the class interfaces, so you should not have to change any of
your code.
* Changed str_to_date and str_to_datetime to use Date#parse method.
* Changed #pack method so that it no longer reads the whole file into
memory while packing it.
* Changed code so that special character sequences like &linefeed; can be
part of input data and KirbyBase will not interpret it as special
characters.
Enjoy!
Jamey Cribbs
jcribbs@twmi.rr.com