Browse Source

swap ruby-filemagic for file command

pull/1043/head
Phil Lee 4 years ago
parent
commit
bf62a7fedb
  1. 2
      Gemfile
  2. 2
      Gemfile.lock
  3. 7
      app/models/forms/bulk_upload_lettings/upload_your_file.rb
  4. 7
      app/models/forms/bulk_upload_sales/upload_your_file.rb

2
Gemfile

@ -61,8 +61,6 @@ gem "auto_strip_attributes"
# Use sidekiq for background processing # Use sidekiq for background processing
gem "sidekiq" gem "sidekiq"
gem "ruby-filemagic"
group :development, :test do group :development, :test do
# Check gems for known vulnerabilities # Check gems for known vulnerabilities
gem "bundler-audit" gem "bundler-audit"

2
Gemfile.lock

@ -370,7 +370,6 @@ GEM
rubocop (~> 1.0) rubocop (~> 1.0)
rubocop-rspec (2.7.0) rubocop-rspec (2.7.0)
rubocop (~> 1.19) rubocop (~> 1.19)
ruby-filemagic (0.7.3)
ruby-progressbar (1.11.0) ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
rubyzip (2.3.2) rubyzip (2.3.2)
@ -476,7 +475,6 @@ DEPENDENCIES
rubocop-govuk (= 4.3.0) rubocop-govuk (= 4.3.0)
rubocop-performance rubocop-performance
rubocop-rails rubocop-rails
ruby-filemagic
selenium-webdriver selenium-webdriver
sentry-rails sentry-rails
sentry-ruby sentry-ruby

7
app/models/forms/bulk_upload_lettings/upload_your_file.rb

@ -1,3 +1,5 @@
require "shellwords"
module Forms module Forms
module BulkUploadLettings module BulkUploadLettings
class UploadYourFile class UploadYourFile
@ -55,7 +57,10 @@ module Forms
def validate_file_is_csv def validate_file_is_csv
return unless file return unless file
unless FileMagic.new(FileMagic::MAGIC_MIME).file(file.path).include?("text/csv") argv = %W[file --mime-type -- #{file.path}]
output = `#{argv.shelljoin}`
unless output.include?("text/csv")
errors.add(:file, :not_csv) errors.add(:file, :not_csv)
end end
end end

7
app/models/forms/bulk_upload_sales/upload_your_file.rb

@ -1,3 +1,5 @@
require "shellwords"
module Forms module Forms
module BulkUploadSales module BulkUploadSales
class UploadYourFile class UploadYourFile
@ -55,7 +57,10 @@ module Forms
def validate_file_is_csv def validate_file_is_csv
return unless file return unless file
unless FileMagic.new(FileMagic::MAGIC_MIME).file(file.path).include?("text/csv") argv = %W[file --mime-type -- #{file.path}]
output = `#{argv.shelljoin}`
unless output.include?("text/csv")
errors.add(:file, :not_csv) errors.add(:file, :not_csv)
end end
end end

Loading…
Cancel
Save