diff --git a/lib/paper_trail/reifier.rb b/lib/paper_trail/reifier.rb index 5d5da63b7..d11d965d6 100644 --- a/lib/paper_trail/reifier.rb +++ b/lib/paper_trail/reifier.rb @@ -75,19 +75,7 @@ def reify(version, options) model.send "#{model.class.version_association_name}=", version - unless options[:has_one] == false - reify_has_ones version.transaction_id, model, options - end - - unless options[:belongs_to] == false - reify_belongs_tos version.transaction_id, model, options - end - - unless options[:has_many] == false - reify_has_manys version.transaction_id, model, options - end - - model + reify_assoications version, model, options end private @@ -131,6 +119,16 @@ def prepare_array_for_has_many(array, options, versions) nil end + def reify_assoications version, model, options + reify_has_ones version.transaction_id, model, options if options[:has_one] + + reify_belongs_tos version.transaction_id, model, options if options[:belongs_to] + + reify_has_manys version.transaction_id, model, options if options[:has_many] + + model + end + # Restore the `model`'s has_one associations as they were when this # version was superseded by the next (because that's what the user was # looking at when they made the change).