From 62d1ba45a20af5d8481ca37ae873044832596622 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Fri, 3 Sep 2021 16:12:16 +0300 Subject: [PATCH 1/6] fixed ArgumentError --- app/controllers/repp/v1/base_controller.rb | 2 +- app/controllers/repp/v1/contacts_controller.rb | 2 +- app/interactions/domains/bulk_renew/single_domain_renew.rb | 4 +--- app/jobs/domain_expire_email_job.rb | 6 +++--- app/models/epp/domain.rb | 2 +- app/validators/domain_nameserver_validator.rb | 2 +- app/validators/object_count_validator.rb | 2 +- lib/gem_monkey_patches/i18n.rb | 2 +- 8 files changed, 10 insertions(+), 12 deletions(-) diff --git a/app/controllers/repp/v1/base_controller.rb b/app/controllers/repp/v1/base_controller.rb index 37d4b95be..c29f2137f 100644 --- a/app/controllers/repp/v1/base_controller.rb +++ b/app/controllers/repp/v1/base_controller.rb @@ -74,7 +74,7 @@ module Repp render_epp_error end - def render_epp_error(status = :bad_request, data = {}) + def render_epp_error(status = :bad_request, **data) @epp_errors ||= ActiveModel::Errors.new(self) @epp_errors.add(:epp_errors, msg: 'Command failed', code: '2304') if data != {} diff --git a/app/controllers/repp/v1/contacts_controller.rb b/app/controllers/repp/v1/contacts_controller.rb index 92f89a160..652df706d 100644 --- a/app/controllers/repp/v1/contacts_controller.rb +++ b/app/controllers/repp/v1/contacts_controller.rb @@ -43,7 +43,7 @@ module Repp return end - render_success(create_update_success_body) + render_success(**create_update_success_body) end api :PUT, '/repp/v1/contacts/:contact_code' diff --git a/app/interactions/domains/bulk_renew/single_domain_renew.rb b/app/interactions/domains/bulk_renew/single_domain_renew.rb index 5ae3826cd..a0df129b6 100644 --- a/app/interactions/domains/bulk_renew/single_domain_renew.rb +++ b/app/interactions/domains/bulk_renew/single_domain_renew.rb @@ -11,9 +11,7 @@ module Domains renewed_expire_time = prepare_renewed_expire_time in_transaction_with_retries do check_balance - success = domain.renew(renewed_expire_time: renewed_expire_time, - period: period, - unit: unit) + success = domain.renew(renewed_expire_time, period, unit) if success check_balance reduce_balance diff --git a/app/jobs/domain_expire_email_job.rb b/app/jobs/domain_expire_email_job.rb index 1aad4aed9..bb6e69c08 100644 --- a/app/jobs/domain_expire_email_job.rb +++ b/app/jobs/domain_expire_email_job.rb @@ -8,13 +8,13 @@ class DomainExpireEmailJob < ApplicationJob attrs = { domain: domain, registrar: domain.registrar, - email: email, + email: email } if domain.force_delete_scheduled? - DomainExpireMailer.expired_soft(attrs).deliver_now + DomainExpireMailer.expired_soft(**attrs).deliver_now else - DomainExpireMailer.expired(attrs).deliver_now + DomainExpireMailer.expired(**attrs).deliver_now end end end diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 0b3f1ad7f..ad4e3c34e 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -173,7 +173,7 @@ class Epp::Domain < Domain ### RENEW ### - def renew(renewed_expire_time:, period:, unit:) + def renew(renewed_expire_time, period, unit) @is_renewal = true add_renew_epp_errors unless renewable? diff --git a/app/validators/domain_nameserver_validator.rb b/app/validators/domain_nameserver_validator.rb index 55ceb1c96..9603b924e 100644 --- a/app/validators/domain_nameserver_validator.rb +++ b/app/validators/domain_nameserver_validator.rb @@ -7,6 +7,6 @@ class DomainNameserverValidator < ActiveModel::EachValidator return if values.size.between?(min, max) association = options[:association] || attribute - record.errors.add(association, :out_of_range, { min: min, max: max }) + record.errors.add(association, :out_of_range, **{ min: min, max: max }) end end diff --git a/app/validators/object_count_validator.rb b/app/validators/object_count_validator.rb index d2d880fea..01d6a55f8 100644 --- a/app/validators/object_count_validator.rb +++ b/app/validators/object_count_validator.rb @@ -5,6 +5,6 @@ class ObjectCountValidator < ActiveModel::EachValidator return if values.size.between?(min, max) association = options[:association] || attribute - record.errors.add(association, :out_of_range, { min: min, max: max }) + record.errors.add(association, :out_of_range, **{ min: min, max: max }) end end diff --git a/lib/gem_monkey_patches/i18n.rb b/lib/gem_monkey_patches/i18n.rb index 7d0613247..194a11733 100644 --- a/lib/gem_monkey_patches/i18n.rb +++ b/lib/gem_monkey_patches/i18n.rb @@ -6,7 +6,7 @@ module I18n def localize(object, options = {}) options.merge!({ default: '-' }) - object.present? ? original_localize(object, options) : '' + object.present? ? original_localize(object, **options) : '' end end end From 6eeba2b3abf5b58dda84e6e5e92b949bbebc36be Mon Sep 17 00:00:00 2001 From: dinsmol Date: Mon, 6 Sep 2021 15:23:35 +0300 Subject: [PATCH 2/6] fixed ruby 3 support errors --- Dockerfile | 2 +- app/controllers/epp/base_controller.rb | 4 ++-- app/controllers/repp/v1/contacts_controller.rb | 2 +- app/models/concerns/epp_errors.rb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 97b0452e1..9c46182a3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM internetee/ruby:2.7-buster +FROM internetee/ruby:3.0-buster RUN mkdir -p /opt/webapps/app/tmp/pids WORKDIR /opt/webapps/app diff --git a/app/controllers/epp/base_controller.rb b/app/controllers/epp/base_controller.rb index 4e9c7e9cf..b8f225150 100644 --- a/app/controllers/epp/base_controller.rb +++ b/app/controllers/epp/base_controller.rb @@ -104,8 +104,8 @@ module Epp render_epp_response '/epp/error' end - def render_epp_response(*args) - @response = render_to_string(*args, formats: [:xml]) + def render_epp_response(template) + @response = render_to_string(template, formats: [:xml]) render xml: @response write_to_epp_log end diff --git a/app/controllers/repp/v1/contacts_controller.rb b/app/controllers/repp/v1/contacts_controller.rb index 652df706d..cc4dc7561 100644 --- a/app/controllers/repp/v1/contacts_controller.rb +++ b/app/controllers/repp/v1/contacts_controller.rb @@ -58,7 +58,7 @@ module Repp return end - render_success(create_update_success_body) + render_success(**create_update_success_body) end api :DELETE, '/repp/v1/contacts/:contact_code' diff --git a/app/models/concerns/epp_errors.rb b/app/models/concerns/epp_errors.rb index 90d742609..dc5a4d452 100644 --- a/app/models/concerns/epp_errors.rb +++ b/app/models/concerns/epp_errors.rb @@ -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) + self.errors.add(:epp_errors, **err) end def check_for_status(code, obj, val) From 87a3143823c0a6f0fddc5fbb52d09a06df6c858d Mon Sep 17 00:00:00 2001 From: dinsmol Date: Mon, 6 Sep 2021 16:26:36 +0300 Subject: [PATCH 3/6] rolled back unneeded changes --- app/controllers/epp/base_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/epp/base_controller.rb b/app/controllers/epp/base_controller.rb index b8f225150..4e9c7e9cf 100644 --- a/app/controllers/epp/base_controller.rb +++ b/app/controllers/epp/base_controller.rb @@ -104,8 +104,8 @@ module Epp render_epp_response '/epp/error' end - def render_epp_response(template) - @response = render_to_string(template, formats: [:xml]) + def render_epp_response(*args) + @response = render_to_string(*args, formats: [:xml]) render xml: @response write_to_epp_log end From 0ede3c7376124b061b20560c15ff547a201ec541 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Tue, 7 Sep 2021 09:05:33 +0300 Subject: [PATCH 4/6] fixed codeclimate error --- app/jobs/domain_expire_email_job.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/jobs/domain_expire_email_job.rb b/app/jobs/domain_expire_email_job.rb index bb6e69c08..11bd41047 100644 --- a/app/jobs/domain_expire_email_job.rb +++ b/app/jobs/domain_expire_email_job.rb @@ -8,7 +8,7 @@ class DomainExpireEmailJob < ApplicationJob attrs = { domain: domain, registrar: domain.registrar, - email: email + email: email, } if domain.force_delete_scheduled? From c7d167ef98b7afa0a6de668e2e4cb267e5335ade Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Tue, 7 Sep 2021 12:20:18 +0500 Subject: [PATCH 5/6] Add auto-tests for ruby 3.0 --- .github/workflows/ruby.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 1a986169e..4ff7d7e6f 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-18.04] - ruby: [ 2.7 ] + ruby: [ 2.7, 3.0 ] runs-on: ${{ matrix.os }} continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }} steps: @@ -85,6 +85,10 @@ jobs: path: coverage/codeclimate.${{ matrix.ruby }}.json upload_coverage: + strategy: + fail-fast: false + matrix: + ruby: [ 2.7, 3.0 ] runs-on: ubuntu-18.04 env: @@ -102,7 +106,7 @@ jobs: - uses: actions/download-artifact@v2.0.10 with: - name: coverage-2.7 + name: coverage-${{ matrix.ruby }} path: coverage - name: Aggregate & upload results to Code Climate From cc14d312b728efc0cff69b99a2eb28496c5b1165 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Tue, 7 Sep 2021 10:49:02 +0300 Subject: [PATCH 6/6] fixed test --- test/system/admin_area/bank_statement_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/system/admin_area/bank_statement_test.rb b/test/system/admin_area/bank_statement_test.rb index 8630049dc..1405081e2 100644 --- a/test/system/admin_area/bank_statement_test.rb +++ b/test/system/admin_area/bank_statement_test.rb @@ -10,7 +10,7 @@ class AdminAreaBankStatementTest < ApplicationSystemTestCase def test_update_bank_statement visit admin_bank_statement_path(id: @invoice.id) - + click_link_or_button 'Add' fill_in 'Description', with: 'Invoice with id 123' @@ -55,7 +55,7 @@ class AdminAreaBankStatementTest < ApplicationSystemTestCase def test_can_bind_statement_transactions registrar = registrars(:bestnames) - registrar.issue_prepayment_invoice(amount: 500) + registrar.issue_prepayment_invoice(500) invoice = registrar.invoices.last create_bank_statement