Skip to content
MongoMapper / ActiveRecord plugin for building associations between the two
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
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.
You can’t perform that action at this time.