A simple ORM for Rocket's UniData database.
Installation
Add this line to your application's Gemfile:
gem 'unidata'
And then execute:
$ bundle
Or install it yourself as:
$ gem install unidata
Usage
Connecting to Unidata:
Unidata.prepare_connection(
:user => "admin",
:password => "secret",
:host => "localhost",
:data_dir => "/usr/uv/db"
)
Unidata.open_connection do
# interact with Unidata here
end
Or, you can manually open and close the connection yourself.
Unidata.open_connection
# interact with Unidata here
Unidata.close_connection
Defining models:
class Product < Unidata::Model
self.filename = 'PRODUCT'
field 1, :name, String
field 2, :description # type is optional (defaults to String)
field 3, :cost, Float
field 4, :available_on, Date
end
Creating records:
thingamajig = Product.new(
:id => 12345,
:name =>'Thingamajig',
:cost => 125.99,
:available => Date.today
)
thingamajig.save
whatsit = Product.new
whatsit.id = 12346
whatsit.name = 'Whatsit'
whatsit.cost = 999.99
whatsit.available = Date.today
whatsit.save
Retrieving records:
product = Product.find(12345)
Or, you can just check if a record exists:
Product.exists?(12345)
Deleting records:
product = Product.find(12345)
product.destroy
Or, you can delete without retrieving first:
Product.delete(12345)
Contributing
Pull requests are welcome. Just make sure to include tests!
To run tests, install some dependencies:
bundle install
Then, run tests with:
rake spec
Or, If you want to check coverage:
COVERAGE=on rake spec
Issues
Please use GitHub's issue tracker.