fixed codeclimate errors

This commit is contained in:
dinsmol 2021-09-09 13:06:51 +03:00
parent f4e0084895
commit e7e3278267
44 changed files with 118 additions and 150 deletions

View file

@ -44,6 +44,7 @@ class ApiUser < User
after_initialize :set_defaults
def set_defaults
return unless new_record?
self.active = true unless saved_change_to_active?
end
@ -76,7 +77,7 @@ class ApiUser < User
end
def linked_with?(another_api_user)
another_api_user.identity_code == self.identity_code
another_api_user.identity_code == identity_code
end
private

View file

@ -1,7 +1,7 @@
module Billing
class ReferenceNo
REGEXP = /\A\d{2,20}\z/.freeze
MULTI_REGEXP = /(\d{2,20})/.freeze
REGEXP = /\A\d{2,20}\z/
MULTI_REGEXP = /(\d{2,20})/
def self.generate
base = Base.generate

View file

@ -8,7 +8,7 @@ class BlockedDomain < ApplicationRecord
class << self
def by_domain name
def by_domain(name)
where(name: name)
end
end
@ -29,7 +29,7 @@ class BlockedDomain < ApplicationRecord
def generate_json
h = HashWithIndifferentAccess.new
h[:name] = self.name
h[:name] = name
h[:status] = ['Blocked']
h
end

View file

@ -67,9 +67,7 @@ class Certificate < ApplicationRecord
@cached_status = SIGNED
if parsed_crt.not_before > Time.zone.now.utc && parsed_crt.not_after < Time.zone.now.utc
@cached_status = EXPIRED
end
@cached_status = EXPIRED if parsed_crt.not_before > Time.zone.now.utc && parsed_crt.not_after < Time.zone.now.utc
crl = OpenSSL::X509::CRL.new(File.open("#{ENV['crl_dir']}/crl.pem").read)
return @cached_status unless crl.revoked.map(&:serial).include?(parsed_crt.serial)
@ -104,7 +102,7 @@ class Certificate < ApplicationRecord
end
logger.error(err)
puts "Certificate sign issue: #{err.inspect}" if Rails.env.test?
return false
false
end
end

View file

@ -1,3 +1,3 @@
class CertificationRequest
extend ActiveModel::Translation
end
end

View file

@ -16,9 +16,7 @@ module Contact::Archivable
end
def archive(verified: false, notify: true, extra_log: false)
unless verified
raise 'Contact cannot be archived' unless archivable?(post: true)
end
raise 'Contact cannot be archived' if !verified && !archivable?(post: true)
notify_registrar_about_archivation if notify
write_to_registrar_log if extra_log
@ -35,9 +33,7 @@ module Contact::Archivable
end
def inactive?
if Version::DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period)
return true
end
return true if Version::DomainVersion.contact_unlinked_more_than?(contact_id: id, period: inactivity_period)
Version::DomainVersion.was_contact_linked?(id) ? false : created_at <= inactivity_period.ago
end

View file

@ -22,9 +22,7 @@ module Domain::Expirable
def expirable?
return false if expire_time > Time.zone.now
if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_date.present?
return false
end
return false if statuses.include?(DomainStatus::EXPIRED) && outzone_at.present? && delete_date.present?
true
end

View file

@ -16,10 +16,8 @@ module Domain::ForceDelete
where("(force_delete_data->>'contact_notification_sent_date') is null")
}
HOLD_STATUSES = [
DomainStatus::SERVER_HOLD,
DomainStatus::CLIENT_HOLD,
].freeze
HOLD_STATUSES = [DomainStatus::SERVER_HOLD,
DomainStatus::CLIENT_HOLD].freeze
end
class_methods do

View file

@ -121,7 +121,7 @@ module EppErrors
err = { code: code, msg: t }
val = check_for_status(code, obj, val)
err[:value] = { val: val, obj: obj } if val.present?
self.errors.add(:epp_errors, **err)
errors.add(:epp_errors, **err)
end
def check_for_status(code, obj, val)

View file

@ -5,26 +5,25 @@ module UserEvents
# 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)
registrar = creator.try(:registrar)
if registrar.present? # Did creator return a kind of User that has a registrar?
registrar.code
else
if self.versions.first.try(:object).nil?
changes = self.versions.first.try(:object_changes)
if versions.first.try(:object).nil?
changes = 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']
cr_registrar_id = 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 || self.registrar.code # Fallback
creator_str || self.registrar.code # Fallback
end
end
end
end
end

View file

