Class: Ashby::Interviews

Inherits:
Client
  • Object
show all
Defined in:
lib/ashby/interviews.rb

Overview

Ashby::InterviewSchedules provides access to Interview Schedule-related functionality in the Ashby API.

Includes support for:

- Fetching all interviews (with pagination)

Example:

Ashby::InterviewSchedules.all

Constant Summary

Constants inherited from Client

Client::API_URL

Class Method Summary collapse

Methods inherited from Client

build_url, headers, paginated_post, post

Class Method Details

.interview_by_id(id: nil) ⇒ Object

Raises:

  • (ArgumentError)


28
29
30
31
32
33
34
# File 'lib/ashby/interviews.rb', line 28

def self.interview_by_id(id: nil)
  raise ArgumentError, 'Interview ID is required' if id.to_s.strip.empty?

  payload = { id: id }
  response = post('interview.info', payload)
  response['results']
end

.plans_allObject



18
19
20
21
# File 'lib/ashby/interviews.rb', line 18

def self.plans_all
  response = post('interviewPlan.list')
  response['results']
end

.schedule_all(payload = {}) ⇒ Object

Fetches all interview schedules with pagination support



14
15
16
# File 'lib/ashby/interviews.rb', line 14

def self.schedule_all(payload = {})
  paginated_post('interviewSchedule.list', payload)
end

.stage_by_id(id: nil) ⇒ Object

Raises:

  • (ArgumentError)


36
37
38
39
40
41
42
# File 'lib/ashby/interviews.rb', line 36

def self.stage_by_id(id: nil)
  raise ArgumentError, 'Stage ID is required' if id.to_s.strip.empty?

  payload = { interviewStageId: id }
  response = post('interviewStage.info', payload)
  response['results']
end

.stages_allObject



23
24
25
26
# File 'lib/ashby/interviews.rb', line 23

def self.stages_all
  response = post('interviewStage.list')
  response['results']
end