MongoMapper / ActiveRecord plugin for building associations between the two
Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
MIT-LICENSE
README
Rakefile
VERSION
bigamy.gemspec

README

= Bigamy
Enable seamless Ruby-ness between ActiveRecord objects & MongoMapper documents

class User < ActiveRecord::Base
  has_one_mm :doc
  has_many_mm :photos
end

class Doc
  include MongoMapper::Document

  belongs_to_ar :user
end

class Photo
  include MongoMapper::Document

  belongs_to_ar :user
end


Bigamy sets foreign keys upon assignment.  It doesn't keep track of dirty children.
It doesn't allow you to operate with new records.  So when you do:

@user.doc = @doc

- @user has to be saved already.
- @doc has to be saved already.
- @doc will have it's user_id attribute updated immediately.

When you do:

@user.photos = Photo.all

- every Photo document will have it's user_id attribute set immediately


== Options
The available class methods are:

For AR:
  belongs_to_mm
  has_one_mm
  has_many_mm

For MM:
  belongs_to_ar
  has_one_ar
  has_many_ar

All class methods take :foreign_key, :class, and :primary_key options as a hash


== Setup
Bigamy installs itself into MongoMapper and ActiveRecord automatically.

= License
Bigmay is released under the MIT license.

It's developed by Ryan Angilly and released with the permission of MyPunchbowl.com

= Support
Just email me at ryan@angilly.com with questions, bugs, or patches.