diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3a08b23ba4e..82dbf1af022 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -393,66 +393,6 @@ Rails/UniqueValidationWithoutIndex: - 'app/models/invalid_letter_address_edipi.rb' - 'modules/va_forms/app/models/va_forms/form.rb' -# Offense count: 3 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: AllowedReceivers. -# AllowedReceivers: params -Style/CollectionCompact: - Exclude: - - 'lib/saml/user_attributes/ssoe.rb' - -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/ConcatArrayLiterals: - Exclude: - - 'spec/factories/form526_submissions.rb' - -# Offense count: 31 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowedVars. -Style/FetchEnvVar: - Exclude: - - 'rakelib/breakers_outage.rake' - - 'rakelib/mvi.rake' - - 'rakelib/vet360.rake' - - 'spec/rails_helper.rb' - - 'spec/support/rswag/text_helpers.rb' - -# Offense count: 8 -# This cop supports safe autocorrection (--autocorrect). -Style/FileRead: - Exclude: - - 'app/sidekiq/evss/disability_compensation_form/evss_document.rb' - - 'app/sidekiq/evss/disability_compensation_form/submit_form0781.rb' - - 'modules/dhp_connected_devices/app/services/token_storage_service.rb' - - 'modules/mobile/lib/scripts/appointments_list_validation.rb' - - 'modules/vba_documents/spec/lib/multipart_parser_spec.rb' - - 'modules/vba_documents/spec/models/upload_file_spec.rb' - - 'modules/vba_documents/spec/sidekiq/upload_processor_spec.rb' - - 'spec/lib/hca/service_spec.rb' - -# Offense count: 12 -# This cop supports safe autocorrection (--autocorrect). -Style/FileWrite: - Exclude: - - 'lib/common/file_helpers.rb' - - 'lib/sftp_writer/local.rb' - - 'modules/claims_api/app/models/claims_api/power_of_attorney.rb' - - 'modules/dhp_connected_devices/app/services/token_storage_service.rb' - - 'modules/mobile/app/services/mobile/v0/claims/proxy.rb' - - 'rakelib/mockdata_synchronize.rake' - - 'rakelib/mvi.rake' - - 'spec/lib/tasks/support/schema_camelizer_spec.rb' - - 'spec/rswag_override.rb' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: AllowedReceivers. -# AllowedReceivers: Thread.current -Style/HashEachMethods: - Exclude: - - 'lib/common/hash_helpers.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Style/HashExcept: diff --git a/app/sidekiq/evss/disability_compensation_form/evss_document.rb b/app/sidekiq/evss/disability_compensation_form/evss_document.rb index 2c4dad15388..80fec1fda01 100644 --- a/app/sidekiq/evss/disability_compensation_form/evss_document.rb +++ b/app/sidekiq/evss/disability_compensation_form/evss_document.rb @@ -13,7 +13,7 @@ class EVSSDocument # @return [String] the contents of the file # def file_body - File.open(@pdf_path).read + File.read(@pdf_path) end # @return [EVSSClaimDocument] A new claim document instance diff --git a/app/sidekiq/evss/disability_compensation_form/submit_form0781.rb b/app/sidekiq/evss/disability_compensation_form/submit_form0781.rb index c7cd83d69c3..f3c80132ebb 100644 --- a/app/sidekiq/evss/disability_compensation_form/submit_form0781.rb +++ b/app/sidekiq/evss/disability_compensation_form/submit_form0781.rb @@ -248,7 +248,7 @@ def upload_to_vbms(pdf_path, form_id) raise Common::Exceptions::ValidationErrors, document_data unless document_data.valid? # thin wrapper to isolate upload for logging - file_body = File.open(pdf_path).read + file_body = File.read(pdf_path) perform_client_upload(file_body, document_data, form_id) ensure # Delete the temporary PDF file diff --git a/lib/common/file_helpers.rb b/lib/common/file_helpers.rb index 562aa36601a..539e85760ba 100644 --- a/lib/common/file_helpers.rb +++ b/lib/common/file_helpers.rb @@ -15,9 +15,7 @@ def random_file_path def generate_random_file(file_body) file_path = random_file_path - File.open(file_path, 'wb') do |file| - file.write(file_body) - end + File.binwrite(file_path, file_body) file_path end @@ -31,9 +29,7 @@ def generate_clamav_temp_file(file_body, file_name = nil) file_path = "clamav_tmp/#{file_name}" - File.open(file_path, 'wb') do |file| - file.write(file_body) - end + File.binwrite(file_path, file_body) file_path end diff --git a/lib/saml/user_attributes/ssoe.rb b/lib/saml/user_attributes/ssoe.rb index 8b7e3b769c3..30b75b4e14e 100644 --- a/lib/saml/user_attributes/ssoe.rb +++ b/lib/saml/user_attributes/ssoe.rb @@ -251,7 +251,7 @@ def safe_attr(key) def mhv_iens mhv_iens = mvi_ids[:mhv_iens] || [] - mhv_iens.append(safe_attr('va_eauth_mhvuuid')).reject(&:nil?).uniq + mhv_iens.append(safe_attr('va_eauth_mhvuuid')).compact.uniq end def mhv_outbound_redirect(mismatched_ids_error) @@ -284,7 +284,7 @@ def sec_id_mismatch? def attribute_has_multiple_values?(attribute) var = safe_attr(attribute)&.split(',') || [] - var.reject(&:nil?).uniq.size > 1 + var.compact.uniq.size > 1 end def csid diff --git a/lib/sftp_writer/local.rb b/lib/sftp_writer/local.rb index 914728d3657..7c4efb0a1d0 100644 --- a/lib/sftp_writer/local.rb +++ b/lib/sftp_writer/local.rb @@ -18,9 +18,7 @@ def write_path(_filename) def write(contents, filename) path = File.join(write_path(filename), filename) FileUtils.mkdir_p(File.dirname(path)) - File.open(path, 'wb') do |f| - f.write(contents) - end + File.binwrite(path, contents) end end end diff --git a/modules/claims_api/app/models/claims_api/power_of_attorney.rb b/modules/claims_api/app/models/claims_api/power_of_attorney.rb index e14157d0ebe..77b0a6e10d8 100644 --- a/modules/claims_api/app/models/claims_api/power_of_attorney.rb +++ b/modules/claims_api/app/models/claims_api/power_of_attorney.rb @@ -125,9 +125,7 @@ def signature_image_paths def create_signature_image(signature_type) path = "/tmp/#{signature_type}_#{id}_signature.png" - File.open(path, 'wb') do |f| - f.write(Base64.decode64(form_data.dig('signatures', signature_type))) - end + File.binwrite(path, Base64.decode64(form_data.dig('signatures', signature_type))) signature_image_paths[signature_type] = path end diff --git a/modules/dhp_connected_devices/app/services/token_storage_service.rb b/modules/dhp_connected_devices/app/services/token_storage_service.rb index 33d44574a0d..76d5815b07d 100644 --- a/modules/dhp_connected_devices/app/services/token_storage_service.rb +++ b/modules/dhp_connected_devices/app/services/token_storage_service.rb @@ -170,9 +170,7 @@ def store_locally(current_user, device_key, payload_json) begin dirname = File.dirname(token_file_path) FileUtils.mkdir_p(dirname) unless File.directory?(dirname) - File.open(token_file_path, 'w+') do |file| - file.write(payload_json) - end + File.write(token_file_path, payload_json) true rescue => e raise TokenStorageError, "Error with storing locally: #{payload_json}, #{e}" @@ -187,7 +185,7 @@ def store_locally(current_user, device_key, payload_json) def get_locally(current_user, device_key) token_file_path = token_file_path(generate_prefix(current_user, device_key)) begin - token = File.open(token_file_path, 'r').read + token = File.read(token_file_path) JSON.parse(token).deep_symbolize_keys! rescue => e raise TokenRetrievalError, "Error retrieving token locally for icn: #{current_user.icn}, #{e}" diff --git a/modules/dhp_connected_devices/spec/services/dhp_connected_devices/token_storage_service_spec.rb b/modules/dhp_connected_devices/spec/services/dhp_connected_devices/token_storage_service_spec.rb index 1d9a24c5751..697cb9a1321 100644 --- a/modules/dhp_connected_devices/spec/services/dhp_connected_devices/token_storage_service_spec.rb +++ b/modules/dhp_connected_devices/spec/services/dhp_connected_devices/token_storage_service_spec.rb @@ -63,8 +63,7 @@ end it 'returns error when token was not stored locally' do - allow_any_instance_of(File).to receive(:write).with(any_args).and_raise(TokenStorageError) - allow_any_instance_of(File).to receive(:read).with(any_args).and_raise(TokenStorageError) + allow(File).to receive(:write).and_raise(Errno::ENOENT) expect { subject.store_tokens(current_user, @device_key, @token_hash) }.to raise_error(TokenStorageError) end @@ -158,12 +157,14 @@ end it 'returns token when token file is present in tmp folder' do - allow(File).to receive(:open).and_return(@token_as_string_io) + allow(File).to receive(:read).and_return(@token_json_with_payload_key) + expect(subject.get_token(current_user, @device_key)).to eq(@token_hash_with_payload_key) end it 'returns TokenRetrievalError when token file is not present' do - allow_any_instance_of(File).to receive(:read).with(any_args).and_raise(TokenRetrievalError) + allow(File).to receive(:read).and_raise(Errno::ENOENT) + expect { subject.get_token(current_user, @device_key) }.to raise_error(TokenRetrievalError) end end diff --git a/modules/mobile/app/services/mobile/v0/claims/proxy.rb b/modules/mobile/app/services/mobile/v0/claims/proxy.rb index 3fcbe912b8f..0342fd67615 100644 --- a/modules/mobile/app/services/mobile/v0/claims/proxy.rb +++ b/modules/mobile/app/services/mobile/v0/claims/proxy.rb @@ -165,7 +165,7 @@ def generate_multi_image_pdf(image_list) FileUtils.mkpath @base_path Prawn::Document.generate(pdf_path) do |pdf| image_list.each do |img| - File.open(img_path, 'wb') { |f| f.write Base64.decode64(img) } + File.binwrite(img_path, Base64.decode64(img)) img = MiniMagick::Image.open(img_path) if img.height > pdf.bounds.top || img.width > pdf.bounds.right pdf.image img_path, fit: [pdf.bounds.right, pdf.bounds.top] diff --git a/modules/mobile/lib/scripts/appointments_list_validation.rb b/modules/mobile/lib/scripts/appointments_list_validation.rb index 66d3f19c570..b59ca119d86 100644 --- a/modules/mobile/lib/scripts/appointments_list_validation.rb +++ b/modules/mobile/lib/scripts/appointments_list_validation.rb @@ -71,7 +71,7 @@ def read_text_files files = Dir["#{@path_to_html}/*.txt"] files.map do |file| puts "READING FILE: #{file}" - File.open(file).read + File.read(file) end end diff --git a/modules/vba_documents/spec/lib/multipart_parser_spec.rb b/modules/vba_documents/spec/lib/multipart_parser_spec.rb index 4dbbfd12b96..0034a815676 100644 --- a/modules/vba_documents/spec/lib/multipart_parser_spec.rb +++ b/modules/vba_documents/spec/lib/multipart_parser_spec.rb @@ -15,7 +15,7 @@ class << self def fetch(fixture, type) r_val = fixture.path - r_val = StringIO.new File.open(r_val, 'rb').read if type.eql? :stringio + r_val = StringIO.new File.binread(r_val) if type.eql? :stringio r_val end end diff --git a/modules/vba_documents/spec/models/upload_file_spec.rb b/modules/vba_documents/spec/models/upload_file_spec.rb index 13188d77525..aae0574cae2 100644 --- a/modules/vba_documents/spec/models/upload_file_spec.rb +++ b/modules/vba_documents/spec/models/upload_file_spec.rb @@ -8,7 +8,7 @@ it 'can upload and purge from storage' do upload_model = VBADocuments::UploadFile.new - base_64 = File.open(get_fixture('base_64')).read + base_64 = File.read(get_fixture('base_64')) upload_model.multipart.attach(io: StringIO.new(base_64), filename: upload_model.guid) upload_model.save! upload_model.parse_and_upload! diff --git a/modules/vba_documents/spec/sidekiq/upload_processor_spec.rb b/modules/vba_documents/spec/sidekiq/upload_processor_spec.rb index ec249646663..03b11ead320 100644 --- a/modules/vba_documents/spec/sidekiq/upload_processor_spec.rb +++ b/modules/vba_documents/spec/sidekiq/upload_processor_spec.rb @@ -148,7 +148,7 @@ pids.each { |pid| Process.waitpid(pid) } # wait for my children to complete responses = [] temp_files.each do |tf| - responses << File.open(tf.path, &:read) + responses << File.read(tf.path) end expect(responses.select { |e| e.eql?('true') }.length).to eq(1) expect(responses.select { |e| e.eql?('false') }.length).to eq(num_times - 1) diff --git a/rakelib/breakers_outage.rake b/rakelib/breakers_outage.rake index 0fcaeb5c9ca..78a7b4b0d5f 100644 --- a/rakelib/breakers_outage.rake +++ b/rakelib/breakers_outage.rake @@ -11,25 +11,25 @@ namespace :breakers do desc 'Begin a forced outage (requires: service=)' task begin_forced_outage: :environment do services = Breakers.client.services.map(&:name) - service = ENV['service'] + service = ENV.fetch('service', nil) raise ArgumentError, "[#{service}] is not a valid service in: #{services}" unless services.include?(ENV['service']) Breakers.client.services.select { |s| s.name == service }.first.begin_forced_outage! - puts "Successfully forced outage of: [#{ENV['service']}]" + puts "Successfully forced outage of: [#{ENV.fetch('service', nil)}]" end # e.g. bundle exec rake breakers:end_forced_outage service=EVSS/Documents desc 'End a forced outage (requires: service=)' task end_forced_outage: :environment do services = Breakers.client.services.map(&:name) - service = ENV['service'] + service = ENV.fetch('service', nil) raise ArgumentError, "[#{service}] is not a valid service in: #{services}" unless services.include?(ENV['service']) Breakers.client.services.select { |s| s.name == service }.first.end_forced_outage! - puts "Successfully ended forced outage of: [#{ENV['service']}]" + puts "Successfully ended forced outage of: [#{ENV.fetch('service', nil)}]" end end diff --git a/rakelib/mockdata_synchronize.rake b/rakelib/mockdata_synchronize.rake index a6ae4df2fe8..a012070ce69 100644 --- a/rakelib/mockdata_synchronize.rake +++ b/rakelib/mockdata_synchronize.rake @@ -24,7 +24,7 @@ namespace :mockdata_synchronize do status: 200 } - File.open(file_path, 'w') { |f| f.write(response.to_yaml) } + File.write(file_path, response.to_yaml) end def create_curl(icn) diff --git a/rakelib/mvi.rake b/rakelib/mvi.rake index d0e79f276c9..60769ebb1b6 100644 --- a/rakelib/mvi.rake +++ b/rakelib/mvi.rake @@ -20,12 +20,12 @@ namespace :mvi do identity = UserIdentity.new( uuid:, - first_name: ENV['first_name'], - middle_name: ENV['middle_name'], - last_name: ENV['last_name'], - birth_date: ENV['birth_date'], - gender: ENV['gender'], - ssn: ENV['ssn'], + first_name: ENV.fetch('first_name', nil), + middle_name: ENV.fetch('middle_name', nil), + last_name: ENV.fetch('last_name', nil), + birth_date: ENV.fetch('birth_date', nil), + gender: ENV.fetch('gender', nil), + ssn: ENV.fetch('ssn', nil), email: 'foo@bar.com', loa: { current: LOA::THREE, @@ -125,13 +125,13 @@ namespace :mvi do desc "Given a ssn update a mocked user's correlation ids" task update_ids: :environment do - ssn = ENV['ssn'] + ssn = ENV.fetch('ssn', nil) raise ArgumentError, 'ssn is required, usage: `rake mvi:update_ids ssn=111223333 icn=abc123`' unless ssn ids = {} - ids['icn'] = ENV['icn'] - ids['edipi'] = ENV['edipi'] - ids['participant_id'] = ENV['participant_id'] + ids['icn'] = ENV.fetch('icn', nil) + ids['edipi'] = ENV.fetch('edipi', nil) + ids['participant_id'] = ENV.fetch('participant_id', nil) ids['mhv_ids'] = ENV['mhv_ids']&.split ids['vha_facility_ids'] = ENV['vha_facility_ids']&.split # 5343578988 @@ -145,7 +145,7 @@ namespace :mvi do xml = yaml[:body].dup.prepend('') unless xml.match?(/^<\?xml/) yaml[:body] = update_ids(xml, ids) - File.open(path, 'w') { |f| f.write(yaml.to_yaml) } + File.write(path, yaml.to_yaml) puts 'ids updated!' end @@ -242,13 +242,13 @@ def create_cache_from_profile(cache_file, profile, template) status: 200 } - File.open(cache_file, 'w') { |f| f.write(response.to_yaml) } + File.write(cache_file, response.to_yaml) end def valid_user_vars - date_valid = validate_date(ENV['birth_date']) - name_valid = ENV['first_name'] && ENV['middle_name'] && ENV['last_name'] - attrs_valid = ENV['gender'] && ENV['ssn'] + date_valid = validate_date(ENV.fetch('birth_date', nil)) + name_valid = ENV.fetch('first_name', nil) && ENV.fetch('middle_name', nil) && ENV.fetch('last_name', nil) + attrs_valid = ENV.fetch('gender', nil) && ENV.fetch('ssn', nil) date_valid && name_valid && attrs_valid end diff --git a/rakelib/vet360.rake b/rakelib/vet360.rake index b463a03a02d..8a3af7adb7e 100644 --- a/rakelib/vet360.rake +++ b/rakelib/vet360.rake @@ -79,7 +79,7 @@ namespace :vet360 do ensure_data_var - data = JSON.parse(ENV[ENV_VAR_NAME]) + data = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = data['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -103,7 +103,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -129,7 +129,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -152,7 +152,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -178,7 +178,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -204,7 +204,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -228,7 +228,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) @@ -251,7 +251,7 @@ namespace :vet360 do ensure_data_var - body = JSON.parse(ENV[ENV_VAR_NAME]) + body = JSON.parse(ENV.fetch(ENV_VAR_NAME, nil)) vet360_id = body['vet360_id'] ensure_var('vet360_id', vet360_id) diff --git a/spec/factories/form526_submissions.rb b/spec/factories/form526_submissions.rb index 39d7819a1ea..b03cd18f7a8 100644 --- a/spec/factories/form526_submissions.rb +++ b/spec/factories/form526_submissions.rb @@ -200,21 +200,21 @@ json_string = File.read("#{submissions_path}/only_526.json") json = JSON.parse json_string disabilities = json.dig('form526', 'form526', 'disabilities') - disabilities.concat([{ - 'name' => 'Sleep Apnea', - 'classificationCode' => '8935', - 'disabilityActionType' => 'INCREASE', - 'ratedDisabilityId' => '2', - 'diagnosticCode' => 6847, - 'secondaryDisabilities' => [] - }, { - 'name' => 'Rhinitis', - 'classificationCode' => '8935', - 'disabilityActionType' => 'INCREASE', - 'ratedDisabilityId' => '3', - 'diagnosticCode' => 6522, - 'secondaryDisabilities' => [] - }]) + disabilities.push({ + 'name' => 'Sleep Apnea', + 'classificationCode' => '8935', + 'disabilityActionType' => 'INCREASE', + 'ratedDisabilityId' => '2', + 'diagnosticCode' => 6847, + 'secondaryDisabilities' => [] + }, { + 'name' => 'Rhinitis', + 'classificationCode' => '8935', + 'disabilityActionType' => 'INCREASE', + 'ratedDisabilityId' => '3', + 'diagnosticCode' => 6522, + 'secondaryDisabilities' => [] + }) json.to_json end end @@ -230,18 +230,18 @@ json_string = File.read("#{submissions_path}/only_526.json") json = JSON.parse json_string disabilities = json.dig('form526', 'form526', 'disabilities') - disabilities.concat([{ - name: 'hypertension', - classificationCode: '3460', - disabilityActionType: 'NEW' - }, { - 'name' => 'Rhinitis', - 'classificationCode' => 'string', - 'disabilityActionType' => 'INCREASE', - 'ratedDisabilityId' => '2', - 'diagnosticCode' => 6522, - 'secondaryDisabilities' => [] - }]) + disabilities.push({ + name: 'hypertension', + classificationCode: '3460', + disabilityActionType: 'NEW' + }, { + 'name' => 'Rhinitis', + 'classificationCode' => 'string', + 'disabilityActionType' => 'INCREASE', + 'ratedDisabilityId' => '2', + 'diagnosticCode' => 6522, + 'secondaryDisabilities' => [] + }) json.to_json end end diff --git a/spec/lib/hca/service_spec.rb b/spec/lib/hca/service_spec.rb index 727d6c50874..30ebee021c3 100644 --- a/spec/lib/hca/service_spec.rb +++ b/spec/lib/hca/service_spec.rb @@ -87,7 +87,7 @@ described_class.new end - json = JSON.parse(File.open(root.join("#{form}.json")).read) + json = JSON.parse(File.read(root.join("#{form}.json"))) expect(json).to match_vets_schema('10-10EZ') xml = File.read(root.join("#{form}.xml")) expect(service).to receive(:perform) do |_verb, _, body| diff --git a/spec/lib/tasks/support/schema_camelizer_spec.rb b/spec/lib/tasks/support/schema_camelizer_spec.rb index 61de71e370b..59e74298dc1 100644 --- a/spec/lib/tasks/support/schema_camelizer_spec.rb +++ b/spec/lib/tasks/support/schema_camelizer_spec.rb @@ -31,7 +31,7 @@ def create_source_schema(name, hash) schema_file = "#{TEST_SCHEMA_DIRECTORY}/#{name}.json" - File.open(schema_file, 'w') { |file| file.write(JSON.pretty_generate(hash)) } + File.write(schema_file, JSON.pretty_generate(hash)) schema_file end @@ -152,7 +152,7 @@ def create_source_schema(name, hash) it 'raises an exception when it is not in a schemas directory' do schema_file_in_weird_location = "#{TEST_DIRECTORY}/bad_location.json" schema = { 'signficant_data' => 'no' } - File.open(schema_file_in_weird_location, 'w') { |file| file.write(JSON.pretty_generate(schema)) } + File.write(schema_file_in_weird_location, JSON.pretty_generate(schema)) subject = SchemaCamelizer.new(schema_file_in_weird_location) exception_text = 'expected `#camel_path` (tmp/camel_schema_tests/bad_location.json) ' \ diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 8cba492a671..38b00568d07 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -99,7 +99,7 @@ def self.all_matches store: Shrine::Storage::Memory.new } -CarrierWave.root = Rails.root.join('spec', 'support', "uploads#{ENV['TEST_ENV_NUMBER']}") +CarrierWave.root = Rails.root.join('spec', 'support', "uploads#{ENV.fetch('TEST_ENV_NUMBER', nil)}") FactoryBot::SyntaxRunner.class_eval do include RSpec::Mocks::ExampleMethods @@ -190,7 +190,7 @@ def self.all_matches # clean up carrierwave uploads # https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Cleanup-after-your-Rspec-tests config.after(:all) do - FileUtils.rm_rf(Rails.root.glob("spec/support/uploads#{ENV['TEST_ENV_NUMBER']}")) if Rails.env.test? + FileUtils.rm_rf(Rails.root.glob("spec/support/uploads#{ENV.fetch('TEST_ENV_NUMBER', nil)}")) if Rails.env.test? end end diff --git a/spec/rswag_override.rb b/spec/rswag_override.rb index 75d9f3f3e26..33a079a0c34 100644 --- a/spec/rswag_override.rb +++ b/spec/rswag_override.rb @@ -62,9 +62,7 @@ def stop(_notification = nil) file_path = File.join(@config.openapi_root, url_path) dirname = File.dirname(file_path) FileUtils.mkdir_p dirname - File.open(file_path, 'w') do |file| - file.write(pretty_generate(doc)) - end + File.write(file_path, pretty_generate(doc)) @output.puts "Swagger doc generated at #{file_path}" end # Added conditional end diff --git a/spec/support/rswag/text_helpers.rb b/spec/support/rswag/text_helpers.rb index 927b9eb74c6..d705ba76591 100644 --- a/spec/support/rswag/text_helpers.rb +++ b/spec/support/rswag/text_helpers.rb @@ -9,7 +9,7 @@ def claims_api_docs private def project_environment - environment? ? "#{ENV['DOCUMENTATION_ENVIRONMENT']}/" : nil + environment? ? "#{ENV.fetch('DOCUMENTATION_ENVIRONMENT', nil)}/" : nil end def environment?