Class: FromHyrax::RunImportJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/from_hyrax/run_import_job.rb

Instance Method Summary collapse

Instance Method Details

#get_response(uri) ⇒ Object



13
14
15
16
17
18
19
# File 'app/jobs/from_hyrax/run_import_job.rb', line 13

def get_response uri
  http             = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl     = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  request          = Net::HTTP::Get.new(uri.request_uri)
  http.request(request)
end

#perform(csv_url, csv_params) ⇒ Object



5
6
7
8
9
10
11
# File 'app/jobs/from_hyrax/run_import_job.rb', line 5

def perform(csv_url, csv_params)
  Rails.logger.warn "Import Job #{csv_url}, params: #{csv_params.inspect}"
  csv     = CSV.parse(get_response(URI(csv_url)).body, headers: true, return_headers: false).map(&:to_hash)
  exhibit = ::Spotlight::Exhibit.find(csv_params[:exhibit_id])
  user    = ::User.find(csv_params[:user])
  Spotlight::AddUploadsFromCSV.perform_later(csv, exhibit, user)
end