Class: Gusto::Employees::AsyncFormsClient
- Inherits:
-
Object
- Object
- Gusto::Employees::AsyncFormsClient
- Defined in:
- lib/fern_gusto/employees/forms/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#generate_w2(employee_id:, year: nil, request_options: nil) ⇒ Object
api.employees.forms.generate_w2(employee_id: “employee_id”).
-
#get(employee_id:, form_id:, request_options: nil) ⇒ Object
api.employees.forms.get(employee_id: “employee_id”, form_id: “form_id”).
-
#get_pdf(employee_id:, form_id:, request_options: nil) ⇒ Object
api.employees.forms.get_pdf(employee_id: “employee_id”, form_id: “form_id”).
- #initialize(request_client:) ⇒ Gusto::Employees::AsyncFormsClient constructor
-
#list(employee_id:, request_options: nil) ⇒ Object
api.employees.forms.list(employee_id: “employee_id”).
-
#sign(employee_id:, form_id:, signature_text:, agree:, signed_by_ip_address:, request_options: nil) ⇒ Object
).
Constructor Details
#initialize(request_client:) ⇒ Gusto::Employees::AsyncFormsClient
226 227 228 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 226 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Gusto::AsyncRequestClient (readonly)
221 222 223 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 221 def request_client @request_client end |
Instance Method Details
#generate_w2(employee_id:, year: nil, request_options: nil) ⇒ Object
api.employees.forms.generate_w2(employee_id: “employee_id”)
247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 247 def generate_w2(employee_id:, year: nil, request_options: nil) Async do response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.token.nil? req.headers["Authorization"] = .token end unless &.gusto_api_version.nil? req.headers["X-Gusto-API-Version"] = .gusto_api_version end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), employee_id: employee_id, year: year }.compact req.url "#{@request_client.get_url(request_options: )}/v1/sandbox/generate_w2" end Gusto::Employees::Forms::FormsGenerateW2Response.from_json(json_object: response.body) end end |
#get(employee_id:, form_id:, request_options: nil) ⇒ Object
api.employees.forms.get(employee_id: “employee_id”, form_id: “form_id”)
324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 324 def get(employee_id:, form_id:, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.token.nil? req.headers["Authorization"] = .token end unless &.gusto_api_version.nil? req.headers["X-Gusto-API-Version"] = .gusto_api_version end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/employees/#{employee_id}/forms/#{form_id}" end Gusto::Forms::Form.from_json(json_object: response.body) end end |
#get_pdf(employee_id:, form_id:, request_options: nil) ⇒ Object
api.employees.forms.get_pdf(employee_id: “employee_id”, form_id: “form_id”)
362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 362 def get_pdf(employee_id:, form_id:, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.token.nil? req.headers["Authorization"] = .token end unless &.gusto_api_version.nil? req.headers["X-Gusto-API-Version"] = .gusto_api_version end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/employees/#{employee_id}/forms/#{form_id}/pdf" end Gusto::FormPdf.from_json(json_object: response.body) end end |
#list(employee_id:, request_options: nil) ⇒ Object
api.employees.forms.list(employee_id: “employee_id”)
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 282 def list(employee_id:, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.token.nil? req.headers["Authorization"] = .token end unless &.gusto_api_version.nil? req.headers["X-Gusto-API-Version"] = .gusto_api_version end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/employees/#{employee_id}/forms" end parsed_json = JSON.parse(response.body) parsed_json&.map do | item | item = item.to_json Gusto::Forms::Form.from_json(json_object: item) end end end |
#sign(employee_id:, form_id:, signature_text:, agree:, signed_by_ip_address:, request_options: nil) ⇒ Object
)
409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 |
# File 'lib/fern_gusto/employees/forms/client.rb', line 409 def sign(employee_id:, form_id:, signature_text:, agree:, signed_by_ip_address:, request_options: nil) Async do response = @request_client.conn.put do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.token.nil? req.headers["Authorization"] = .token end unless &.gusto_api_version.nil? req.headers["X-Gusto-API-Version"] = .gusto_api_version end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(&.additional_body_parameters || {}), signature_text: signature_text, agree: agree, signed_by_ip_address: signed_by_ip_address }.compact req.url "#{@request_client.get_url(request_options: )}/v1/employees/#{employee_id}/forms/#{form_id}/sign" end Gusto::Forms::Form.from_json(json_object: response.body) end end |