class Teamtailor::Client
Attributes
api_token[R]
api_version[R]
base_url[R]
Public Class Methods
new(base_url:, api_token:, api_version:)
click to toggle source
# File lib/teamtailor/client.rb, line 7 def initialize(base_url:, api_token:, api_version:) @base_url = base_url @api_token = api_token @api_version = api_version end
Public Instance Methods
candidates(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 25 def candidates(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/candidates", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
company(include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 13 def company(include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/company", params: { "include" => include.join(","), } ).call end
create_candidate(attributes:, relationships:)
click to toggle source
# File lib/teamtailor/client.rb, line 39 def create_candidate(attributes:, relationships:) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/candidates", method: :post, body: { data: { type: "candidates", attributes: attributes.transform_keys { |k| k.to_s.gsub("_", "-") }, relationships: relationships, }, } ).call end
create_job_application(attributes:, relationships:)
click to toggle source
# File lib/teamtailor/client.rb, line 103 def create_job_application(attributes:, relationships:) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/job-applications", method: :post, body: { data: { type: "job-applications", attributes: attributes.transform_keys { |k| k.to_s.gsub("_", "-") }, relationships: relationships, }, } ).call end
create_upload(attributes:, relationships:)
click to toggle source
# File lib/teamtailor/client.rb, line 86 def create_upload(attributes:, relationships:) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/uploads", method: :post, body: { data: { type: "uploads", attributes: attributes.transform_keys { |k| k.to_s.gsub("_", "-") }, relationships: relationships, }, } ).call end
custom_field_values(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 204 def custom_field_values(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/custom-field-values", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
custom_fields(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 190 def custom_fields(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/custom-fields", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
departments(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 162 def departments(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/departments", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
job_applications(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 72 def job_applications(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/job-applications", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
jobs(page: 1, include: [], filters: {})
click to toggle source
# File lib/teamtailor/client.rb, line 56 def jobs(page: 1, include: [], filters: {}) filter_params = filters.transform_keys { |key| "filter[#{key}]" } Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/jobs", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), }.merge(filter_params) ).call end
locations(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 176 def locations(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/locations", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
partner_results(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 232 def partner_results(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/partner-results", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
referrals(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 218 def referrals(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/referrals", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
reject_reasons(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 148 def reject_reasons(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/reject-reasons", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
requisitions(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 246 def requisitions(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/requisitions", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
stages(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 134 def stages(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/stages", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
users(page: 1, include: [])
click to toggle source
# File lib/teamtailor/client.rb, line 120 def users(page: 1, include: []) Teamtailor::Request.new( base_url: base_url, api_token: api_token, api_version: api_version, path: "/v1/users", params: { "page[number]" => page, "page[size]" => 30, "include" => include.join(","), } ).call end
Private Instance Methods
response_error(response)
click to toggle source
# File lib/teamtailor/client.rb, line 264 def response_error(response) Teamtailor::Error.from_response body: response.body, status: response.code end