Skip to content

Repository files navigation

activerecord-diff

Simple ActiveRecord diff functionality.

Installation

$ gem install activerecord-diff

Example usage

require'active_record/diff'classUser < ActiveRecord::BaseincludeActiveRecord::Diffendalice=User.create(:name=>'alice',:email_address=>'alice@example.org')bob=User.create(:name=>'bob',:email_address=>'bob@example.org')alice.diff?(bob)# => truealice.diff(bob)# => {:name => ['alice', 'bob'], :email_address => ['alice@example.org', 'bob@example.org']}alice.diff({:name=>'eve'})# => {:name => ['alice', 'eve']}

Configuration

By default, ActiveRecord::Base.content_columns is used to decide which attributes to compare. You can include or exclude attributes from this as follows:

classUser < ActiveRecord::Basediff:include=>[:id],:exclude=>[:password_hash]end

Alternatively, you can specify exactly which columns to compare:

classUser < ActiveRecord::Basediff:id,:name,:email_addressend

Copyright

To the extent possible under law, Tim Fletcher has waived all copyright and related or neighboring rights to activerecord-diff. This work is published from the United Kingdom. http://creativecommons.org/publicdomain/zero/1.0/

About

Simple ActiveRecord diff functionality

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages