Class: Teamtailor::Client
- Inherits:
-
Object
- Object
- Teamtailor::Client
- Defined in:
- lib/teamtailor/client.rb
Instance Method Summary collapse
- #candidates(page: 1, include: []) ⇒ Object
- #company(include: []) ⇒ Object
- #create_candidate(attributes:, relationships:) ⇒ Object
- #create_job_application(attributes:, relationships:) ⇒ Object
- #create_upload(attributes:, relationships:) ⇒ Object
- #custom_field_values(page: 1, include: []) ⇒ Object
- #custom_fields(page: 1, include: []) ⇒ Object
- #departments(page: 1, include: []) ⇒ Object
-
#initialize(base_url:, api_token:, api_version:) ⇒ Client
constructor
A new instance of Client.
- #job_applications(page: 1, include: []) ⇒ Object
- #jobs(page: 1, include: [], filters: {}) ⇒ Object
- #locations(page: 1, include: []) ⇒ Object
- #partner_results(page: 1, include: []) ⇒ Object
- #referrals(page: 1, include: []) ⇒ Object
- #reject_reasons(page: 1, include: []) ⇒ Object
- #requisitions(page: 1, include: []) ⇒ Object
- #stages(page: 1, include: []) ⇒ Object
- #users(page: 1, include: []) ⇒ Object
Constructor Details
#initialize(base_url:, api_token:, api_version:) ⇒ Client
7 8 9 10 11 |
# 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 |
Instance Method Details
#candidates(page: 1, include: []) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# 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: []) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# 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:) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# 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.tr("_", "-") }, relationships: relationships } } ).call end |
#create_job_application(attributes:, relationships:) ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# 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.tr("_", "-") }, relationships: relationships } } ).call end |
#create_upload(attributes:, relationships:) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# 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.tr("_", "-") }, relationships: relationships } } ).call end |
#custom_field_values(page: 1, include: []) ⇒ Object
204 205 206 207 208 209 210 211 212 213 214 215 216 |
# 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: []) ⇒ Object
190 191 192 193 194 195 196 197 198 199 200 201 202 |
# 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: []) ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 173 174 |
# 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: []) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 84 |
# 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: {}) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# 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: []) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 |
# 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: []) ⇒ Object
232 233 234 235 236 237 238 239 240 241 242 243 244 |
# 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: []) ⇒ Object
218 219 220 221 222 223 224 225 226 227 228 229 230 |
# 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: []) ⇒ Object
148 149 150 151 152 153 154 155 156 157 158 159 160 |
# 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: []) ⇒ Object
246 247 248 249 250 251 252 253 254 255 256 257 258 |
# 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: []) ⇒ Object
134 135 136 137 138 139 140 141 142 143 144 145 146 |
# 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: []) ⇒ Object
120 121 122 123 124 125 126 127 128 129 130 131 132 |
# 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 |