@ -11,7 +11,7 @@ class Contact < ApplicationRecord
include Contact::Archivable
include EmailVerifable
belongs_to :original, class_name: self.name
belongs_to :original, class_name: name
belongs_to :registrar, required: true
has_many :domain_contacts
has_many :domains, through: :domain_contacts
@ -20,6 +20,7 @@ class Contact < ApplicationRecord
has_many :actions, dependent: :destroy
attr_accessor :legal_document_id
alias_attribute :kind, :ident_type
alias_attribute :copy_from_id, :original_id # Old attribute name; for PaperTrail
@ -29,7 +30,7 @@ class Contact < ApplicationRecord
}
NAME_REGEXP = /([\u00A1-\u00B3\u00B5-\u00BF\u0021-\u0026\u0028-\u002C\u003A-\u0040]|
[\u005B-\u005F\u007B-\u007E\u2040-\u206F\u20A0-\u20BF\u2100-\u218F])/x.freeze
[\u005B-\u005F\u007B-\u007E\u2040-\u206F\u20A0-\u20BF\u2100-\u218F])/x
validates :name, :email, presence: true
validates :name, format: { without: NAME_REGEXP, message: :invalid }, if: -> { priv? }

View file

@ -241,7 +241,7 @@ module Depp
ident = ident_xml[:_anonymus].try(:first)
when :update
# detect if any ident has changed, nb! ident and self.ident is not always same
unless ident == self.ident && ident == self.ident_type && ident_country_code == self.ident_country_code
unless ident == self.ident && ident == ident_type && ident_country_code == ident_country_code
ident = ident_xml[:_anonymus].try(:first)
end
end

View file

@ -11,7 +11,7 @@ module Depp
validate :validate_existance_in_server
def initialize(args = {})
args.each { |k, v| send("#{k.to_s}=", v) }
args.each { |k, v| send("#{k}=", v) }
end
def server

View file

@ -76,15 +76,15 @@ class Dnskey < ApplicationRecord
def validate_flags
return if flags.blank?
return if FLAGS.include?(flags.to_s)
errors.add(:flags, :invalid, values: "Valid flags are: #{FLAGS.join(', ')}")
end
def generate_digest
return unless flags == 257 || flags == 256 # require ZoneFlag, but optional SecureEntryPoint
self.ds_alg = alg
if self.ds_digest_type.blank? || !DS_DIGEST_TYPE.include?(ds_digest_type)
self.ds_digest_type = Setting.ds_digest_type
end
self.ds_digest_type = Setting.ds_digest_type if ds_digest_type.blank? || !DS_DIGEST_TYPE.include?(ds_digest_type)
flags_hex = self.class.int_to_hex(flags)
protocol_hex = self.class.int_to_hex(protocol)
@ -93,7 +93,7 @@ class Dnskey < ApplicationRecord
hex = [domain.name_in_wire_format, flags_hex, protocol_hex, alg_hex, public_key_hex].join
bin = self.class.hex_to_bin(hex)
case self.ds_digest_type
case ds_digest_type
when 1
self.ds_digest = Digest::SHA1.hexdigest(bin).upcase
when 2
@ -113,11 +113,11 @@ class Dnskey < ApplicationRecord
c = 0
wire_format.each_byte.with_index do |b, i|
if i.even?
c += b << 8
else
c += b
end
c += if i.even?
b << 8
else
b
end
end
self.ds_key_tag = ((c & 0xFFFF) + (c >> 16)) & 0xFFFF
@ -150,21 +150,21 @@ class Dnskey < ApplicationRecord
end
class << self
def int_to_hex(s)
s = s.to_s(16)
s.prepend('0') if s.length.odd?
def int_to_hex(num)
num = num.to_s(16)
num.prepend('0') if num.length.odd?
end
def hex_to_bin(s)
s.scan(/../).map(&:hex).pack('c*')
def hex_to_bin(num)
num.scan(/../).map(&:hex).pack('c*')
end
def bin_to_hex(s)
s.each_byte.map { |b| format('%02X', b) }.join
def bin_to_hex(num)
num.each_byte.map { |b| format('%02X', b) }.join
end
def pub_key_base64?(pub)
return unless pub&.is_a?(String)
return unless pub.is_a?(String)
Base64.strict_encode64(Base64.strict_decode64(pub)) == pub
rescue ArgumentError

View file

