Remove backport fro ActiveModel:Dirty

factory_bot 5 only supports Rails 4.2 and higher,
and #clear_changes_information has been around since then
(66d0a01535).

Fixes #941, since we will are no longer managing any instance variables.
This commit is contained in:
Daniel Colson 2018-09-10 23:27:05 -04:00
parent bc11d13c0f
commit b4e1303904
1 changed files with 4 additions and 13 deletions

View File

@ -31,7 +31,7 @@ module FactoryBot
def result(evaluation)
evaluation.object.tap do |instance|
stub_database_interaction_on_result(instance)
clear_changed_attributes_on_result(instance)
clear_changes_information(instance)
evaluation.notify(:after_stub, instance)
end
end
@ -87,19 +87,10 @@ module FactoryBot
end
end
def clear_changed_attributes_on_result(result_instance)
unless result_instance.respond_to?(:clear_changes_information)
result_instance.extend ActiveModelDirtyBackport
def clear_changes_information(result_instance)
if result_instance.respond_to?(:clear_changes_information)
result_instance.clear_changes_information
end
result_instance.clear_changes_information
end
end
module ActiveModelDirtyBackport
def clear_changes_information
@previously_changed = ActiveSupport::HashWithIndifferentAccess.new
@changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
end
end
end