From 1d5c46e6a09f6ed96f9b28725de9629b01c08d99 Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Wed, 6 Jan 2021 15:33:02 +0500 Subject: [PATCH] Move ToStdout to /app/lib folder and include it in app.rb --- app/{models/concerns => lib}/to_stdout.rb | 6 ++---- app/models/concerns/domain/releasable.rb | 6 +++--- app/models/dns/domain_name.rb | 7 +++---- app/models/domain.rb | 1 - app/models/whois/record.rb | 7 +++---- config/application.rb | 2 ++ 6 files changed, 13 insertions(+), 16 deletions(-) rename app/{models/concerns => lib}/to_stdout.rb (57%) diff --git a/app/models/concerns/to_stdout.rb b/app/lib/to_stdout.rb similarity index 57% rename from app/models/concerns/to_stdout.rb rename to app/lib/to_stdout.rb index 2a01ee668..eeab82c15 100644 --- a/app/models/concerns/to_stdout.rb +++ b/app/lib/to_stdout.rb @@ -1,7 +1,5 @@ -module ToStdout - extend ActiveSupport::Concern - - def to_stdout(message) +class ToStdout + def self.msg(message) time = Time.zone.now.utc STDOUT << "#{time} - #{message}\n" unless Rails.env.test? end diff --git a/app/models/concerns/domain/releasable.rb b/app/models/concerns/domain/releasable.rb index 51e1a6f1c..0a17b062a 100644 --- a/app/models/concerns/domain/releasable.rb +++ b/app/models/concerns/domain/releasable.rb @@ -39,12 +39,12 @@ module Concerns def release if release_to_auction - to_stdout 'Destroying domain' + ToStdout.msg 'Destroying domain' destroy! - to_stdout "Checking if domain_name is auctionable: #{domain_name.auctionable?}" + ToStdout.msg "Checking if domain_name is auctionable: #{domain_name.auctionable?}" domain_name.sell_at_auction if domain_name.auctionable? - to_stdout 'Sending registrar notification' + ToStdout.msg 'Sending registrar notification' registrar.notifications.create!(text: "#{I18n.t(:domain_deleted)}: #{name}", attached_obj_id: id, attached_obj_type: self.class) diff --git a/app/models/dns/domain_name.rb b/app/models/dns/domain_name.rb index 0daa7bbae..1e9cd6587 100644 --- a/app/models/dns/domain_name.rb +++ b/app/models/dns/domain_name.rb @@ -2,7 +2,6 @@ module DNS # Namespace is needed, because a class with the same name is defined by `domain_name` gem, # a dependency of `actionmailer`, class DomainName - include ToStdout def initialize(name) @name = name end @@ -37,7 +36,7 @@ module DNS auction = Auction.new auction.domain = name auction.start - to_stdout "Created the auction: #{auction.inspect}" + ToStdout.msg "Created the auction: #{auction.inspect}" update_whois_from_auction(auction) end @@ -102,8 +101,8 @@ module DNS whois_record = Whois::Record.find_or_create_by!(name: name) do |record| record.json = {} end - to_stdout "Starting to update WHOIS record #{whois_record.inspect}\n\n"\ - "from auction #{auction.inspect}" + ToStdout.msg "Starting to update WHOIS record #{whois_record.inspect}\n\n"\ + "from auction #{auction.inspect}" whois_record.update_from_auction(auction) end end diff --git a/app/models/domain.rb b/app/models/domain.rb index 34a8c26ff..589a0b661 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -10,7 +10,6 @@ class Domain < ApplicationRecord include Concerns::Domain::RegistryLockable include Concerns::Domain::Releasable include Concerns::Domain::Disputable - include ToStdout attr_accessor :roles diff --git a/app/models/whois/record.rb b/app/models/whois/record.rb index b4f70c28f..1501381a3 100644 --- a/app/models/whois/record.rb +++ b/app/models/whois/record.rb @@ -1,6 +1,5 @@ module Whois class Record < Whois::Server - include ToStdout self.table_name = 'whois_records' def self.disclaimer @@ -13,16 +12,16 @@ module Whois update!(json: { name: auction.domain, status: ['AtAuction'], disclaimer: self.class.disclaimer }) - to_stdout "Updated from auction WHOIS record #{inspect}" + ToStdout.msg "Updated from auction WHOIS record #{inspect}" elsif auction.no_bids? - to_stdout "Destroying WHOIS record #{inspect}" + ToStdout.msg "Destroying WHOIS record #{inspect}" destroy! elsif auction.awaiting_payment? || auction.payment_received? update!(json: { name: auction.domain, status: ['PendingRegistration'], disclaimer: self.class.disclaimer, registration_deadline: auction.whois_deadline }) - to_stdout "Updated from auction WHOIS record #{inspect}" + ToStdout.msg "Updated from auction WHOIS record #{inspect}" end end # rubocop:enable Metrics/AbcSize diff --git a/config/application.rb b/config/application.rb index a5fb17c9d..014c03269 100644 --- a/config/application.rb +++ b/config/application.rb @@ -36,8 +36,10 @@ module DomainNameRegistry # 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.eager_load_paths << config.root.join('lib', 'validators') + config.eager_load_paths << config.root.join('app', 'lib') config.watchable_dirs['lib'] = %i[rb] config.active_record.schema_format = :sql