diff --git a/app/models/concerns/contact/archivable.rb b/app/models/concerns/contact/archivable.rb index 185290339..842efa775 100644 --- a/app/models/concerns/contact/archivable.rb +++ b/app/models/concerns/contact/archivable.rb @@ -3,11 +3,6 @@ module Concerns module Archivable extend ActiveSupport::Concern - included do - class_attribute :inactivity_period, instance_predicate: false, instance_writer: false - self.inactivity_period = Setting.orphans_contacts_in_months.months - end - class_methods do def archivable unlinked.find_each.select(&:archivable?) @@ -33,6 +28,10 @@ module Concerns DomainVersion.was_contact_linked?(id) ? false : created_at <= inactivity_period.ago end + + def inactivity_period + Setting.orphans_contacts_in_months.months + end end end end diff --git a/test/models/contact/archivable_test.rb b/test/models/contact/archivable_test.rb index 9b2c75f0b..674feb505 100644 --- a/test/models/contact/archivable_test.rb +++ b/test/models/contact/archivable_test.rb @@ -14,7 +14,7 @@ class ArchivableContactTest < ActiveSupport::TestCase end def test_contact_is_archivable_when_it_was_never_linked_and_inactivity_period_has_passed - Contact.inactivity_period = 1.second + Setting.orphans_contacts_in_months = 0 @contact.created_at = Time.zone.parse('2010-07-05 00:00:00') travel_to Time.zone.parse('2010-07-05 00:00:01') @@ -24,7 +24,7 @@ class ArchivableContactTest < ActiveSupport::TestCase end def test_contact_is_not_archivable_when_it_was_never_linked_and_inactivity_period_has_not_passed - Contact.inactivity_period = 1.second + Setting.orphans_contacts_in_months = 5 @contact.created_at = Time.zone.parse('2010-07-05') travel_to Time.zone.parse('2010-07-05') @@ -62,7 +62,7 @@ class ArchivableContactTest < ActiveSupport::TestCase def archivable_contact contact = contacts(:john) - Contact.inactivity_period = 0.seconds + Setting.orphans_contacts_in_months = 0 DomainVersion.delete_all other_contact = contacts(:william) @@ -75,7 +75,7 @@ class ArchivableContactTest < ActiveSupport::TestCase end def unarchivable_contact - Contact.inactivity_period = 99.years + Setting.orphans_contacts_in_months = 1188 @contact end end diff --git a/test/tasks/contacts/archive_test.rb b/test/tasks/contacts/archive_test.rb index a22110ae3..7120d2449 100644 --- a/test/tasks/contacts/archive_test.rb +++ b/test/tasks/contacts/archive_test.rb @@ -22,7 +22,7 @@ class ArchiveContactsTaskTest < ActiveSupport::TestCase def archivable_contact contact = contacts(:john) - Contact.inactivity_period = 0.seconds + Setting.orphans_contacts_in_months = 0 DomainVersion.delete_all other_contact = contacts(:william)