Browse Source

able to switch between bulk upload parsers

- depending on what year we are processing
pull/1417/head
Phil Lee 3 years ago
parent
commit
f5158f45f2
  1. 9
      app/services/bulk_upload/lettings/log_creator.rb
  2. 9
      app/services/bulk_upload/lettings/validator.rb
  3. 2
      app/services/bulk_upload/lettings/year2022/csv_parser.rb
  4. 2
      spec/services/bulk_upload/lettings/year2022/csv_parser_spec.rb

9
app/services/bulk_upload/lettings/log_creator.rb

@ -26,7 +26,14 @@ class BulkUpload::Lettings::LogCreator
private
def csv_parser
@csv_parser ||= BulkUpload::Lettings::CsvParser.new(path:)
@csv_parser ||= case bulk_upload.year
when 2022
BulkUpload::Lettings::Year2022::CsvParser.new(path:)
when 2023
BulkUpload::Lettings::Year2023::CsvParser.new(path:)
else
raise "csv parser not found"
end
end
def row_offset

9
app/services/bulk_upload/lettings/validator.rb

@ -73,7 +73,14 @@ private
end
def csv_parser
@csv_parser ||= BulkUpload::Lettings::CsvParser.new(path:)
@csv_parser ||= case bulk_upload.year
when 2022
BulkUpload::Lettings::Year2022::CsvParser.new(path:)
when 2023
BulkUpload::Lettings::Year2023::CsvParser.new(path:)
else
raise "csv parser not found"
end
end
def row_offset

2
app/services/bulk_upload/lettings/csv_parser.rb → app/services/bulk_upload/lettings/year2022/csv_parser.rb

@ -1,6 +1,6 @@
require "csv"
class BulkUpload::Lettings::CsvParser
class BulkUpload::Lettings::Year2022::CsvParser
attr_reader :path
def initialize(path:)

2
spec/services/bulk_upload/lettings/csv_parser_spec.rb → spec/services/bulk_upload/lettings/year2022/csv_parser_spec.rb

@ -1,6 +1,6 @@
require "rails_helper"
RSpec.describe BulkUpload::Lettings::CsvParser do
RSpec.describe BulkUpload::Lettings::Year2022::CsvParser do
subject(:service) { described_class.new(path:) }
let(:path) { file_fixture("2022_23_lettings_bulk_upload.csv") }
Loading…
Cancel
Save