Class: ResumeCopilot::JobSearchHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/resume_copilot/job_search_helper.rb

Constant Summary collapse

API_BASE_URL =
'https://api.resumecopilot.net'.freeze

Class Method Summary collapse

Class Method Details

.search_jobs(request) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/resume_copilot/job_search_helper.rb', line 9

def self.search_jobs(request)
  uri = URI("#{API_BASE_URL}/api/v1/search")
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true

  request_body = request.to_json
  headers = { 'Content-Type' => 'application/json' }

  response = http.post(uri.path, request_body, headers)

  raise "HTTP Error: #{response.code}" unless response.is_a?(Net::HTTPSuccess)

  parsed_response = JSON.parse(response.body, symbolize_names: true)
  JobSearchResult.new(jobs: parsed_response[:jobs])
rescue StandardError => e
  raise "Error connecting to job search service: #{e.message}"
end