Browse Source

some minor refactoring

remove methods from child class that replicate methods on the parent class
tidy up check for nil
remove gubbins and inline method body given only used once
pull/1744/head
Arthur Campbell 3 years ago
parent
commit
c014b01589
  1. 26
      app/services/imports/lettings_logs_field_import_service.rb
  2. 6
      app/services/imports/logs_import_service.rb
  3. 8
      spec/services/imports/lettings_logs_field_import_service_spec.rb

26
app/services/imports/lettings_logs_field_import_service.rb

@ -110,31 +110,5 @@ module Imports
@logger.warn("Could not find record matching legacy ID #{old_id}")
end
end
def compose_date(xml_doc, day_str, month_str, year_str)
day = Integer(field_value(xml_doc, "xmlns", day_str), exception: false)
month = Integer(field_value(xml_doc, "xmlns", month_str), exception: false)
year = Integer(field_value(xml_doc, "xmlns", year_str), exception: false)
if day.nil? || month.nil? || year.nil?
nil
else
Time.zone.local(year, month, day)
end
end
def string_or_nil(xml_doc, attribute)
str = field_value(xml_doc, "xmlns", attribute)
str.presence
end
# Unsafe: A string that has more than just the integer value
def unsafe_string_as_integer(xml_doc, attribute)
str = string_or_nil(xml_doc, attribute)
if str.nil?
nil
else
str.to_i
end
end
end
end

6
app/services/imports/logs_import_service.rb

@ -11,11 +11,7 @@ module Imports
# Unsafe: A string that has more than just the integer value
def unsafe_string_as_integer(xml_doc, attribute)
str = string_or_nil(xml_doc, attribute)
if str.nil?
nil
else
str.to_i
end
str&.to_i
end
def compose_date(xml_doc, day_str, month_str, year_str)

8
spec/services/imports/lettings_logs_field_import_service_spec.rb

@ -10,7 +10,7 @@ RSpec.describe Imports::LettingsLogsFieldImportService do
let(:fixture_directory) { "spec/fixtures/imports/logs" }
let(:lettings_log_id) { "0ead17cb-1668-442d-898c-0d52879ff592" }
let(:lettings_log_file) { open_file(fixture_directory, lettings_log_id) }
let(:lettings_log_file) { File.open("#{fixture_directory}/#{lettings_log_id}.xml") }
let(:lettings_log_xml) { Nokogiri::XML(lettings_log_file) }
let(:remote_folder) { "lettings_logs" }
let(:old_user_id) { "c3061a2e6ea0b702e6f6210d5c52d2a92612d2aa" }
@ -21,12 +21,6 @@ RSpec.describe Imports::LettingsLogsFieldImportService do
Singleton.__init__(FormHandler)
example.run
end
Timecop.return
Singleton.__init__(FormHandler)
end
def open_file(directory, filename)
File.open("#{directory}/#{filename}.xml")
end
before do

Loading…
Cancel
Save