From 7b2767eb085010535bcf1a1965189f9c20b78aca Mon Sep 17 00:00:00 2001 From: Matt Farnsworth Date: Mon, 14 Dec 2015 11:28:26 +0200 Subject: [PATCH] Story #109367694 - refactor: move UserEvents include up, wrap method in included block, say self --- app/models/concerns/user_events.rb | 37 +++++++++++++++------------ app/models/contact.rb | 1 + app/models/domain.rb | 1 + app/models/version/contact_version.rb | 4 +-- app/models/version/domain_version.rb | 2 -- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/app/models/concerns/user_events.rb b/app/models/concerns/user_events.rb index 6cf8e9ac6..25a225e8b 100644 --- a/app/models/concerns/user_events.rb +++ b/app/models/concerns/user_events.rb @@ -1,25 +1,28 @@ module UserEvents extend ActiveSupport::Concern - # EPP requires a server defined creator ID, which should be registrar code if we have one - def cr_id - # try this, rebuild user for registrar before searching history? really? - registrar = self.creator.try(:registrar) - if registrar.present? # Did creator return a kind of User that has a registrar? - registrar.code - else - if versions.first.object.nil? - cr_registrar_id =versions.first.object_changes['registrar_id'].second + included do + # EPP requires a server defined creator ID, which should be registrar code if we have one + def cr_id + # try this, rebuild user for registrar before searching history? really? + registrar = self.creator.try(:registrar) + if registrar.present? # Did creator return a kind of User that has a registrar? + registrar.code else - # untested, expected never to execute - cr_registrar_id = versions.first.object['registrar_id'] - end + if self.versions.first.try(:object).nil? + changes = self.versions.first.try(:object_changes) + cr_registrar_id = changes['registrar_id'].second if changes.present? + else + # untested, expected never to execute + cr_registrar_id = self.versions.first.object['registrar_id'] + end - if cr_registrar_id.present? - Registrar.find(cr_registrar_id).code - else - # cr_id optional for domain, but required for contact; but we want something here anyway - self.creator_str # Fallback if we failed, maybe we can find a string here + if cr_registrar_id.present? + Registrar.find(cr_registrar_id).code + else + # cr_id optional for domain, but required for contact; but we want something here anyway + self.creator_str # Fallback if we failed, maybe we can find a string here + end end end end diff --git a/app/models/contact.rb b/app/models/contact.rb index 1d6f069e5..d17ec2354 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -1,6 +1,7 @@ class Contact < ActiveRecord::Base include Versions # version/contact_version.rb include EppErrors + include UserEvents belongs_to :registrar has_many :domain_contacts diff --git a/app/models/domain.rb b/app/models/domain.rb index 780ff3b7a..22595cd3a 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -1,5 +1,6 @@ # rubocop: disable Metrics/ClassLength class Domain < ActiveRecord::Base + include UserEvents include Versions # version/domain_version.rb include Statuses has_paper_trail class_name: "DomainVersion", meta: { children: :children_log } diff --git a/app/models/version/contact_version.rb b/app/models/version/contact_version.rb index 4b7e38364..781813302 100644 --- a/app/models/version/contact_version.rb +++ b/app/models/version/contact_version.rb @@ -2,8 +2,6 @@ class ContactVersion < PaperTrail::Version include VersionSession self.table_name = :log_contacts self.sequence_name = :log_contacts_id_seq - - include UserEvents - + # scope :deleted, -> { where(event: 'destroy') } end diff --git a/app/models/version/domain_version.rb b/app/models/version/domain_version.rb index 5bc25f1e1..2986d7811 100644 --- a/app/models/version/domain_version.rb +++ b/app/models/version/domain_version.rb @@ -4,7 +4,5 @@ class DomainVersion < PaperTrail::Version self.table_name = :log_domains self.sequence_name = :log_domains_id_seq - include UserEvents - scope :deleted, -> { where(event: 'destroy') } end