Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smashingboxes/activerecord-diff
Simple ActiveRecord diff functionality
https://github.com/smashingboxes/activerecord-diff
Last synced: 7 days ago
JSON representation
Simple ActiveRecord diff functionality
- Host: GitHub
- URL: https://github.com/smashingboxes/activerecord-diff
- Owner: smashingboxes
- Created: 2011-05-03T20:30:10.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2011-05-04T01:02:19.000Z (over 13 years ago)
- Last Synced: 2024-04-09T22:08:24.026Z (7 months ago)
- Language: Ruby
- Homepage:
- Size: 434 KB
- Stars: 1
- Watchers: 5
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
Awesome Lists containing this project
README
Simple ActiveRecord diff functionality.
Example usage:
require 'active_record/diff'
class User < ActiveRecord::Base
include ActiveRecord::Diff
endalice = User.create(:name => 'alice', :email_address => '[email protected]')
bob = User.create(:name => 'bob', :email_address => '[email protected]')
alice.diff?(bob) # => true
alice.diff(bob) # => {:name => ['alice', 'bob'], :email_address => ['[email protected]', '[email protected]']}
alice.diff({:name => 'eve'}) # => {:name => ['alice', 'eve']}
Multiple objects can also be compared. Example:eve = User.create(:name => 'eve', :email_address => '[email protected]')
alice.diff?([bob, eve]) # => true
alice.diff([bob, eve]) # => { :name => ['alice', 'bob', 'eve'], :email_address => ['[email protected]', '[email protected]'] }By default, ActiveRecord::Base.content_columns is used to decide which attributes
to compare. You can include or exclude attributes from this as follows:class User < ActiveRecord::Base
diff :include => [:id], :exclude => [:password_hash]
endAlternatively, you can specify exactly which columns to compare:
class User < ActiveRecord::Base
diff :id, :name, :email_address
endThis is an updated version of the "riff" rails plugin.
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/Contributions
- Zachary Porter ( zporter )