Sha256: 988079411977b4df43b3f05c18afbbcdafabd264185fe9a46749e9253982e6a9

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

= ActiveMerge
{<img src="https://badge.fury.io/rb/active_merge.png" alt="Gem Version" />}[http://badge.fury.io/rb/active_merge]
{<img src="https://travis-ci.org/nepalez/active_merge.svg" alt="Build Status" />}[https://travis-ci.org/nepalez/active_merge]
{<img src="https://codeclimate.com/github/nepalez/active_merge.png" />}[https://codeclimate.com/github/nepalez/active_merge]
{<img src="https://gemnasium.com/nepalez/active_merge.svg" alt="Dependency Status" />}[https://gemnasium.com/nepalez/active_merge]
{<img src="https://coveralls.io/repos/nepalez/active_merge/badge.png" alt="Coverage Status" />}[https://coveralls.io/r/nepalez/active_merge]

Declares the <tt>ActiveMerge</tt> module for extending ActiveRecord models.

The module contains the <tt>merge_all</tt> 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[link:LICENSE].

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_merge-1.0.5 README.rdoc