ActiveMerge

Gem Version Build Status Dependency Status Coverage Status

Declares the ActiveMerge module for extending ActiveRecord models.

The module contains the merge_all class method for merging class instances into the first one.

When merging a list of instances:

  • all “has_many” relatives are reattached to the instance with the lowest id

  • all the instances except for the first one (with the lowest id) are deleted

Example

class Post < ActiveRecord
  extend ActiveMerge
  has_many :comments 
end

Post.all.merge_all
# This will merge all the posts into the first one.
# The other posts will be deleted after their comment are reattached
# to the first post.

License

This project rocks and uses MIT-LICENSE.