From 57da745739370e3bf3aef296e6bc81f50a285181 Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Fri, 5 Mar 2021 18:00:45 +0500 Subject: [PATCH] Fix namespaces for Zeitwerk class loader --- .codeclimate.yml | 3 + app/controllers/registrar/base_controller.rb | 2 +- .../registrar/domains_controller.rb | 2 +- .../registrar/sessions_controller.rb | 2 +- .../interceptors/punycode_interceptor.rb | 4 +- app/models/ability.rb | 4 +- app/models/action.rb | 2 +- app/models/authorization/restricted_ip.rb | 2 +- app/models/billing/price.rb | 2 +- .../concerns/billing/price/expirable.rb | 2 +- app/models/concerns/contact/archivable.rb | 100 +++++---- app/models/concerns/contact/disclosable.rb | 34 ++- app/models/concerns/contact/identical.rb | 2 +- app/models/concerns/domain/activatable.rb | 2 +- app/models/concerns/domain/bulk_updatable.rb | 22 +- app/models/concerns/domain/deletable.rb | 2 +- app/models/concerns/domain/discardable.rb | 2 +- app/models/concerns/domain/disputable.rb | 59 +++--- app/models/concerns/domain/expirable.rb | 2 +- app/models/concerns/domain/force_delete.rb | 2 +- .../concerns/domain/registry_lockable.rb | 116 +++++----- app/models/concerns/domain/releasable.rb | 90 ++++---- app/models/concerns/domain/transferable.rb | 2 +- app/models/concerns/email_verifable.rb | 146 +++++++------ app/models/concerns/invoice/book_keeping.rb | 52 +++-- app/models/concerns/invoice/cancellable.rb | 38 ++-- app/models/concerns/invoice/payable.rb | 38 ++-- app/models/concerns/registrar/book_keeping.rb | 198 +++++++++--------- app/models/concerns/registrar/legal_doc.rb | 20 +- app/models/concerns/versions.rb | 4 +- app/models/concerns/zone/whois_queryable.rb | 114 +++++----- app/models/contact.rb | 10 +- .../{concerns => }/contact/transferable.rb | 2 +- app/models/dns/zone.rb | 2 +- app/models/domain.rb | 20 +- app/models/invoice.rb | 8 +- app/models/registrar.rb | 8 +- app/models/type/vat_rate.rb | 2 +- .../version/account_activity_version.rb | 2 +- app/models/version/account_version.rb | 2 +- app/models/version/action_version.rb | 2 +- app/models/version/bank_statement_version.rb | 2 +- .../version/bank_transaction_version.rb | 2 +- app/models/version/billing/price_version.rb | 9 +- app/models/version/blocked_domain_version.rb | 2 +- app/models/version/certificate_version.rb | 2 +- app/models/version/contact_version.rb | 4 +- app/models/version/dnskey_version.rb | 2 +- app/models/version/domain_contact_version.rb | 2 +- app/models/version/domain_version.rb | 2 +- app/models/version/invoice_item_version.rb | 2 +- app/models/version/invoice_version.rb | 2 +- app/models/version/nameserver_version.rb | 2 +- app/models/version/notification_version.rb | 2 +- app/models/version/payment_order_version.rb | 2 +- .../registrant_verification_version.rb | 2 +- app/models/version/registrar_version.rb | 2 +- app/models/version/reserved_domain_version.rb | 2 +- app/models/version/setting_entry_version.rb | 2 +- app/models/version/setting_version.rb | 2 +- app/models/version/user_version.rb | 2 +- app/models/version/white_ip_version.rb | 2 +- .../registrar/domain_list_csv_presenter.rb | 2 +- config/application.rb | 11 +- test/models/concerns/versions_test.rb | 2 +- test/models/contact/archivable_test.rb | 14 +- test/models/registrant_verification_test.rb | 6 +- test/models/version/domain_version_test.rb | 24 +-- test/tasks/contacts/archive_test.rb | 2 +- test/test_helper.rb | 2 +- 70 files changed, 595 insertions(+), 647 deletions(-) rename app/models/{concerns => }/contact/transferable.rb (95%) diff --git a/.codeclimate.yml b/.codeclimate.yml index 31da9b9cbd..33801cc17f 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -31,6 +31,9 @@ plugins: rubocop: enabled: true channel: rubocop-0-74 + checks: + Rubocop/Style/ClassAndModuleChildren: + enabled: false checks: method-lines: config: diff --git a/app/controllers/registrar/base_controller.rb b/app/controllers/registrar/base_controller.rb index 54bed977bf..2aad861b84 100644 --- a/app/controllers/registrar/base_controller.rb +++ b/app/controllers/registrar/base_controller.rb @@ -17,7 +17,7 @@ def current_ability private def check_ip_restriction - ip_restriction = Authorization::RestrictedIP.new(request.ip) + ip_restriction = Authorization::RestrictedIp.new(request.ip) allowed = ip_restriction.can_access_registrar_area?(current_registrar_user.registrar) return if allowed diff --git a/app/controllers/registrar/domains_controller.rb b/app/controllers/registrar/domains_controller.rb index 1a46da463c..2e268af0bd 100644 --- a/app/controllers/registrar/domains_controller.rb +++ b/app/controllers/registrar/domains_controller.rb @@ -49,7 +49,7 @@ def index domain_presenters << ::DomainPresenter.new(domain: domain, view: view_context) end - raw_csv = Registrar::DomainListCSVPresenter.new(domains: domain_presenters, + raw_csv = Registrar::DomainListCsvPresenter.new(domains: domain_presenters, view: view_context).to_s filename = "Domains_#{l(Time.zone.now, format: :filename)}.csv" send_data raw_csv, filename: filename, type: "#{Mime[:csv]}; charset=utf-8" diff --git a/app/controllers/registrar/sessions_controller.rb b/app/controllers/registrar/sessions_controller.rb index e413c4feb2..ec7cda1486 100644 --- a/app/controllers/registrar/sessions_controller.rb +++ b/app/controllers/registrar/sessions_controller.rb @@ -72,7 +72,7 @@ def find_user_by_idc_and_allowed(idc) end def check_ip_restriction - ip_restriction = Authorization::RestrictedIP.new(request.ip) + ip_restriction = Authorization::RestrictedIp.new(request.ip) allowed = ip_restriction.can_access_registrar_area_sign_in_page? return if allowed diff --git a/app/mailers/interceptors/punycode_interceptor.rb b/app/mailers/interceptors/punycode_interceptor.rb index 0680a73716..3bd38ebee4 100644 --- a/app/mailers/interceptors/punycode_interceptor.rb +++ b/app/mailers/interceptors/punycode_interceptor.rb @@ -1,4 +1,4 @@ -class PunycodeInterceptor +class Interceptors::PunycodeInterceptor class << self def delivering_email(message) message.from = encode_addresses_as_punycode(message.from) @@ -21,4 +21,4 @@ def encode_domain_part_as_punycode(domain_part) SimpleIDN.to_ascii(domain_part) end end -end \ No newline at end of file +end diff --git a/app/models/ability.rb b/app/models/ability.rb index 0bee01f9cf..66a8793bcb 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -89,8 +89,8 @@ def admin # Admin/admin_user dynamic role can :manage, BlockedDomain can :manage, ReservedDomain can :manage, DNS::Zone - can :manage, DomainVersion - can :manage, ContactVersion + can :manage, Version::DomainVersion + can :manage, Version::ContactVersion can :manage, Billing::Price can :manage, User can :manage, ApiUser diff --git a/app/models/action.rb b/app/models/action.rb index 273dee8219..ac5ee7f722 100644 --- a/app/models/action.rb +++ b/app/models/action.rb @@ -1,5 +1,5 @@ class Action < ApplicationRecord - has_paper_trail versions: { class_name: 'ActionVersion' } + has_paper_trail versions: { class_name: 'Version::ActionVersion' } belongs_to :user belongs_to :contact diff --git a/app/models/authorization/restricted_ip.rb b/app/models/authorization/restricted_ip.rb index b3c7b7cdb5..41bb15f98b 100644 --- a/app/models/authorization/restricted_ip.rb +++ b/app/models/authorization/restricted_ip.rb @@ -1,5 +1,5 @@ module Authorization - class RestrictedIP + class RestrictedIp def initialize(ip) @ip = ip end diff --git a/app/models/billing/price.rb b/app/models/billing/price.rb index dac458b009..3b0c253d42 100644 --- a/app/models/billing/price.rb +++ b/app/models/billing/price.rb @@ -1,6 +1,6 @@ module Billing class Price < ApplicationRecord - include Concerns::Billing::Price::Expirable + include Billing::Price::Expirable include Versions belongs_to :zone, class_name: 'DNS::Zone', required: true diff --git a/app/models/concerns/billing/price/expirable.rb b/app/models/concerns/billing/price/expirable.rb index c0e05832a7..2387bf3207 100644 --- a/app/models/concerns/billing/price/expirable.rb +++ b/app/models/concerns/billing/price/expirable.rb @@ -1,4 +1,4 @@ -module Concerns::Billing::Price::Expirable +module Billing::Price::Expirable extend ActiveSupport::Concern class_methods do diff --git a/app/models/concerns/contact/archivable.rb b/app/models/concerns/contact/archivable.rb index 4526e04c57..ca2d19b1b6 100644 --- a/app/models/concerns/contact/archivable.rb +++ b/app/models/concerns/contact/archivable.rb @@ -1,68 +1,64 @@ -module Concerns - module Contact - module Archivable - extend ActiveSupport::Concern +module Contact::Archivable + extend ActiveSupport::Concern - class_methods do - def archivable - unlinked.find_each.select(&:archivable?) - end - end + class_methods do + def archivable + unlinked.find_each.select(&:archivable?) + end + end - def archivable?(post: false) - inactive = inactive? + def archivable?(post: false) + inactive = inactive? - log("Found archivable contact id(#{id}), code (#{code})") if inactive && !post + log("Found archivable contact id(#{id}), code (#{code})") if inactive && !post - inactive - end + inactive + end - def archive(verified: false, notify: true, extra_log: false) - unless verified - raise 'Contact cannot be archived' unless archivable?(post: true) - end + def archive(verified: false, notify: true, extra_log: false) + unless verified + raise 'Contact cannot be archived' unless archivable?(post: true) + end - notify_registrar_about_archivation if notify - write_to_registrar_log if extra_log - destroy! - end + notify_registrar_about_archivation if notify + write_to_registrar_log if extra_log + destroy! + end - private + private - def notify_registrar_about_archivation - registrar.notifications.create!( - text: I18n.t('contact_has_been_archived', - contact_code: code, orphan_months: Setting.orphans_contacts_in_months) - ) - end + def notify_registrar_about_archivation + registrar.notifications.create!( + text: I18n.t('contact_has_been_archived', + contact_code: code, orphan_months: Setting.orphans_contacts_in_months) + ) + end - def inactive? - if DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period) - return true - end + def inactive? + if Version::DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period) + return true + end - DomainVersion.was_contact_linked?(id) ? false : created_at <= inactivity_period.ago - end + Version::DomainVersion.was_contact_linked?(id) ? false : created_at <= inactivity_period.ago + end - def inactivity_period - Setting.orphans_contacts_in_months.months - end + def inactivity_period + Setting.orphans_contacts_in_months.months + end - def log(msg) - @log ||= Logger.new(STDOUT) - @log.info(msg) - end + def log(msg) + @log ||= Logger.new(STDOUT) + @log.info(msg) + end - def write_to_registrar_log - registrar_name = registrar.accounting_customer_code - archive_path = ENV['contact_archivation_log_file_dir'] - registrar_log_path = "#{archive_path}/#{registrar_name}.txt" - FileUtils.mkdir_p(archive_path) unless Dir.exist?(archive_path) + def write_to_registrar_log + registrar_name = registrar.accounting_customer_code + archive_path = ENV['contact_archivation_log_file_dir'] + registrar_log_path = "#{archive_path}/#{registrar_name}.txt" + FileUtils.mkdir_p(archive_path) unless Dir.exist?(archive_path) - f = File.new(registrar_log_path, 'a+') - f.write("#{code}\n") - f.close - end - end + f = File.new(registrar_log_path, 'a+') + f.write("#{code}\n") + f.close end end diff --git a/app/models/concerns/contact/disclosable.rb b/app/models/concerns/contact/disclosable.rb index 6c3b81849b..a61b240b13 100644 --- a/app/models/concerns/contact/disclosable.rb +++ b/app/models/concerns/contact/disclosable.rb @@ -1,26 +1,22 @@ -module Concerns - module Contact - module Disclosable - extend ActiveSupport::Concern +module Contact::Disclosable + extend ActiveSupport::Concern - class_methods do - attr_accessor :disclosable_attributes - end + class_methods do + attr_accessor :disclosable_attributes + end - included do - self.disclosable_attributes = %w[name email] - validate :validate_disclosed_attributes - end + included do + self.disclosable_attributes = %w[name email] + validate :validate_disclosed_attributes + end - private + private - def validate_disclosed_attributes - return if disclosed_attributes.empty? + def validate_disclosed_attributes + return if disclosed_attributes.empty? - has_undisclosable_attributes = (disclosed_attributes - self.class.disclosable_attributes) - .any? - errors.add(:disclosed_attributes, :invalid) if has_undisclosable_attributes - end - end + has_undisclosable_attributes = (disclosed_attributes - self.class.disclosable_attributes) + .any? + errors.add(:disclosed_attributes, :invalid) if has_undisclosable_attributes end end diff --git a/app/models/concerns/contact/identical.rb b/app/models/concerns/contact/identical.rb index 5327d17043..d9bcf10466 100644 --- a/app/models/concerns/contact/identical.rb +++ b/app/models/concerns/contact/identical.rb @@ -1,4 +1,4 @@ -module Concerns::Contact::Identical +module Contact::Identical extend ActiveSupport::Concern IDENTIFIABLE_ATTRIBUTES = %w[ diff --git a/app/models/concerns/domain/activatable.rb b/app/models/concerns/domain/activatable.rb index 58ff822d90..ae1bd6f7b7 100644 --- a/app/models/concerns/domain/activatable.rb +++ b/app/models/concerns/domain/activatable.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::Activatable +module Domain::Activatable extend ActiveSupport::Concern def active? diff --git a/app/models/concerns/domain/bulk_updatable.rb b/app/models/concerns/domain/bulk_updatable.rb index a0aadb95f1..6a462e1af0 100644 --- a/app/models/concerns/domain/bulk_updatable.rb +++ b/app/models/concerns/domain/bulk_updatable.rb @@ -1,17 +1,13 @@ -module Concerns - module Domain - module BulkUpdatable - extend ActiveSupport::Concern +module Domain::BulkUpdatable + extend ActiveSupport::Concern - def bulk_update_prohibited? - discarded? || statuses_blocks_update? - end + def bulk_update_prohibited? + discarded? || statuses_blocks_update? + end - def statuses_blocks_update? - prohibited_array = [DomainStatus::SERVER_UPDATE_PROHIBITED, - DomainStatus::CLIENT_UPDATE_PROHIBITED] - prohibited_array.any? { |block_status| statuses.include?(block_status) } - end - end + def statuses_blocks_update? + prohibited_array = [DomainStatus::SERVER_UPDATE_PROHIBITED, + DomainStatus::CLIENT_UPDATE_PROHIBITED] + prohibited_array.any? { |block_status| statuses.include?(block_status) } end end diff --git a/app/models/concerns/domain/deletable.rb b/app/models/concerns/domain/deletable.rb index 3c63cf96d0..50c418feb7 100644 --- a/app/models/concerns/domain/deletable.rb +++ b/app/models/concerns/domain/deletable.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::Deletable +module Domain::Deletable extend ActiveSupport::Concern DELETE_STATUSES = [ diff --git a/app/models/concerns/domain/discardable.rb b/app/models/concerns/domain/discardable.rb index 25547af0f5..abb105d80c 100644 --- a/app/models/concerns/domain/discardable.rb +++ b/app/models/concerns/domain/discardable.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::Discardable +module Domain::Discardable extend ActiveSupport::Concern def keep diff --git a/app/models/concerns/domain/disputable.rb b/app/models/concerns/domain/disputable.rb index a05d7cea66..708c2e3be7 100644 --- a/app/models/concerns/domain/disputable.rb +++ b/app/models/concerns/domain/disputable.rb @@ -1,44 +1,39 @@ # frozen_string_literal: true +module Domain::Disputable + extend ActiveSupport::Concern -module Concerns - module Domain - module Disputable - extend ActiveSupport::Concern - - included do - validate :validate_disputed - end + included do + validate :validate_disputed + end - def mark_as_disputed - statuses.push(DomainStatus::DISPUTED) unless statuses.include?(DomainStatus::DISPUTED) - save - end + def mark_as_disputed + statuses.push(DomainStatus::DISPUTED) unless statuses.include?(DomainStatus::DISPUTED) + save + end - def unmark_as_disputed - statuses.delete_if { |status| status == DomainStatus::DISPUTED } - save - end + def unmark_as_disputed + statuses.delete_if { |status| status == DomainStatus::DISPUTED } + save + end - def in_disputed_list? - @in_disputed_list ||= Dispute.active.find_by(domain_name: name).present? - end + def in_disputed_list? + @in_disputed_list ||= Dispute.active.find_by(domain_name: name).present? + end - def disputed? - Dispute.active.where(domain_name: name).any? - end + def disputed? + Dispute.active.where(domain_name: name).any? + end - def validate_disputed - return if persisted? || !in_disputed_list? + def validate_disputed + return if persisted? || !in_disputed_list? - if reserved_pw.blank? - errors.add(:base, :required_parameter_missing_disputed) - return false - end + if reserved_pw.blank? + errors.add(:base, :required_parameter_missing_disputed) + return false + end - return if Dispute.valid_auth?(name, reserved_pw) + return if Dispute.valid_auth?(name, reserved_pw) - errors.add(:base, :invalid_auth_information_reserved) - end - end + errors.add(:base, :invalid_auth_information_reserved) end end diff --git a/app/models/concerns/domain/expirable.rb b/app/models/concerns/domain/expirable.rb index f4e8b61f8a..1710f9dcd5 100644 --- a/app/models/concerns/domain/expirable.rb +++ b/app/models/concerns/domain/expirable.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::Expirable +module Domain::Expirable extend ActiveSupport::Concern included do diff --git a/app/models/concerns/domain/force_delete.rb b/app/models/concerns/domain/force_delete.rb index 5f09dd9fb7..ca13eb5d12 100644 --- a/app/models/concerns/domain/force_delete.rb +++ b/app/models/concerns/domain/force_delete.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength +module Domain::ForceDelete # rubocop:disable Metrics/ModuleLength extend ActiveSupport::Concern included do diff --git a/app/models/concerns/domain/registry_lockable.rb b/app/models/concerns/domain/registry_lockable.rb index 2325e4b608..2e80b7dda6 100644 --- a/app/models/concerns/domain/registry_lockable.rb +++ b/app/models/concerns/domain/registry_lockable.rb @@ -1,63 +1,59 @@ -module Concerns - module Domain - module RegistryLockable - extend ActiveSupport::Concern - - def apply_registry_lock - return unless registry_lockable? - return if locked_by_registrant? - - transaction do - statuses << DomainStatus::SERVER_UPDATE_PROHIBITED - statuses << DomainStatus::SERVER_DELETE_PROHIBITED - statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED - self.locked_by_registrant_at = Time.zone.now - alert_registrar_lock_changes!(lock: true) - - save! - end - end - - def registry_lockable? - (statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION, - DomainStatus::PENDING_CREATE, DomainStatus::PENDING_UPDATE, - DomainStatus::PENDING_DELETE, DomainStatus::PENDING_RENEW, - DomainStatus::PENDING_TRANSFER, DomainStatus::FORCE_DELETE]).empty? - end - - def locked_by_registrant? - return false unless locked_by_registrant_at - - lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED, - DomainStatus::SERVER_DELETE_PROHIBITED, - DomainStatus::SERVER_TRANSFER_PROHIBITED] - - (statuses & lock_statuses).count == 3 - end - - def remove_registry_lock - return unless locked_by_registrant? - - transaction do - statuses.delete(DomainStatus::SERVER_UPDATE_PROHIBITED) - statuses.delete(DomainStatus::SERVER_DELETE_PROHIBITED) - statuses.delete(DomainStatus::SERVER_TRANSFER_PROHIBITED) - self.locked_by_registrant_at = nil - alert_registrar_lock_changes!(lock: false) - - save! - end - end - - def alert_registrar_lock_changes!(lock: true) - translation = lock ? 'locked' : 'unlocked' - registrar.notifications.create!( - text: I18n.t("notifications.texts.registrar_#{translation}", - domain_name: name), - attached_obj_id: name, - attached_obj_type: self.class.name - ) - end +module Domain::RegistryLockable + extend ActiveSupport::Concern + + def apply_registry_lock + return unless registry_lockable? + return if locked_by_registrant? + + transaction do + statuses << DomainStatus::SERVER_UPDATE_PROHIBITED + statuses << DomainStatus::SERVER_DELETE_PROHIBITED + statuses << DomainStatus::SERVER_TRANSFER_PROHIBITED + self.locked_by_registrant_at = Time.zone.now + alert_registrar_lock_changes!(lock: true) + + save! + end + end + + def registry_lockable? + (statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION, + DomainStatus::PENDING_CREATE, DomainStatus::PENDING_UPDATE, + DomainStatus::PENDING_DELETE, DomainStatus::PENDING_RENEW, + DomainStatus::PENDING_TRANSFER, DomainStatus::FORCE_DELETE]).empty? + end + + def locked_by_registrant? + return false unless locked_by_registrant_at + + lock_statuses = [DomainStatus::SERVER_UPDATE_PROHIBITED, + DomainStatus::SERVER_DELETE_PROHIBITED, + DomainStatus::SERVER_TRANSFER_PROHIBITED] + + (statuses & lock_statuses).count == 3 + end + + def remove_registry_lock + return unless locked_by_registrant? + + transaction do + statuses.delete(DomainStatus::SERVER_UPDATE_PROHIBITED) + statuses.delete(DomainStatus::SERVER_DELETE_PROHIBITED) + statuses.delete(DomainStatus::SERVER_TRANSFER_PROHIBITED) + self.locked_by_registrant_at = nil + alert_registrar_lock_changes!(lock: false) + + save! end end + + def alert_registrar_lock_changes!(lock: true) + translation = lock ? 'locked' : 'unlocked' + registrar.notifications.create!( + text: I18n.t("notifications.texts.registrar_#{translation}", + domain_name: name), + attached_obj_id: name, + attached_obj_type: self.class.name + ) + end end diff --git a/app/models/concerns/domain/releasable.rb b/app/models/concerns/domain/releasable.rb index 0a17b062ab..81410329b6 100644 --- a/app/models/concerns/domain/releasable.rb +++ b/app/models/concerns/domain/releasable.rb @@ -1,57 +1,53 @@ -module Concerns - module Domain - module Releasable - extend ActiveSupport::Concern +module Domain::Releasable + extend ActiveSupport::Concern - class_methods do - def release_domains - releasable_domains.each do |domain| - domain.release - yield domain if block_given? - end - end + class_methods do + def release_domains + releasable_domains.each do |domain| + domain.release + yield domain if block_given? + end + end - private + private - def releasable_domains - if release_to_auction - where('(delete_date <= ? OR force_delete_date <= ?)' \ - ' AND ? != ALL(coalesce(statuses, array[]::varchar[]))', - Time.zone.today, - Time.zone.today, - DomainStatus::SERVER_DELETE_PROHIBITED) - else - where('(delete_date <= ? OR force_delete_date <= ?)' \ - ' AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \ - ' ? != ALL(COALESCE(statuses, array[]::varchar[]))', - Time.zone.today, - Time.zone.today, - DomainStatus::SERVER_DELETE_PROHIBITED, - DomainStatus::DELETE_CANDIDATE) - end - end + def releasable_domains + if release_to_auction + where('(delete_date <= ? OR force_delete_date <= ?)' \ + ' AND ? != ALL(coalesce(statuses, array[]::varchar[]))', + Time.zone.today, + Time.zone.today, + DomainStatus::SERVER_DELETE_PROHIBITED) + else + where('(delete_date <= ? OR force_delete_date <= ?)' \ + ' AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \ + ' ? != ALL(COALESCE(statuses, array[]::varchar[]))', + Time.zone.today, + Time.zone.today, + DomainStatus::SERVER_DELETE_PROHIBITED, + DomainStatus::DELETE_CANDIDATE) end + end + end - included do - class_attribute :release_to_auction - self.release_to_auction = ENV['release_domains_to_auction'] == 'true' - end + included do + class_attribute :release_to_auction + self.release_to_auction = ENV['release_domains_to_auction'] == 'true' + end - def release - if release_to_auction - ToStdout.msg 'Destroying domain' - destroy! - ToStdout.msg "Checking if domain_name is auctionable: #{domain_name.auctionable?}" - domain_name.sell_at_auction if domain_name.auctionable? + def release + if release_to_auction + ToStdout.msg 'Destroying domain' + destroy! + ToStdout.msg "Checking if domain_name is auctionable: #{domain_name.auctionable?}" + domain_name.sell_at_auction if domain_name.auctionable? - ToStdout.msg 'Sending registrar notification' - registrar.notifications.create!(text: "#{I18n.t(:domain_deleted)}: #{name}", - attached_obj_id: id, - attached_obj_type: self.class) - else - discard - end - end + ToStdout.msg 'Sending registrar notification' + registrar.notifications.create!(text: "#{I18n.t(:domain_deleted)}: #{name}", + attached_obj_id: id, + attached_obj_type: self.class) + else + discard end end end diff --git a/app/models/concerns/domain/transferable.rb b/app/models/concerns/domain/transferable.rb index 6496002176..d280f6d679 100644 --- a/app/models/concerns/domain/transferable.rb +++ b/app/models/concerns/domain/transferable.rb @@ -1,4 +1,4 @@ -module Concerns::Domain::Transferable +module Domain::Transferable extend ActiveSupport::Concern included do diff --git a/app/models/concerns/email_verifable.rb b/app/models/concerns/email_verifable.rb index d0bb6aecb8..457555b44f 100644 --- a/app/models/concerns/email_verifable.rb +++ b/app/models/concerns/email_verifable.rb @@ -1,95 +1,93 @@ -module Concerns - module EmailVerifable - extend ActiveSupport::Concern +module EmailVerifable + extend ActiveSupport::Concern - def email_verification - @email_verification ||= EmailAddressVerification.find_or_create_by(email: unicode_email, - domain: domain(email)) - end + def email_verification + @email_verification ||= EmailAddressVerification.find_or_create_by(email: unicode_email, + domain: domain(email)) + end - def billing_email_verification - return unless attribute_names.include?('billing_email') + def billing_email_verification + return unless attribute_names.include?('billing_email') - @billing_email_verification ||= EmailAddressVerification - .find_or_create_by(email: unicode_billing_email, - domain: domain(billing_email)) - end + @billing_email_verification ||= EmailAddressVerification + .find_or_create_by(email: unicode_billing_email, + domain: domain(billing_email)) + end - def email_verification_failed? - email_verification&.failed? - end + def email_verification_failed? + email_verification&.failed? + end - class_methods do - def domain(email) - Mail::Address.new(email).domain&.downcase || 'not_found' - rescue Mail::Field::IncompleteParseError - 'not_found' - end - - def local(email) - Mail::Address.new(email).local&.downcase || email - rescue Mail::Field::IncompleteParseError - email - end - - def punycode_to_unicode(email) - return email if domain(email) == 'not_found' - - local = local(email) - domain = SimpleIDN.to_unicode(domain(email)) - "#{local}@#{domain}"&.downcase - end - - def unicode_to_punycode(email) - return email if domain(email) == 'not_found' - - local = local(email) - domain = SimpleIDN.to_ascii(domain(email)) - "#{local}@#{domain}"&.downcase - end + class_methods do + def domain(email) + Mail::Address.new(email).domain&.downcase || 'not_found' + rescue Mail::Field::IncompleteParseError + 'not_found' end - def unicode_billing_email - self.class.punycode_to_unicode(billing_email) + def local(email) + Mail::Address.new(email).local&.downcase || email + rescue Mail::Field::IncompleteParseError + email end - def unicode_email - self.class.punycode_to_unicode(email) - end + def punycode_to_unicode(email) + return email if domain(email) == 'not_found' - def domain(email) - SimpleIDN.to_unicode(self.class.domain(email)) + local = local(email) + domain = SimpleIDN.to_unicode(domain(email)) + "#{local}@#{domain}"&.downcase end - def punycode_to_unicode(email) - self.class.punycode_to_unicode(email) + def unicode_to_punycode(email) + return email if domain(email) == 'not_found' + + local = local(email) + domain = SimpleIDN.to_ascii(domain(email)) + "#{local}@#{domain}"&.downcase end + end - def correct_email_format - return if email.blank? + def unicode_billing_email + self.class.punycode_to_unicode(billing_email) + end - result = email_verification.verify - process_result(result: result, field: :email) - end + def unicode_email + self.class.punycode_to_unicode(email) + end - def correct_billing_email_format - return if email.blank? + def domain(email) + SimpleIDN.to_unicode(self.class.domain(email)) + end - result = billing_email_verification.verify - process_result(result: result, field: :billing_email) - end + def punycode_to_unicode(email) + self.class.punycode_to_unicode(email) + end + + def correct_email_format + return if email.blank? + + result = email_verification.verify + process_result(result: result, field: :email) + end + + def correct_billing_email_format + return if email.blank? + + result = billing_email_verification.verify + process_result(result: result, field: :billing_email) + end - # rubocop:disable Metrics/LineLength - def process_result(result:, field:) - case result[:errors].keys.first - when :smtp - errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_smtp_check_error')) - when :mx - errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_mx_check_error')) - when :regex - errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_regex_check_error')) - end + # rubocop:disable Metrics/LineLength + def process_result(result:, field:) + case result[:errors].keys.first + when :smtp + errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_smtp_check_error')) + when :mx + errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_mx_check_error')) + when :regex + errors.add(field, I18n.t('activerecord.errors.models.contact.attributes.email.email_regex_check_error')) end - # rubocop:enable Metrics/LineLength end + # rubocop:enable Metrics/LineLength end diff --git a/app/models/concerns/invoice/book_keeping.rb b/app/models/concerns/invoice/book_keeping.rb index 82e6506c9b..03998cc50a 100644 --- a/app/models/concerns/invoice/book_keeping.rb +++ b/app/models/concerns/invoice/book_keeping.rb @@ -1,34 +1,30 @@ -module Concerns - module Invoice - module BookKeeping - extend ActiveSupport::Concern +module Invoice::BookKeeping + extend ActiveSupport::Concern - def as_directo_json - invoice = ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(self)) - invoice['customer'] = compose_directo_customer - invoice['issue_date'] = issue_date.strftime('%Y-%m-%d') - invoice['transaction_date'] = account_activity - .bank_transaction&.paid_at&.strftime('%Y-%m-%d') - invoice['language'] = buyer.language == 'en' ? 'ENG' : '' - invoice['invoice_lines'] = compose_directo_product + def as_directo_json + invoice = ActiveSupport::JSON.decode(ActiveSupport::JSON.encode(self)) + invoice['customer'] = compose_directo_customer + invoice['issue_date'] = issue_date.strftime('%Y-%m-%d') + invoice['transaction_date'] = account_activity + .bank_transaction&.paid_at&.strftime('%Y-%m-%d') + invoice['language'] = buyer.language == 'en' ? 'ENG' : '' + invoice['invoice_lines'] = compose_directo_product - invoice - end + invoice + end - def compose_directo_product - [{ 'product_id': Setting.directo_receipt_product_name, 'description': order, - 'quantity': 1, 'price': ActionController::Base.helpers.number_with_precision( - subtotal, precision: 2, separator: '.' - ) }].as_json - end + def compose_directo_product + [{ 'product_id': Setting.directo_receipt_product_name, 'description': order, + 'quantity': 1, 'price': ActionController::Base.helpers.number_with_precision( + subtotal, precision: 2, separator: '.' + ) }].as_json + end - def compose_directo_customer - { - 'code': buyer.accounting_customer_code, - 'destination': buyer_country_code, - 'vat_reg_no': buyer_vat_no, - }.as_json - end - end + def compose_directo_customer + { + 'code': buyer.accounting_customer_code, + 'destination': buyer_country_code, + 'vat_reg_no': buyer_vat_no, + }.as_json end end diff --git a/app/models/concerns/invoice/cancellable.rb b/app/models/concerns/invoice/cancellable.rb index 2eb0f8e2e0..0374c9d2ad 100644 --- a/app/models/concerns/invoice/cancellable.rb +++ b/app/models/concerns/invoice/cancellable.rb @@ -1,28 +1,24 @@ -module Concerns - module Invoice - module Cancellable - extend ActiveSupport::Concern +module Invoice::Cancellable + extend ActiveSupport::Concern - included do - scope :non_cancelled, -> { where(cancelled_at: nil) } - end + included do + scope :non_cancelled, -> { where(cancelled_at: nil) } + end - def cancellable? - unpaid? && not_cancelled? - end + def cancellable? + unpaid? && not_cancelled? + end - def cancel - raise 'Invoice cannot be cancelled' unless cancellable? - update!(cancelled_at: Time.zone.now) - end + def cancel + raise 'Invoice cannot be cancelled' unless cancellable? + update!(cancelled_at: Time.zone.now) + end - def cancelled? - cancelled_at - end + def cancelled? + cancelled_at + end - def not_cancelled? - !cancelled? - end - end + def not_cancelled? + !cancelled? end end diff --git a/app/models/concerns/invoice/payable.rb b/app/models/concerns/invoice/payable.rb index 1a1c3e2696..ad91b886e6 100644 --- a/app/models/concerns/invoice/payable.rb +++ b/app/models/concerns/invoice/payable.rb @@ -1,28 +1,24 @@ -module Concerns - module Invoice - module Payable - extend ActiveSupport::Concern +module Invoice::Payable + extend ActiveSupport::Concern - included do - scope :unpaid, -> { where('id NOT IN (SELECT invoice_id FROM account_activities WHERE' \ - ' invoice_id IS NOT NULL)') } - end + included do + scope :unpaid, -> { where('id NOT IN (SELECT invoice_id FROM account_activities WHERE' \ + ' invoice_id IS NOT NULL)') } + end - def payable? - unpaid? && not_cancelled? - end + def payable? + unpaid? && not_cancelled? + end - def paid? - account_activity - end + def paid? + account_activity + end - def receipt_date - account_activity.created_at.to_date - end + def receipt_date + account_activity.created_at.to_date + end - def unpaid? - !paid? - end - end + def unpaid? + !paid? end end diff --git a/app/models/concerns/registrar/book_keeping.rb b/app/models/concerns/registrar/book_keeping.rb index 60b9c2b1a5..d8a7c2e726 100644 --- a/app/models/concerns/registrar/book_keeping.rb +++ b/app/models/concerns/registrar/book_keeping.rb @@ -1,128 +1,124 @@ -module Concerns - module Registrar - module BookKeeping - extend ActiveSupport::Concern +module Registrar::BookKeeping + extend ActiveSupport::Concern - DOMAIN_TO_PRODUCT = { 'ee': '01EE', 'com.ee': '02COM', 'pri.ee': '03PRI', - 'fie.ee': '04FIE', 'med.ee': '05MED' }.freeze + DOMAIN_TO_PRODUCT = { 'ee': '01EE', 'com.ee': '02COM', 'pri.ee': '03PRI', + 'fie.ee': '04FIE', 'med.ee': '05MED' }.freeze - def monthly_summary(month:) - activities = monthly_activites(month) - return unless activities.any? + def monthly_summary(month:) + activities = monthly_activites(month) + return unless activities.any? - invoice = { - 'number': 1, - 'customer': compose_directo_customer, - 'language': language == 'en' ? 'ENG' : '', 'currency': activities.first.currency, - 'date': month.end_of_month.strftime('%Y-%m-%d') - }.as_json + invoice = { + 'number': 1, + 'customer': compose_directo_customer, + 'language': language == 'en' ? 'ENG' : '', 'currency': activities.first.currency, + 'date': month.end_of_month.strftime('%Y-%m-%d') + }.as_json - invoice['invoice_lines'] = prepare_invoice_lines(month: month, activities: activities) + invoice['invoice_lines'] = prepare_invoice_lines(month: month, activities: activities) - invoice - end + invoice + end - def prepare_invoice_lines(month:, activities:) - lines = [] + def prepare_invoice_lines(month:, activities:) + lines = [] - lines << { 'description': title_for_summary(month) } - activities.each do |activity| - fetch_invoice_lines(activity, lines) - end - lines << prepayment_for_all(lines) + lines << { 'description': title_for_summary(month) } + activities.each do |activity| + fetch_invoice_lines(activity, lines) + end + lines << prepayment_for_all(lines) - lines.as_json - end + lines.as_json + end - def title_for_summary(date) - I18n.with_locale(language == 'en' ? 'en' : 'et') do - I18n.t('registrar.monthly_summary_title', date: I18n.l(date, format: '%B %Y')) - end - end + def title_for_summary(date) + I18n.with_locale(language == 'en' ? 'en' : 'et') do + I18n.t('registrar.monthly_summary_title', date: I18n.l(date, format: '%B %Y')) + end + end - def fetch_invoice_lines(activity, lines) - price = load_price(activity) - if price.duration.include? 'year' - price.duration.to_i.times do |duration| - lines << new_monthly_invoice_line(activity: activity, duration: duration + 1).as_json - end - else - lines << new_monthly_invoice_line(activity: activity).as_json - end + def fetch_invoice_lines(activity, lines) + price = load_price(activity) + if price.duration.include? 'year' + price.duration.to_i.times do |duration| + lines << new_monthly_invoice_line(activity: activity, duration: duration + 1).as_json end + else + lines << new_monthly_invoice_line(activity: activity).as_json + end + end - def monthly_activites(month) - AccountActivity.where(account_id: account_ids) - .where(created_at: month.beginning_of_month..month.end_of_month) - .where(activity_type: [AccountActivity::CREATE, AccountActivity::RENEW]) - end + def monthly_activites(month) + AccountActivity.where(account_id: account_ids) + .where(created_at: month.beginning_of_month..month.end_of_month) + .where(activity_type: [AccountActivity::CREATE, AccountActivity::RENEW]) + end - def new_monthly_invoice_line(activity:, duration: nil) - price = load_price(activity) - line = { - 'product_id': DOMAIN_TO_PRODUCT[price.zone_name.to_sym], - 'quantity': 1, - 'unit': language == 'en' ? 'pc' : 'tk', - } + def new_monthly_invoice_line(activity:, duration: nil) + price = load_price(activity) + line = { + 'product_id': DOMAIN_TO_PRODUCT[price.zone_name.to_sym], + 'quantity': 1, + 'unit': language == 'en' ? 'pc' : 'tk', + } - finalize_invoice_line(line, price: price, duration: duration, activity: activity) - end + finalize_invoice_line(line, price: price, duration: duration, activity: activity) + end - def finalize_invoice_line(line, price:, activity:, duration:) - yearly = price.duration.include?('year') + def finalize_invoice_line(line, price:, activity:, duration:) + yearly = price.duration.include?('year') - line['price'] = yearly ? (price.price.amount / price.duration.to_i) : price.price.amount - line['description'] = description_in_language(price: price, yearly: yearly) + line['price'] = yearly ? (price.price.amount / price.duration.to_i) : price.price.amount + line['description'] = description_in_language(price: price, yearly: yearly) - if duration.present? - add_product_timeframe(line: line, activity: activity, duration: duration) if duration > 1 - end + if duration.present? + add_product_timeframe(line: line, activity: activity, duration: duration) if duration > 1 + end - line - end + line + end - def add_product_timeframe(line:, activity:, duration:) - create_time = activity.created_at - line['start_date'] = (create_time + (duration - 1).year).end_of_month.strftime('%Y-%m-%d') - line['end_date'] = (create_time + (duration - 1).year + 1).end_of_month.strftime('%Y-%m-%d') - end + def add_product_timeframe(line:, activity:, duration:) + create_time = activity.created_at + line['start_date'] = (create_time + (duration - 1).year).end_of_month.strftime('%Y-%m-%d') + line['end_date'] = (create_time + (duration - 1).year + 1).end_of_month.strftime('%Y-%m-%d') + end - def description_in_language(price:, yearly:) - timeframe_string = yearly ? 'yearly' : 'monthly' - locale_string = "registrar.invoice_#{timeframe_string}_product_description" + def description_in_language(price:, yearly:) + timeframe_string = yearly ? 'yearly' : 'monthly' + locale_string = "registrar.invoice_#{timeframe_string}_product_description" - I18n.with_locale(language == 'en' ? 'en' : 'et') do - I18n.t(locale_string, tld: ".#{price.zone_name}", length: price.duration.to_i) - end - end + I18n.with_locale(language == 'en' ? 'en' : 'et') do + I18n.t(locale_string, tld: ".#{price.zone_name}", length: price.duration.to_i) + end + end - def prepayment_for_all(lines) - total = 0 - en = language == 'en' - lines.each { |l| total += l['quantity'].to_f * l['price'].to_f } - { - 'product_id': Setting.directo_receipt_product_name, - 'description': en ? 'Domains prepayment' : 'Domeenide ettemaks', - 'quantity': -1, - 'price': total, - 'unit': en ? 'pc' : 'tk', - } - end + def prepayment_for_all(lines) + total = 0 + en = language == 'en' + lines.each { |l| total += l['quantity'].to_f * l['price'].to_f } + { + 'product_id': Setting.directo_receipt_product_name, + 'description': en ? 'Domains prepayment' : 'Domeenide ettemaks', + 'quantity': -1, + 'price': total, + 'unit': en ? 'pc' : 'tk', + } + end - def compose_directo_customer - { - 'code': accounting_customer_code, - 'destination': address_country_code, - 'vat_reg_no': vat_no, - }.as_json - end + def compose_directo_customer + { + 'code': accounting_customer_code, + 'destination': address_country_code, + 'vat_reg_no': vat_no, + }.as_json + end - def load_price(account_activity) - @pricelists ||= {} - return @pricelists[account_activity.price_id] if @pricelists.key? account_activity.price_id + def load_price(account_activity) + @pricelists ||= {} + return @pricelists[account_activity.price_id] if @pricelists.key? account_activity.price_id - @pricelists[account_activity.price_id] = account_activity.price - end - end + @pricelists[account_activity.price_id] = account_activity.price end end diff --git a/app/models/concerns/registrar/legal_doc.rb b/app/models/concerns/registrar/legal_doc.rb index 2f21f66376..294c9487d4 100644 --- a/app/models/concerns/registrar/legal_doc.rb +++ b/app/models/concerns/registrar/legal_doc.rb @@ -1,16 +1,12 @@ -module Concerns - module Registrar - module LegalDoc - extend ActiveSupport::Concern +module Registrar::LegalDoc + extend ActiveSupport::Concern - def legaldoc_mandatory? - !legaldoc_not_mandatory? - end + def legaldoc_mandatory? + !legaldoc_not_mandatory? + end - def legaldoc_not_mandatory? - setting = Setting.legal_document_is_mandatory - legaldoc_optout || !setting - end - end + def legaldoc_not_mandatory? + setting = Setting.legal_document_is_mandatory + legaldoc_optout || !setting end end diff --git a/app/models/concerns/versions.rb b/app/models/concerns/versions.rb index 033ebe52a6..a1c872b56a 100644 --- a/app/models/concerns/versions.rb +++ b/app/models/concerns/versions.rb @@ -7,10 +7,10 @@ module Versions attr_accessor :version_loader if WITH_CHILDREN.include?(model_name.name) - has_paper_trail versions: { class_name: "#{model_name}Version" }, + has_paper_trail versions: { class_name: "Version::#{model_name}Version" }, meta: { children: :children_log } else - has_paper_trail versions: { class_name: "#{model_name}Version" } + has_paper_trail versions: { class_name: "Version::#{model_name}Version" } end # add creator and updator diff --git a/app/models/concerns/zone/whois_queryable.rb b/app/models/concerns/zone/whois_queryable.rb index c79700582a..e4a6c1314f 100644 --- a/app/models/concerns/zone/whois_queryable.rb +++ b/app/models/concerns/zone/whois_queryable.rb @@ -1,74 +1,70 @@ -module Concerns - module Zone - module WhoisQueryable - extend ActiveSupport::Concern +module Zone::WhoisQueryable + extend ActiveSupport::Concern - included do - after_save :update_whois_record, if: :subzone? - after_destroy :update_whois_record - end - - def subzone? - origin.include? '.' - end + included do + after_save :update_whois_record, if: :subzone? + after_destroy :update_whois_record + end - def update_whois_record - UpdateWhoisRecordJob.enqueue origin, 'zone' - end + def subzone? + origin.include? '.' + end - def generate_data - wr = Whois::Record.find_or_initialize_by(name: origin) - wr.json = generate_json - wr.save - end + def update_whois_record + UpdateWhoisRecordJob.enqueue origin, 'zone' + end - def generate_json - data = {}.with_indifferent_access - [domain_vars, registrar_vars, registrant_vars].each do |h| - data.merge!(h) - end + def generate_data + wr = Whois::Record.find_or_initialize_by(name: origin) + wr.json = generate_json + wr.save + end - data - end + def generate_json + data = {}.with_indifferent_access + [domain_vars, registrar_vars, registrant_vars].each do |h| + data.merge!(h) + end - # Take note - since this concern only used to zone whois queries, dnssec keys are set to - # empty array - def domain_vars - { disclaimer: Setting.registry_whois_disclaimer, name: origin, - registered: created_at.try(:to_s, :iso8601), status: ['ok (paid and in zone)'], - changed: updated_at.try(:to_s, :iso8601), email: Setting.registry_email, - admin_contacts: [contact_vars], tech_contacts: [contact_vars], - nameservers: nameserver_vars, dnssec_keys: [], dnssec_changed: nil } - end + data + end - def registrar_vars - { registrar: Setting.registry_juridical_name, registrar_website: Setting.registry_url, - registrar_phone: Setting.registry_phone } - end + # Take note - since this concern only used to zone whois queries, dnssec keys are set to + # empty array + def domain_vars + { disclaimer: Setting.registry_whois_disclaimer, name: origin, + registered: created_at.try(:to_s, :iso8601), status: ['ok (paid and in zone)'], + changed: updated_at.try(:to_s, :iso8601), email: Setting.registry_email, + admin_contacts: [contact_vars], tech_contacts: [contact_vars], + nameservers: nameserver_vars, dnssec_keys: [], dnssec_changed: nil } + end - def registrant_vars - { registrant: Setting.registry_juridical_name, registrant_reg_no: Setting.registry_reg_no, - registrant_ident_country_code: Setting.registry_country_code, registrant_kind: 'org', - registrant_disclosed_attributes: %w[name email] } - end + def registrar_vars + { registrar: Setting.registry_juridical_name, registrar_website: Setting.registry_url, + registrar_phone: Setting.registry_phone } + end - def contact_vars - { name: Setting.registry_invoice_contact, email: Setting.registry_email, - disclosed_attributes: %w[name email] } - end + def registrant_vars + { registrant: Setting.registry_juridical_name, registrant_reg_no: Setting.registry_reg_no, + registrant_ident_country_code: Setting.registry_country_code, registrant_kind: 'org', + registrant_disclosed_attributes: %w[name email] } + end - def nameserver_vars - vars = [] - return vars unless ns_records + def contact_vars + { name: Setting.registry_invoice_contact, email: Setting.registry_email, + disclosed_attributes: %w[name email] } + end - parsed_ns = ns_records.gsub("\r", '').gsub("\n", '') - parsed_ns.split("#{origin}. IN NS ").each do |ns| - ns.delete_suffix! '.' - vars << ns if ns.match? Nameserver::HOSTNAME_REGEXP - end + def nameserver_vars + vars = [] + return vars unless ns_records - vars - end + parsed_ns = ns_records.gsub("\r", '').gsub("\n", '') + parsed_ns.split("#{origin}. IN NS ").each do |ns| + ns.delete_suffix! '.' + vars << ns if ns.match? Nameserver::HOSTNAME_REGEXP end + + vars end end diff --git a/app/models/contact.rb b/app/models/contact.rb index 7ae51992d7..61d49c10c7 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -4,11 +4,11 @@ class Contact < ApplicationRecord include Versions # version/contact_version.rb include EppErrors include UserEvents - include Concerns::Contact::Transferable - include Concerns::Contact::Identical - include Concerns::Contact::Disclosable - include Concerns::Contact::Archivable - include Concerns::EmailVerifable + include Contact::Transferable + include Contact::Identical + include Contact::Disclosable + include Contact::Archivable + include EmailVerifable belongs_to :original, class_name: self.name belongs_to :registrar, required: true diff --git a/app/models/concerns/contact/transferable.rb b/app/models/contact/transferable.rb similarity index 95% rename from app/models/concerns/contact/transferable.rb rename to app/models/contact/transferable.rb index 987933a8de..74b4b09d5f 100644 --- a/app/models/concerns/contact/transferable.rb +++ b/app/models/contact/transferable.rb @@ -1,4 +1,4 @@ -module Concerns::Contact::Transferable +module Contact::Transferable extend ActiveSupport::Concern included do diff --git a/app/models/dns/zone.rb b/app/models/dns/zone.rb index 31749d9524..6e18b84bb9 100644 --- a/app/models/dns/zone.rb +++ b/app/models/dns/zone.rb @@ -5,7 +5,7 @@ class Zone < ApplicationRecord validates :origin, :ttl, :refresh, :retry, :expire, :minimum_ttl, :email, :master_nameserver, presence: true validates :ttl, :refresh, :retry, :expire, :minimum_ttl, numericality: { only_integer: true } validates :origin, uniqueness: true - include Concerns::Zone::WhoisQueryable + include ::Zone::WhoisQueryable before_destroy do throw(:abort) if used? diff --git a/app/models/domain.rb b/app/models/domain.rb index f5fed455d4..6576880164 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -1,16 +1,16 @@ class Domain < ApplicationRecord include UserEvents include Versions # version/domain_version.rb - include Concerns::Domain::Expirable - include Concerns::Domain::Activatable - include Concerns::Domain::ForceDelete - include Concerns::Domain::Discardable - include Concerns::Domain::Deletable - include Concerns::Domain::Transferable - include Concerns::Domain::RegistryLockable - include Concerns::Domain::Releasable - include Concerns::Domain::Disputable - include Concerns::Domain::BulkUpdatable + include Domain::Expirable + include Domain::Activatable + include Domain::ForceDelete + include Domain::Discardable + include Domain::Deletable + include Domain::Transferable + include Domain::RegistryLockable + include Domain::Releasable + include Domain::Disputable + include Domain::BulkUpdatable attr_accessor :roles diff --git a/app/models/invoice.rb b/app/models/invoice.rb index fb625f7b98..73ed885677 100644 --- a/app/models/invoice.rb +++ b/app/models/invoice.rb @@ -1,8 +1,8 @@ class Invoice < ApplicationRecord include Versions - include Concerns::Invoice::Cancellable - include Concerns::Invoice::Payable - include Concerns::Invoice::BookKeeping + include Invoice::Cancellable + include Invoice::Payable + include Invoice::BookKeeping belongs_to :buyer, class_name: 'Registrar' has_one :account_activity @@ -34,7 +34,7 @@ class Invoice < ApplicationRecord before_create :calculate_total, unless: :total? before_create :apply_default_buyer_vat_no, unless: :buyer_vat_no? - attribute :vat_rate, ::Type::VATRate.new + attribute :vat_rate, ::Type::VatRate.new def set_invoice_number last_no = Invoice.order(number: :desc).limit(1).pluck(:number).first diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 652864fe5b..335fb9115d 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -1,8 +1,8 @@ class Registrar < ApplicationRecord include Versions # version/registrar_version.rb - include Concerns::Registrar::BookKeeping - include Concerns::EmailVerifable - include Concerns::Registrar::LegalDoc + include Registrar::BookKeeping + include EmailVerifable + include Registrar::LegalDoc has_many :domains, dependent: :restrict_with_error has_many :contacts, dependent: :restrict_with_error @@ -30,7 +30,7 @@ class Registrar < ApplicationRecord validates :vat_rate, numericality: { greater_than_or_equal_to: 0, less_than: 100 }, allow_nil: true - attribute :vat_rate, ::Type::VATRate.new + attribute :vat_rate, ::Type::VatRate.new after_initialize :set_defaults validate :correct_email_format, if: proc { |c| c.will_save_change_to_email? } diff --git a/app/models/type/vat_rate.rb b/app/models/type/vat_rate.rb index 6a31e389be..142ae0559f 100644 --- a/app/models/type/vat_rate.rb +++ b/app/models/type/vat_rate.rb @@ -1,5 +1,5 @@ module Type - class VATRate < ActiveRecord::Type::Decimal + class VatRate < ActiveRecord::Type::Decimal def deserialize(value) super * 100 if value end diff --git a/app/models/version/account_activity_version.rb b/app/models/version/account_activity_version.rb index b742f7a635..17d8bc8a77 100644 --- a/app/models/version/account_activity_version.rb +++ b/app/models/version/account_activity_version.rb @@ -1,4 +1,4 @@ -class AccountActivityVersion < PaperTrail::Version +class Version::AccountActivityVersion < PaperTrail::Version self.table_name = :log_account_activities self.sequence_name = :log_account_activities_id_seq end diff --git a/app/models/version/account_version.rb b/app/models/version/account_version.rb index b68edd4a5e..aca10d41f6 100644 --- a/app/models/version/account_version.rb +++ b/app/models/version/account_version.rb @@ -1,4 +1,4 @@ -class AccountVersion < PaperTrail::Version +class Version::AccountVersion < PaperTrail::Version self.table_name = :log_accounts self.sequence_name = :log_accounts_id_seq end diff --git a/app/models/version/action_version.rb b/app/models/version/action_version.rb index bd23d7697e..5ca6220b19 100644 --- a/app/models/version/action_version.rb +++ b/app/models/version/action_version.rb @@ -1,4 +1,4 @@ -class ActionVersion < PaperTrail::Version +class Version::ActionVersion < PaperTrail::Version self.table_name = :log_actions self.sequence_name = :log_actions_id_seq end diff --git a/app/models/version/bank_statement_version.rb b/app/models/version/bank_statement_version.rb index ae66f4efe8..5a61da3af0 100644 --- a/app/models/version/bank_statement_version.rb +++ b/app/models/version/bank_statement_version.rb @@ -1,4 +1,4 @@ -class BankStatementVersion < PaperTrail::Version +class Version::BankStatementVersion < PaperTrail::Version self.table_name = :log_bank_statements self.sequence_name = :log_bank_statements_id_seq end diff --git a/app/models/version/bank_transaction_version.rb b/app/models/version/bank_transaction_version.rb index 93e13be748..63c65e2b83 100644 --- a/app/models/version/bank_transaction_version.rb +++ b/app/models/version/bank_transaction_version.rb @@ -1,4 +1,4 @@ -class BankTransactionVersion < PaperTrail::Version +class Version::BankTransactionVersion < PaperTrail::Version self.table_name = :log_bank_transactions self.sequence_name = :log_bank_transactions_id_seq end diff --git a/app/models/version/billing/price_version.rb b/app/models/version/billing/price_version.rb index 7502c18e2f..6114051424 100644 --- a/app/models/version/billing/price_version.rb +++ b/app/models/version/billing/price_version.rb @@ -1,7 +1,4 @@ -module Billing - class PriceVersion < PaperTrail::Version - self.table_name = :log_prices - self.sequence_name = :log_prices_id_seq - end +class Version::Billing::PriceVersion < PaperTrail::Version + self.table_name = :log_prices + self.sequence_name = :log_prices_id_seq end - diff --git a/app/models/version/blocked_domain_version.rb b/app/models/version/blocked_domain_version.rb index 82e6b30dac..b511445c0d 100644 --- a/app/models/version/blocked_domain_version.rb +++ b/app/models/version/blocked_domain_version.rb @@ -1,4 +1,4 @@ -class BlockedDomainVersion < PaperTrail::Version +class Version::BlockedDomainVersion < PaperTrail::Version self.table_name = :log_blocked_domains self.sequence_name = :log_blocked_domains_id_seq end diff --git a/app/models/version/certificate_version.rb b/app/models/version/certificate_version.rb index bcc89e62ab..1edd032042 100644 --- a/app/models/version/certificate_version.rb +++ b/app/models/version/certificate_version.rb @@ -1,4 +1,4 @@ -class CertificateVersion < PaperTrail::Version +class Version::CertificateVersion < PaperTrail::Version self.table_name = :log_certificates self.sequence_name = :log_certificates_id_seq end diff --git a/app/models/version/contact_version.rb b/app/models/version/contact_version.rb index 7818133021..6c5c70a99b 100644 --- a/app/models/version/contact_version.rb +++ b/app/models/version/contact_version.rb @@ -1,7 +1,7 @@ -class ContactVersion < PaperTrail::Version +class Version::ContactVersion < PaperTrail::Version include VersionSession self.table_name = :log_contacts self.sequence_name = :log_contacts_id_seq - + # scope :deleted, -> { where(event: 'destroy') } end diff --git a/app/models/version/dnskey_version.rb b/app/models/version/dnskey_version.rb index c50528e428..ea468194ea 100644 --- a/app/models/version/dnskey_version.rb +++ b/app/models/version/dnskey_version.rb @@ -1,4 +1,4 @@ -class DnskeyVersion < PaperTrail::Version +class Version::DnskeyVersion < PaperTrail::Version include VersionSession self.table_name = :log_dnskeys self.sequence_name = :log_dnskeys_id_seq diff --git a/app/models/version/domain_contact_version.rb b/app/models/version/domain_contact_version.rb index 234ff8d9e3..d0e1954be5 100644 --- a/app/models/version/domain_contact_version.rb +++ b/app/models/version/domain_contact_version.rb @@ -1,4 +1,4 @@ -class DomainContactVersion < PaperTrail::Version +class Version::DomainContactVersion < PaperTrail::Version include VersionSession self.table_name = :log_domain_contacts self.sequence_name = :log_domain_contacts_id_seq diff --git a/app/models/version/domain_version.rb b/app/models/version/domain_version.rb index 27753960a9..b2962d1eed 100644 --- a/app/models/version/domain_version.rb +++ b/app/models/version/domain_version.rb @@ -1,4 +1,4 @@ -class DomainVersion < PaperTrail::Version +class Version::DomainVersion < PaperTrail::Version include VersionSession self.table_name = :log_domains diff --git a/app/models/version/invoice_item_version.rb b/app/models/version/invoice_item_version.rb index ffdef5d3e7..59a9db6ea6 100644 --- a/app/models/version/invoice_item_version.rb +++ b/app/models/version/invoice_item_version.rb @@ -1,4 +1,4 @@ -class InvoiceItemVersion < PaperTrail::Version +class Version::InvoiceItemVersion < PaperTrail::Version self.table_name = :log_invoice_items self.sequence_name = :log_invoice_items_id_seq end diff --git a/app/models/version/invoice_version.rb b/app/models/version/invoice_version.rb index 0b98c873f9..037ce72372 100644 --- a/app/models/version/invoice_version.rb +++ b/app/models/version/invoice_version.rb @@ -1,4 +1,4 @@ -class InvoiceVersion < PaperTrail::Version +class Version::InvoiceVersion < PaperTrail::Version self.table_name = :log_invoices self.sequence_name = :log_invoices_id_seq end diff --git a/app/models/version/nameserver_version.rb b/app/models/version/nameserver_version.rb index 01a02c93ae..e4d3a8a0fd 100644 --- a/app/models/version/nameserver_version.rb +++ b/app/models/version/nameserver_version.rb @@ -1,4 +1,4 @@ -class NameserverVersion < PaperTrail::Version +class Version::NameserverVersion < PaperTrail::Version include VersionSession self.table_name = :log_nameservers self.sequence_name = :log_nameservers_id_seq diff --git a/app/models/version/notification_version.rb b/app/models/version/notification_version.rb index 0b66aabe5f..a7eb31ee5c 100644 --- a/app/models/version/notification_version.rb +++ b/app/models/version/notification_version.rb @@ -1,4 +1,4 @@ -class NotificationVersion < PaperTrail::Version +class Version::NotificationVersion < PaperTrail::Version include VersionSession self.table_name = :log_notifications self.sequence_name = :log_notifications_id_seq diff --git a/app/models/version/payment_order_version.rb b/app/models/version/payment_order_version.rb index e556f10216..8d0a6d083c 100644 --- a/app/models/version/payment_order_version.rb +++ b/app/models/version/payment_order_version.rb @@ -1,4 +1,4 @@ -class PaymentOrderVersion < PaperTrail::Version +class Version::PaymentOrderVersion < PaperTrail::Version self.table_name = :log_payment_orders self.sequence_name = :log_payment_orders_id_seq end diff --git a/app/models/version/registrant_verification_version.rb b/app/models/version/registrant_verification_version.rb index b7dbb88521..4f1d386011 100644 --- a/app/models/version/registrant_verification_version.rb +++ b/app/models/version/registrant_verification_version.rb @@ -1,4 +1,4 @@ -class RegistrantVerificationVersion < PaperTrail::Version +class Version::RegistrantVerificationVersion < PaperTrail::Version include VersionSession self.table_name = :log_registrant_verifications self.sequence_name = :log_registrant_verifications_id_seq diff --git a/app/models/version/registrar_version.rb b/app/models/version/registrar_version.rb index 1e9c9584f6..2a55ed2122 100644 --- a/app/models/version/registrar_version.rb +++ b/app/models/version/registrar_version.rb @@ -1,4 +1,4 @@ -class RegistrarVersion < PaperTrail::Version +class Version::RegistrarVersion < PaperTrail::Version include VersionSession self.table_name = :log_registrars self.sequence_name = :log_registrars_id_seq diff --git a/app/models/version/reserved_domain_version.rb b/app/models/version/reserved_domain_version.rb index 1f3289b798..db68441ab6 100644 --- a/app/models/version/reserved_domain_version.rb +++ b/app/models/version/reserved_domain_version.rb @@ -1,4 +1,4 @@ -class ReservedDomainVersion < PaperTrail::Version +class Version::ReservedDomainVersion < PaperTrail::Version include VersionSession self.table_name = :log_reserved_domains self.sequence_name = :log_reserved_domains_id_seq diff --git a/app/models/version/setting_entry_version.rb b/app/models/version/setting_entry_version.rb index de1e4d1cad..97840771af 100644 --- a/app/models/version/setting_entry_version.rb +++ b/app/models/version/setting_entry_version.rb @@ -1,4 +1,4 @@ -class SettingEntryVersion < PaperTrail::Version +class Version::SettingEntryVersion < PaperTrail::Version self.table_name = :log_setting_entries self.sequence_name = :log_setting_entries end diff --git a/app/models/version/setting_version.rb b/app/models/version/setting_version.rb index d532f8ef4d..f93e576a32 100644 --- a/app/models/version/setting_version.rb +++ b/app/models/version/setting_version.rb @@ -1,4 +1,4 @@ -class SettingVersion < PaperTrail::Version +class Version::SettingVersion < PaperTrail::Version include VersionSession self.table_name = :log_settings self.sequence_name = :log_settings_id_seq diff --git a/app/models/version/user_version.rb b/app/models/version/user_version.rb index 13453713b8..6737ece7b7 100644 --- a/app/models/version/user_version.rb +++ b/app/models/version/user_version.rb @@ -1,4 +1,4 @@ -class UserVersion < PaperTrail::Version +class Version::UserVersion < PaperTrail::Version include VersionSession self.table_name = :log_users self.sequence_name = :log_users_id_seq diff --git a/app/models/version/white_ip_version.rb b/app/models/version/white_ip_version.rb index 0f2ee8a53d..44d851628a 100644 --- a/app/models/version/white_ip_version.rb +++ b/app/models/version/white_ip_version.rb @@ -1,4 +1,4 @@ -class WhiteIpVersion < PaperTrail::Version +class Version::WhiteIpVersion < PaperTrail::Version include VersionSession self.table_name = :log_white_ips self.sequence_name = :log_white_ips_id_seq diff --git a/app/presenters/registrar/domain_list_csv_presenter.rb b/app/presenters/registrar/domain_list_csv_presenter.rb index 46b11f80bd..5f32bd0221 100644 --- a/app/presenters/registrar/domain_list_csv_presenter.rb +++ b/app/presenters/registrar/domain_list_csv_presenter.rb @@ -1,4 +1,4 @@ -class Registrar::DomainListCSVPresenter +class Registrar::DomainListCsvPresenter def initialize(domains:, view:) @domains = domains @view = view diff --git a/config/application.rb b/config/application.rb index 014c032698..0ab5aa8bb0 100644 --- a/config/application.rb +++ b/config/application.rb @@ -17,7 +17,7 @@ module DomainNameRegistry class Application < Rails::Application config.load_defaults 6.0 - config.autoloader = :classic # Do not use zeitwerk for now + config.autoloader = :zeitwerk # Do not use zeitwerk for now # Settings in config/environments/* take precedence over those specified here. # Application configuration should go into files in config/initializers @@ -35,9 +35,9 @@ class Application < Rails::Application # config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')] # Autoload all model subdirs - config.autoload_paths += Dir[Rails.root.join('app', 'models', '**/')] - config.autoload_paths += Dir[Rails.root.join('app', 'lib', '**/')] - config.autoload_paths += Dir[Rails.root.join('app', 'interactions', '**/')] + # config.autoload_paths += Dir[Rails.root.join('app', 'models', '**/')] + # config.autoload_paths += Dir[Rails.root.join('app', 'lib', '**/')] + # config.autoload_paths += Dir[Rails.root.join('app', 'interactions', '**/')] config.eager_load_paths << config.root.join('lib', 'validators') config.eager_load_paths << config.root.join('app', 'lib') config.watchable_dirs['lib'] = %i[rb] @@ -72,8 +72,7 @@ class Application < Rails::Application } config.action_mailer.default_options = { from: ENV['action_mailer_default_from'] } - require "#{Rails.root}/app/mailers/interceptors/punycode_interceptor" - ActionMailer::Base.register_interceptor(PunycodeInterceptor) + config.action_mailer.interceptors = ["Interceptors::PunycodeInterceptor"] config.action_view.default_form_builder = 'DefaultFormBuilder' config.secret_key_base = Figaro.env.secret_key_base diff --git a/test/models/concerns/versions_test.rb b/test/models/concerns/versions_test.rb index 2a54b44761..bc823d51cd 100644 --- a/test/models/concerns/versions_test.rb +++ b/test/models/concerns/versions_test.rb @@ -7,7 +7,7 @@ def test_if_gets_all_versions_without_error_if_ignored_column_present @nameserver.update(hostname: 'ns99.bestnames.test') @ignored_column_title = Nameserver.ignored_columns.first - version = NameserverVersion.last + version = Version::NameserverVersion.last hash = version.object hash[@ignored_column_title] = 123456 version.update(object: hash) diff --git a/test/models/contact/archivable_test.rb b/test/models/contact/archivable_test.rb index 340ca54e01..cd07d3894f 100644 --- a/test/models/contact/archivable_test.rb +++ b/test/models/contact/archivable_test.rb @@ -6,8 +6,8 @@ class ArchivableContactTest < ActiveSupport::TestCase end def test_contact_is_archivable_when_it_was_linked_and_inactivity_period_has_passed - DomainVersion.stub(:was_contact_linked?, true) do - DomainVersion.stub(:contact_unlinked_more_than?, true) do + Version::DomainVersion.stub(:was_contact_linked?, true) do + Version::DomainVersion.stub(:contact_unlinked_more_than?, true) do assert @contact.archivable? end end @@ -18,7 +18,7 @@ def test_contact_is_archivable_when_it_was_never_linked_and_inactivity_period_ha @contact.created_at = Time.zone.parse('2010-07-05 00:00:00') travel_to Time.zone.parse('2010-07-05 00:00:01') - DomainVersion.stub(:was_contact_linked?, false) do + Version::DomainVersion.stub(:was_contact_linked?, false) do assert @contact.archivable? end end @@ -28,14 +28,14 @@ def test_contact_is_not_archivable_when_it_was_never_linked_and_inactivity_perio @contact.created_at = Time.zone.parse('2010-07-05') travel_to Time.zone.parse('2010-07-05') - DomainVersion.stub(:contact_unlinked_more_than?, false) do + Version::DomainVersion.stub(:contact_unlinked_more_than?, false) do assert_not @contact.archivable? end end def test_contact_is_not_archivable_when_it_was_ever_linked_but_linked_within_inactivity_period - DomainVersion.stub(:was_contact_linked?, true) do - DomainVersion.stub(:contact_unlinked_more_than?, false) do + Version::DomainVersion.stub(:was_contact_linked?, true) do + Version::DomainVersion.stub(:contact_unlinked_more_than?, false) do assert_not @contact.archivable? end end @@ -73,7 +73,7 @@ def test_sends_poll_msg_to_registrar_after_archivation def archivable_contact contact = contacts(:john) Setting.orphans_contacts_in_months = 0 - DomainVersion.delete_all + Version::DomainVersion.delete_all other_contact = contacts(:william) assert_not_equal other_contact, contact diff --git a/test/models/registrant_verification_test.rb b/test/models/registrant_verification_test.rb index ef40387842..a8707fd854 100644 --- a/test/models/registrant_verification_test.rb +++ b/test/models/registrant_verification_test.rb @@ -15,7 +15,7 @@ def test_audit_log registrant_verification = registrant_verifications(:one) random_action = "random#{rand(100)}" - assert_difference -> { RegistrantVerificationVersion.count } do + assert_difference -> { Version::RegistrantVerificationVersion.count } do registrant_verification.update_attributes!(action: random_action) end end @@ -23,11 +23,11 @@ def test_audit_log def test_reject_changes @registrant_verification = RegistrantVerification.new(domain_id: @domain.id, verification_token: @token) - start_versions_count = RegistrantVerificationVersion.count + start_versions_count = Version::RegistrantVerificationVersion.count assert_nothing_raised do @registrant_verification.domain_registrant_change_reject!("email link, #{@initiator}") end - assert_equal RegistrantVerificationVersion.count, start_versions_count + 1 + assert_equal Version::RegistrantVerificationVersion.count, start_versions_count + 1 end end diff --git a/test/models/version/domain_version_test.rb b/test/models/version/domain_version_test.rb index 719fcf3ba1..be8b020c4a 100644 --- a/test/models/version/domain_version_test.rb +++ b/test/models/version/domain_version_test.rb @@ -11,7 +11,7 @@ def test_was_contact_linked_returns_true_when_contact_was_used_as_registrant tech_contacts: [], registrant: [@contact.id] }) - assert DomainVersion.was_contact_linked?(@contact.id) + assert Version::DomainVersion.was_contact_linked?(@contact.id) end def test_was_contact_linked_returns_true_when_contact_was_used_as_admin_contact @@ -19,7 +19,7 @@ def test_was_contact_linked_returns_true_when_contact_was_used_as_admin_contact tech_contacts: [], registrant: [] }) - assert DomainVersion.was_contact_linked?(@contact.id) + assert Version::DomainVersion.was_contact_linked?(@contact.id) end def test_was_contact_linked_returns_true_when_contact_was_used_as_tech_contact @@ -27,7 +27,7 @@ def test_was_contact_linked_returns_true_when_contact_was_used_as_tech_contact tech_contacts: [@contact.id], registrant: [] }) - assert DomainVersion.was_contact_linked?(@contact.id) + assert Version::DomainVersion.was_contact_linked?(@contact.id) end def test_was_contact_linked_returns_false_when_contact_was_not_used @@ -35,7 +35,7 @@ def test_was_contact_linked_returns_false_when_contact_was_not_used tech_contacts: [], registrant: [] }) - assert_not DomainVersion.was_contact_linked?(@contact.id) + assert_not Version::DomainVersion.was_contact_linked?(@contact.id) end def test_contact_unlinked_more_than_returns_true_when_contact_was_linked_as_registrant_more_than_given_period @@ -45,7 +45,7 @@ def test_contact_unlinked_more_than_returns_true_when_contact_was_linked_as_regi registrant: [@contact.id] }) travel_to Time.zone.parse('2010-07-05 00:00:01') - assert DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_unlinked_more_than_given_period_as_admin_contact @@ -55,7 +55,7 @@ def test_contact_unlinked_more_than_given_period_as_admin_contact registrant: [] }) travel_to Time.zone.parse('2010-07-05 00:00:01') - assert DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_unlinked_more_than_given_period_as_tech_contact @@ -65,7 +65,7 @@ def test_contact_unlinked_more_than_given_period_as_tech_contact registrant: [] }) travel_to Time.zone.parse('2010-07-05 00:00:01') - assert DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_linked_within_given_period_as_registrant @@ -75,7 +75,7 @@ def test_contact_linked_within_given_period_as_registrant registrant: [@contact.id] }) travel_to Time.zone.parse('2010-07-05') - assert_not DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert_not Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_linked_within_given_period_as_admin_contact @@ -85,7 +85,7 @@ def test_contact_linked_within_given_period_as_admin_contact registrant: [] }) travel_to Time.zone.parse('2010-07-05') - assert_not DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert_not Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_linked_within_given_period_as_tech_contact @@ -95,11 +95,11 @@ def test_contact_linked_within_given_period_as_tech_contact registrant: [] }) travel_to Time.zone.parse('2010-07-05') - assert_not DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + assert_not Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end def test_contact_was_never_linked - DomainVersion.delete_all - assert_not DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) + Version::DomainVersion.delete_all + assert_not Version::DomainVersion.contact_unlinked_more_than?(contact_id: @contact.id, period: 1.day) end end diff --git a/test/tasks/contacts/archive_test.rb b/test/tasks/contacts/archive_test.rb index eebfa7b688..f5ecff0923 100644 --- a/test/tasks/contacts/archive_test.rb +++ b/test/tasks/contacts/archive_test.rb @@ -14,7 +14,7 @@ def test_archives_inactive_contacts def archivable_contact contact = contacts(:john) Setting.orphans_contacts_in_months = 0 - DomainVersion.delete_all + Version::DomainVersion.delete_all other_contact = contacts(:william) assert_not_equal other_contact, contact diff --git a/test/test_helper.rb b/test/test_helper.rb index a1634f7177..fe20f7a6ec 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -42,7 +42,7 @@ def representation_rights(citizen_personal_code:, citizen_country_code:) class ActiveSupport::TestCase ActiveRecord::Migration.check_pending! fixtures :all - set_fixture_class log_domains: DomainVersion + set_fixture_class log_domains: Version::DomainVersion teardown do travel_back