Class: GreenhouseIo::JobBoard

Inherits:
Object
  • Object
show all
Includes:
API, HTTMultiParty
Defined in:
lib/greenhouse_io/api/job_board.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from API

#basic_auth, #get_response, #parse_json, #post_response

Constructor Details

#initialize(api_token = nil, default_options = {}) ⇒ JobBoard

Returns a new instance of JobBoard.



8
9
10
11
# File 'lib/greenhouse_io/api/job_board.rb', line 8

def initialize(api_token = nil, default_options = {})
  @api_token = api_token || GreenhouseIo.configuration.api_token
  @organization = default_options.delete(:organization) || GreenhouseIo.configuration.organization
end

Instance Attribute Details

#api_tokenObject

Returns the value of attribute api_token.



5
6
7
# File 'lib/greenhouse_io/api/job_board.rb', line 5

def api_token
  @api_token
end

#organizationObject

Returns the value of attribute organization.



5
6
7
# File 'lib/greenhouse_io/api/job_board.rb', line 5

def organization
  @organization
end

Instance Method Details

#apply_to_job(job_form_hash) ⇒ Object



37
38
39
# File 'lib/greenhouse_io/api/job_board.rb', line 37

def apply_to_job(job_form_hash)
  post_to_job_board_api('/applications', { :body => job_form_hash, :basic_auth => basic_auth })
end

#department(id, options = {}) ⇒ Object



25
26
27
# File 'lib/greenhouse_io/api/job_board.rb', line 25

def department(id, options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/department", query: { id: id })
end

#departments(options = {}) ⇒ Object



21
22
23
# File 'lib/greenhouse_io/api/job_board.rb', line 21

def departments(options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/departments")
end

#job(id, options = {}) ⇒ Object



33
34
35
# File 'lib/greenhouse_io/api/job_board.rb', line 33

def job(id, options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/job", query: { id: id, questions: options[:questions] })
end

#jobs(options = {}) ⇒ Object



29
30
31
# File 'lib/greenhouse_io/api/job_board.rb', line 29

def jobs(options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/jobs", query: { content: options[:content] })
end

#office(id, options = {}) ⇒ Object



17
18
19
# File 'lib/greenhouse_io/api/job_board.rb', line 17

def office(id, options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/office", query: { id: id })
end

#offices(options = {}) ⇒ Object



13
14
15
# File 'lib/greenhouse_io/api/job_board.rb', line 13

def offices(options = {})
  get_from_job_board_api("/boards/#{ query_organization(options) }/embed/offices")
end