ActiveModel::Dirty

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