![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
= Tenacity
A database client independent way of managing relationships between models backed by different databases.
It is sometimes necessary, or advantageous, to use more than one database in a given application (polyglot persistence). However, most database clients do not support inter-database relationships. So, writing code that manages relationships between objects backed by different databases hasn’t been nearly as easy as writing code to manage relationships between objects in the same database.
Tenacity aims to address this by providing a database client independent way of managing relationships between models backed by different databases.
Tenacity is heavily based on ActiveRecord's associations, and aims to behave in much the same way, supporting many of the same options.
== Example
class Car include MongoMapper::Document include Tenacity
t_has_many :wheels
t_has_one :dashboard
end
class Wheel < ActiveRecord::Base include Tenacity
t_belongs_to :car
end
class Dashboard < CouchRest::Model::Base include Tenacity use_database MY_COUCHDB_DATABASE
t_belongs_to :car
end
car = Car.create
dashboard = Dashboard.create({}) car.dashboard = dashboard car.save
car.dashboard
car.dashboard.car_id
wheel_1 = Wheel.create wheel_2 = Wheel.create wheel_3 = Wheel.create wheels = [wheel_1, wheel_2, wheel_3] car.wheels = wheels car.save
wheel_1.car_id # car.id
car.wheels # [wheel_1, wheel_2, wheel_3]
car.wheel_ids # [wheel_1.id, wheel_2.id, wheel_3.id]
new_wheel = Wheel.create car.wheels << new_wheel car.save car.wheels # [wheel_1, wheel_2, wheel_3, new_wheel]
== Additional Usage Details
== Supported Database Clients
See EXTEND.rdoc for information on extending Tenacity to work with other database clients.
== Documentation
== Contributing to Tenacity
== Development
Ruby 1.9.3 is required.
SQLite, MongoDB, Riak, and CouchDB must be installed, configured, and running.
Install the dependencies
bundle install
Run the tests
rake test
Code away!
== Copyright
Copyright (c) 2012 John Wood. See LICENSE.txt for further details.
FAQs
Unknown package
We found that tenacity demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.