Files
openfoodnetwork/lib/tasks/karma.rake
Neal Chambers afdddc9237 Safely autocorrect Style/FileRead
Inspecting 1488 files
.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C............................................................................................................................................................................

Offenses:

lib/tasks/karma.rake:33:15: C: [Corrected] Style/FileRead: Use File.read.
    unit_js = File.open('config/ng-test.conf.js', 'r').read
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/services/upload_sanitizer_spec.rb:13:41: C: [Corrected] Style/FileRead: Use File.read.
    let(:service) { UploadSanitizer.new(File.open(upload).read) }
                                        ^^^^^^^^^^^^^^^^^^^^^^

1488 files inspected, 2 offenses detected, 2 offenses corrected
2023-09-01 08:55:56 +09:00

45 lines
1.2 KiB
Ruby

# frozen_string_literal: true
ENV["RAILS_ENV"] ||= 'test'
namespace :karma do
task start: :environment do |_task|
with_tmp_config :start
end
task run: :environment do |_task|
with_tmp_config :start, "--single-run"
end
private
def with_tmp_config(command, args = nil)
Tempfile.open('karma_unit.js', Rails.root.join('tmp') ) do |f|
f.write unit_js(application_spec_files << i18n_file)
f.flush
trap('SIGINT') { puts "Killing Karma"; exit }
exec "node_modules/.bin/karma #{command} #{f.path} #{args}"
end
end
def application_spec_files
sprockets = Rails.application.assets
sprockets.append_path Rails.root.join("spec/javascripts")
Rails.application.assets.find_asset("application_spec.js").to_a.map { |e| e.pathname.to_s }
end
def unit_js(files)
puts files
unit_js = File.read('config/ng-test.conf.js')
unit_js.gsub "APPLICATION_SPEC", "\"#{files.join("\",\n\"")}\""
end
def i18n_file
raise "I18n::JS module is missing" unless defined?(I18n::JS)
I18n::JS::DEFAULT_EXPORT_DIR_PATH.replace('tmp/javascripts')
I18n::JS.export
"#{Rails.root.join(I18n::JS::DEFAULT_EXPORT_DIR_PATH, 'translations.js')}"
end
end