ActiveModel::Dirty
Active Model Dirty Provides a way to track changes in your object in the same way as Active Record does.