require "csv" module Imports class RentRangesService attr_reader :start_year, :path, :count def initialize(start_year:, path:) @start_year = start_year @path = path @count = 0 end def call CSV.foreach(path, headers: true) do |row| LaRentRange.upsert( { ranges_rent_id: row["ranges_rent_id"], lettype: row["lettype"], beds: row["beds"], start_year:, la: row["la"], soft_min: row["soft_min"], soft_max: row["soft_max"], hard_min: row["hard_min"], hard_max: row["hard_max"] }, unique_by: %i[start_year lettype beds la], ) @count += 1 end end end end