Class: Gusto::AsyncTimeOffPoliciesClient
- Inherits:
-
Object
- Object
- Gusto::AsyncTimeOffPoliciesClient
- Defined in:
- lib/fern_gusto/time_off_policies/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#add_employees(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.add_employees(time_off_policy_uuid: “time_off_policy_uuid”).
-
#calculate_accruing_time_off_hours(payroll_id:, employee_id:, regular_hours_worked: nil, overtime_hours_worked: nil, double_overtime_hours_worked: nil, pto_hours_used: nil, sick_hours_used: nil, request_options: nil) ⇒ Object
).
-
#create(company_uuid:, name:, policy_type:, accrual_method:, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: nil, request_options: nil) ⇒ Object
).
-
#deactivate(time_off_policy_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.deactivate(time_off_policy_uuid: “time_off_policy_uuid”).
-
#get(time_off_policy_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.get(time_off_policy_uuid: “time_off_policy_uuid”).
- #initialize(request_client:) ⇒ Gusto::AsyncTimeOffPoliciesClient constructor
-
#list(company_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.list(company_uuid: “company_uuid”).
-
#remove_employees(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.remove_employees(time_off_policy_uuid: “time_off_policy_uuid”).
-
#update(time_off_policy_uuid:, name: nil, accrual_method: nil, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: nil, request_options: nil) ⇒ Object
).
-
#update_balance(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.update_balance(time_off_policy_uuid: “time_off_policy_uuid”).
Constructor Details
#initialize(request_client:) ⇒ Gusto::AsyncTimeOffPoliciesClient
441 442 443 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 441 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Gusto::AsyncRequestClient (readonly)
436 437 438 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 436 def request_client @request_client end |
Instance Method Details
#add_employees(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.add_employees(time_off_policy_uuid: “time_off_policy_uuid”)
728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 728 def add_employees(time_off_policy_uuid:, employees: nil, 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 || {}), employees: employees }.compact req.url "#{@request_client.get_url(request_options: )}/v1/time_off_policies/#{time_off_policy_uuid}/add_employees" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#calculate_accruing_time_off_hours(payroll_id:, employee_id:, regular_hours_worked: nil, overtime_hours_worked: nil, double_overtime_hours_worked: nil, pto_hours_used: nil, sick_hours_used: nil, request_options: nil) ⇒ Object
)
481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 481 def calculate_accruing_time_off_hours(payroll_id:, employee_id:, regular_hours_worked: nil, overtime_hours_worked: nil, double_overtime_hours_worked: nil, pto_hours_used: nil, sick_hours_used: 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 || {}), regular_hours_worked: regular_hours_worked, overtime_hours_worked: overtime_hours_worked, double_overtime_hours_worked: double_overtime_hours_worked, pto_hours_used: pto_hours_used, sick_hours_used: sick_hours_used }.compact req.url "#{@request_client.get_url(request_options: )}/v1/payrolls/#{payroll_id}/employees/#{employee_id}/calculate_accruing_time_off_hours" end parsed_json = JSON.parse(response.body) parsed_json&.map do | item | item = item.to_json Gusto::AccruingTimeOffHour.from_json(json_object: item) end end end |
#create(company_uuid:, name:, policy_type:, accrual_method:, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: nil, request_options: nil) ⇒ Object
)
688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 688 def create(company_uuid:, name:, policy_type:, accrual_method:, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: 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 || {}), name: name, policy_type: policy_type, accrual_method: accrual_method, accrual_rate: accrual_rate, accrual_rate_unit: accrual_rate_unit, paid_out_on_termination: paid_out_on_termination, accrual_waiting_period_days: accrual_waiting_period_days, carryover_limit_hours: carryover_limit_hours, max_accrual_hours_per_year: max_accrual_hours_per_year, max_hours: max_hours }.compact req.url "#{@request_client.get_url(request_options: )}/v1/companies/#{company_uuid}/time_off_policies" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#deactivate(time_off_policy_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.deactivate(time_off_policy_uuid: “time_off_policy_uuid”)
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 838 def deactivate(time_off_policy_uuid:, 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 unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/time_off_policies/#{time_off_policy_uuid}/deactivate" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#get(time_off_policy_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.get(time_off_policy_uuid: “time_off_policy_uuid”)
520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 520 def get(time_off_policy_uuid:, 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/time_off_policies/#{time_off_policy_uuid}" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#list(company_uuid:, request_options: nil) ⇒ Object
api.time_off_policies.list(company_uuid: “company_uuid”)
622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 622 def list(company_uuid:, 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/companies/#{company_uuid}/time_off_policies" end parsed_json = JSON.parse(response.body) parsed_json&.map do | item | item = item.to_json Gusto::TimeOffPolicy.from_json(json_object: item) end end end |
#remove_employees(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.remove_employees(time_off_policy_uuid: “time_off_policy_uuid”)
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 765 def remove_employees(time_off_policy_uuid:, employees: nil, 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 || {}), employees: employees }.compact req.url "#{@request_client.get_url(request_options: )}/v1/time_off_policies/#{time_off_policy_uuid}/remove_employees" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#update(time_off_policy_uuid:, name: nil, accrual_method: nil, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: nil, request_options: nil) ⇒ Object
)
587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 587 def update(time_off_policy_uuid:, name: nil, accrual_method: nil, accrual_rate: nil, accrual_rate_unit: nil, paid_out_on_termination: nil, accrual_waiting_period_days: nil, carryover_limit_hours: nil, max_accrual_hours_per_year: nil, max_hours: nil, 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 || {}), name: name, accrual_method: accrual_method, accrual_rate: accrual_rate, accrual_rate_unit: accrual_rate_unit, paid_out_on_termination: paid_out_on_termination, accrual_waiting_period_days: accrual_waiting_period_days, carryover_limit_hours: carryover_limit_hours, max_accrual_hours_per_year: max_accrual_hours_per_year, max_hours: max_hours }.compact req.url "#{@request_client.get_url(request_options: )}/v1/time_off_policies/#{time_off_policy_uuid}" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |
#update_balance(time_off_policy_uuid:, employees: nil, request_options: nil) ⇒ Object
api.time_off_policies.update_balance(time_off_policy_uuid: “time_off_policy_uuid”)
803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 |
# File 'lib/fern_gusto/time_off_policies/client.rb', line 803 def update_balance(time_off_policy_uuid:, employees: nil, 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 || {}), employees: employees }.compact req.url "#{@request_client.get_url(request_options: )}/v1/time_off_policies/#{time_off_policy_uuid}/balance" end Gusto::TimeOffPolicy.from_json(json_object: response.body) end end |