@ -121,10 +121,8 @@ class Domain < ApplicationRecord
validate :status_is_consistant
def status_is_consistant
has_error = (hold_status? && statuses.include?(DomainStatus::SERVER_MANUAL_INZONE))
unless has_error
if (statuses & DELETE_STATUSES).any?
has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
end
if !has_error && (statuses & DELETE_STATUSES).any?
has_error = statuses.include? DomainStatus::SERVER_DELETE_PROHIBITED
end
errors.add(:domains, I18n.t(:object_status_prohibits_operation)) if has_error
end
@ -345,10 +343,10 @@ class Domain < ApplicationRecord
# find by internationalized domain name
# internet domain name => ascii or puny, but db::domains.name is unicode
def self.find_by_idn(name)
domain = self.find_by_name name
domain = find_by_name name
if domain.blank? && name.include?('-')
unicode = SimpleIDN.to_unicode name # we have no index on domains.name_puny
domain = self.find_by_name unicode
domain = find_by_name unicode
end
domain
end
@ -381,9 +379,7 @@ class Domain < ApplicationRecord
return true unless Setting.days_to_renew_domain_before_expire != 0
# if you can renew domain at days_to_renew before domain expiration
if (expire_time.to_date - Time.zone.today) + 1 > Setting.days_to_renew_domain_before_expire
return false
end
return false if (expire_time.to_date - Time.zone.today) + 1 > Setting.days_to_renew_domain_before_expire
true
end
@ -592,14 +588,14 @@ class Domain < ApplicationRecord
statuses.each do |s|
unless update.include? s
case s
when DomainStatus::PENDING_DELETE
self.delete_date = nil
when DomainStatus::SERVER_MANUAL_INZONE # removal causes server hold to set
self.outzone_at = Time.zone.now if force_delete_scheduled?
when DomainStatus::EXPIRED # removal causes server hold to set
self.outzone_at = self.expire_time + 15.day
when DomainStatus::SERVER_HOLD # removal causes server hold to set
self.outzone_at = nil
when DomainStatus::PENDING_DELETE
self.delete_date = nil
when DomainStatus::SERVER_MANUAL_INZONE # removal causes server hold to set
self.outzone_at = Time.zone.now if force_delete_scheduled?
when DomainStatus::EXPIRED # removal causes server hold to set
self.outzone_at = expire_time + 15.day
when DomainStatus::SERVER_HOLD # removal causes server hold to set
self.outzone_at = nil
end
end
end

View file

@ -98,8 +98,8 @@ class Epp::Contact < Contact
return unless legal_document_data
legal_documents.create(
document_type: legal_document_data[:type],
body: legal_document_data[:body]
document_type: legal_document_data[:type],
body: legal_document_data[:body]
)
end
@ -108,9 +108,9 @@ class Epp::Contact < Contact
return unless legal_document_data
doc = LegalDocument.create(
documentable_type: Contact,
document_type: legal_document_data[:type],
body: legal_document_data[:body]
documentable_type: Contact,
document_type: legal_document_data[:type],
body: legal_document_data[:body]
)
self.legal_documents = [doc]

View file

@ -144,8 +144,8 @@ class Epp::Domain < Domain
return
end
if doc = attach_legal_document(::Deserializers::Xml::LegalDocument.new(frame).call)
frame.css("legalDocument").first.content = doc.path if doc&.persisted?
if doc = attach_legal_document(::Deserializers::Xml::LegalDocument.new(frame).call) && doc&.persisted?
frame.css("legalDocument").first.content = doc.path
end
if Setting.request_confirmation_on_domain_deletion_enabled &&
@ -325,11 +325,13 @@ class Epp::Domain < Domain
return false
end
begin
errors.add(:base, :domain_status_prohibits_operation)
return false
end if (statuses &
if (statuses &
[DomainStatus::CLIENT_DELETE_PROHIBITED, DomainStatus::SERVER_DELETE_PROHIBITED]).any?
begin
errors.add(:base, :domain_status_prohibits_operation)
return false
end
end
true
end

View file

@ -2,4 +2,4 @@ class Iban
def self.max_length
34
end
end
end

View file

@ -16,7 +16,7 @@ class Invoice < ApplicationRecord
scope :all_columns, -> { select("invoices.*") }
scope :sort_due_date_column, -> { all_columns.select("CASE WHEN invoices.cancelled_at is not null THEN
(invoices.cancelled_at + interval '100 year') ELSE
invoices.due_date END AS sort_due_date")}
invoices.due_date END AS sort_due_date") }
scope :sort_by_sort_due_date_asc, -> { sort_due_date_column.order("sort_due_date ASC") }
scope :sort_by_sort_due_date_desc, -> { sort_due_date_column.order("sort_due_date DESC") }
scope :sort_receipt_date_column, -> { all_columns.includes(:account_activity).references(:account_activity).select(%Q{
@ -91,8 +91,8 @@ class Invoice < ApplicationRecord
read_attribute(:total)
end
def each
items.each { |item| yield item }
def each(&block)
items.each(&block)
end
def as_pdf

View file

@ -8,7 +8,7 @@ class User < ApplicationRecord
self.ignored_columns = %w[legacy_id]
def id_role_username
"#{self.id}-#{self.class}: #{self.username}"
"#{id}-#{self.class}: #{username}"
end
def self.from_omniauth(omniauth_hash)

View file

@ -54,12 +54,8 @@ class WhiteIp < ApplicationRecord
def ids_including(ip)
ipv4 = ipv6 = []
if check_ip4(ip).present?
ipv4 = select { |white_ip| check_ip4(white_ip.ipv4) === check_ip4(ip) }
end
if check_ip6(ip).present?
ipv6 = select { |white_ip| check_ip6(white_ip.ipv6) === check_ip6(ip) }
end
ipv4 = select { |white_ip| check_ip4(white_ip.ipv4) === check_ip4(ip) } if check_ip4(ip).present?
ipv6 = select { |white_ip| check_ip6(white_ip.ipv6) === check_ip6(ip) } if check_ip6(ip).present?
(ipv4 + ipv6).pluck(:id).flatten.uniq
end
# rubocop:enable Style/CaseEquality