Project

unidata

0.01
No commit activity in last 3 years
No release in over 3 years
A simple ORM for Rocket's UniData database
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

UniData ORM Build Status Coverage Status Code Climate

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.

Author

Jeremy Israelsen