Visit also
Vapor's project page at
.
A minor bugfix release, correcting documentation erros of new features in 0.80 and correct Persistable behaviour if no PersistenceManager exists.
Adds support for Versioning of persistent objects and Logging of transactions with custom commit messages and list of objects modified. Vaporadmin improvements: removal and updating of class definitions. New query operator for wild card searches. Tons of bug fixes, especially regarding attribute naming.
Vapor
Vapor is a persistent Object-Repository for Ruby, providing transparent persistence of interrelated Ruby application objects to a PostgreSQL database. It's goal is to provide developers with an easy-to-use framework for persistence, that is consistent with OO design and does not interfere with the code of classes that are to be persistently stored. Vapor does not require any knowledge about relational databases to be used, so that developers can concentrate on the task of writing their application logic.
Features
- Object-Oriented API
- transparent to persistable classes
- support for inheritance
- flexible queries for object retrieval
- Transactions (ACID) with rollback support and logging
- Versioning
- automatic generation of human-readable RDBMS schema
- metadata specification through separate XML markup
- concurrent access by multiple users
- uniqueness constrains
License
Vapor is copyrighted software by Oliver M. Bolzer. You can redistribute it with or without modifications under either the terms of the GPL or the conditions stated in the LICENSE file.
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
Development Plan
0.90
- make Versioning optional, specified for each class individually
- literals in search queries
- case insensitive searchs / regular expressions
- improve documentation by writing a proper user's guide
- tool to generate XML metadata template from Ruby code
- maybe: prefix all methods of Persistable with vapor_, keep current names as alias ?
- maybe: StrongReference, reference to a specific version of an object
1.00
- do some benchmarking and profiling, simple improvements
- maybe: use Ruby 1.8 features, drop support for Ruby 1.6
- documentation, examples, documentation, documentation and documentation
post 1.00
- backends for other databases like MySQL and Oracle, SQLite
- upport for long-transactions in form of versioning-branches