Class: Gusto::AsyncCompaniesClient
- Inherits:
-
Object
- Object
- Gusto::AsyncCompaniesClient
- Defined in:
- lib/fern_gusto/companies/client.rb
Instance Attribute Summary collapse
- #attachments ⇒ Gusto::Companies::AttachmentsClient readonly
- #bank_accounts ⇒ Gusto::Companies::BankAccountsClient readonly
- #benefits ⇒ Gusto::Companies::BenefitsClient readonly
- #departments ⇒ Gusto::Companies::DepartmentsClient readonly
- #employees ⇒ Gusto::Companies::EmployeesClient readonly
- #external_payrolls ⇒ Gusto::Companies::ExternalPayrollsClient readonly
- #federal_tax_details ⇒ Gusto::Companies::FederalTaxDetailsClient readonly
- #forms ⇒ Gusto::Companies::FormsClient readonly
- #industry_selection ⇒ Gusto::Companies::IndustrySelectionClient readonly
- #locations ⇒ Gusto::Companies::LocationsClient readonly
- #pay_schedules ⇒ Gusto::Companies::PaySchedulesClient readonly
- #payment_configs ⇒ Gusto::Companies::PaymentConfigsClient readonly
- #request_client ⇒ Gusto::AsyncRequestClient readonly
- #signatories ⇒ Gusto::Companies::SignatoriesClient readonly
- #tax_requirements ⇒ Gusto::Companies::TaxRequirementsClient readonly
Instance Method Summary collapse
-
#accept_terms(company_uuid:, email:, ip_address:, external_user_id:, request_options: nil) ⇒ Object
).
-
#create(user:, company:, request_options: nil) ⇒ Object
api.companies.create(user: { first_name: “Frank”, last_name: “Ocean”, email: “frank@example.com”, phone: “2345558899” }, company: { name: “Frank’s Ocean, LLC”, trade_name: “Frank’s Ocean”, ein: “123456789”, contractor_only: false }).
-
#create_admin(company_id:, first_name:, last_name:, email:, request_options: nil) ⇒ Object
).
-
#finish_onboarding(company_uuid:, request_options: nil) ⇒ Object
api.companies.finish_onboarding(company_uuid: “company_uuid”).
-
#get(company_id:, request_options: nil) ⇒ Object
api.companies.get(company_id: “company_id”).
-
#get_all_admins(company_id:, page: nil, per: nil, request_options: nil) ⇒ Object
api.companies.get_all_admins(company_id: “company_id”).
-
#get_custom_fields(company_id:, page: nil, per: nil, request_options: nil) ⇒ Object
api.companies.get_custom_fields(company_id: “company_id”).
-
#get_onboarding_status(company_uuid:, request_options: nil) ⇒ Object
api.companies.get_onboarding_status(company_uuid: “company_uuid”).
- #initialize(request_client:) ⇒ Gusto::AsyncCompaniesClient constructor
-
#migrate_to_embedded_payroll(company_uuid:, email:, ip_address:, external_user_id:, request_options: nil) ⇒ Object
).
-
#retrieve_terms(company_uuid:, email:, request_options: nil) ⇒ Object
api.companies.retrieve_terms(company_uuid: “company_uuid”, email: “email”).
-
#update(company_id:, contractor_only:, request_options: nil) ⇒ Object
api.companies.update(company_id: “company_id”, contractor_only: false).
Constructor Details
#initialize(request_client:) ⇒ Gusto::AsyncCompaniesClient
597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 |
# File 'lib/fern_gusto/companies/client.rb', line 597 def initialize(request_client:) @request_client = request_client @attachments = Gusto::Companies::AsyncAttachmentsClient.new(request_client: request_client) @federal_tax_details = Gusto::Companies::AsyncFederalTaxDetailsClient.new(request_client: request_client) @industry_selection = Gusto::Companies::AsyncIndustrySelectionClient.new(request_client: request_client) @signatories = Gusto::Companies::AsyncSignatoriesClient.new(request_client: request_client) @locations = Gusto::Companies::AsyncLocationsClient.new(request_client: request_client) @bank_accounts = Gusto::Companies::AsyncBankAccountsClient.new(request_client: request_client) @external_payrolls = Gusto::Companies::AsyncExternalPayrollsClient.new(request_client: request_client) @payment_configs = Gusto::Companies::AsyncPaymentConfigsClient.new(request_client: request_client) @pay_schedules = Gusto::Companies::AsyncPaySchedulesClient.new(request_client: request_client) @employees = Gusto::Companies::AsyncEmployeesClient.new(request_client: request_client) @departments = Gusto::Companies::AsyncDepartmentsClient.new(request_client: request_client) @forms = Gusto::Companies::AsyncFormsClient.new(request_client: request_client) @benefits = Gusto::Companies::AsyncBenefitsClient.new(request_client: request_client) @tax_requirements = Gusto::Companies::AsyncTaxRequirementsClient.new(request_client: request_client) end |
Instance Attribute Details
#attachments ⇒ Gusto::Companies::AttachmentsClient (readonly)
566 567 568 |
# File 'lib/fern_gusto/companies/client.rb', line 566 def @attachments end |
#bank_accounts ⇒ Gusto::Companies::BankAccountsClient (readonly)
576 577 578 |
# File 'lib/fern_gusto/companies/client.rb', line 576 def bank_accounts @bank_accounts end |
#benefits ⇒ Gusto::Companies::BenefitsClient (readonly)
590 591 592 |
# File 'lib/fern_gusto/companies/client.rb', line 590 def benefits @benefits end |
#departments ⇒ Gusto::Companies::DepartmentsClient (readonly)
586 587 588 |
# File 'lib/fern_gusto/companies/client.rb', line 586 def departments @departments end |
#employees ⇒ Gusto::Companies::EmployeesClient (readonly)
584 585 586 |
# File 'lib/fern_gusto/companies/client.rb', line 584 def employees @employees end |
#external_payrolls ⇒ Gusto::Companies::ExternalPayrollsClient (readonly)
578 579 580 |
# File 'lib/fern_gusto/companies/client.rb', line 578 def external_payrolls @external_payrolls end |
#federal_tax_details ⇒ Gusto::Companies::FederalTaxDetailsClient (readonly)
568 569 570 |
# File 'lib/fern_gusto/companies/client.rb', line 568 def federal_tax_details @federal_tax_details end |
#forms ⇒ Gusto::Companies::FormsClient (readonly)
588 589 590 |
# File 'lib/fern_gusto/companies/client.rb', line 588 def forms @forms end |
#industry_selection ⇒ Gusto::Companies::IndustrySelectionClient (readonly)
570 571 572 |
# File 'lib/fern_gusto/companies/client.rb', line 570 def industry_selection @industry_selection end |
#locations ⇒ Gusto::Companies::LocationsClient (readonly)
574 575 576 |
# File 'lib/fern_gusto/companies/client.rb', line 574 def locations @locations end |
#pay_schedules ⇒ Gusto::Companies::PaySchedulesClient (readonly)
582 583 584 |
# File 'lib/fern_gusto/companies/client.rb', line 582 def pay_schedules @pay_schedules end |
#payment_configs ⇒ Gusto::Companies::PaymentConfigsClient (readonly)
580 581 582 |
# File 'lib/fern_gusto/companies/client.rb', line 580 def payment_configs @payment_configs end |
#request_client ⇒ Gusto::AsyncRequestClient (readonly)
564 565 566 |
# File 'lib/fern_gusto/companies/client.rb', line 564 def request_client @request_client end |
#signatories ⇒ Gusto::Companies::SignatoriesClient (readonly)
572 573 574 |
# File 'lib/fern_gusto/companies/client.rb', line 572 def signatories @signatories end |
#tax_requirements ⇒ Gusto::Companies::TaxRequirementsClient (readonly)
592 593 594 |
# File 'lib/fern_gusto/companies/client.rb', line 592 def tax_requirements @tax_requirements end |
Instance Method Details
#accept_terms(company_uuid:, email:, ip_address:, external_user_id:, request_options: nil) ⇒ Object
)
828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 |
# File 'lib/fern_gusto/companies/client.rb', line 828 def accept_terms(company_uuid:, email:, ip_address:, external_user_id:, 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 || {}), email: email, ip_address: ip_address, external_user_id: external_user_id }.compact req.url "#{@request_client.get_url(request_options: )}/v1/partner_managed_companies/#{company_uuid}/accept_terms_of_service" end Gusto::Companies::CompaniesAcceptTermsResponse.from_json(json_object: response.body) end end |
#create(user:, company:, request_options: nil) ⇒ Object
api.companies.create(user: { first_name: “Frank”, last_name: “Ocean”, email: “frank@example.com”, phone: “2345558899” }, company: { name: “Frank’s Ocean, LLC”, trade_name: “Frank’s Ocean”, ein: “123456789”, contractor_only: false })
650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 |
# File 'lib/fern_gusto/companies/client.rb', line 650 def create(user:, company:, 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 || {}), user: user, company: company }.compact req.url "#{@request_client.get_url(request_options: )}/v1/partner_managed_companies" end Gusto::Companies::CompaniesCreateResponse.from_json(json_object: response.body) end end |
#create_admin(company_id:, first_name:, last_name:, email:, request_options: nil) ⇒ Object
)
954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 |
# File 'lib/fern_gusto/companies/client.rb', line 954 def create_admin(company_id:, first_name:, last_name:, email:, 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 || {}), first_name: first_name, last_name: last_name, email: email }.compact req.url "#{@request_client.get_url(request_options: )}/v1/companies/#{company_id}/admins" end Gusto::Admins::Admin.from_json(json_object: response.body) end end |
#finish_onboarding(company_uuid:, request_options: nil) ⇒ Object
api.companies.finish_onboarding(company_uuid: “company_uuid”)
1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 |
# File 'lib/fern_gusto/companies/client.rb', line 1040 def finish_onboarding(company_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/companies/#{company_uuid}/finish_onboarding" end Gusto::Companies::CompanyOnboardingStatus.from_json(json_object: response.body) end end |
#get(company_id:, request_options: nil) ⇒ Object
api.companies.get(company_id: “company_id”)
689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 |
# File 'lib/fern_gusto/companies/client.rb', line 689 def get(company_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/companies/#{company_id}" end Gusto::Companies::Company.from_json(json_object: response.body) end end |
#get_all_admins(company_id:, page: nil, per: nil, request_options: nil) ⇒ Object
api.companies.get_all_admins(company_id: “company_id”)
904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 |
# File 'lib/fern_gusto/companies/client.rb', line 904 def get_all_admins(company_id:, page: nil, per: nil, 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 req.params = { **(&.additional_query_parameters || {}), "page": page, "per": per }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/companies/#{company_id}/admins" end parsed_json = JSON.parse(response.body) parsed_json&.map do | item | item = item.to_json Gusto::Admins::Admin.from_json(json_object: item) end end end |
#get_custom_fields(company_id:, page: nil, per: nil, request_options: nil) ⇒ Object
api.companies.get_custom_fields(company_id: “company_id”)
1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 |
# File 'lib/fern_gusto/companies/client.rb', line 1081 def get_custom_fields(company_id:, page: nil, per: nil, 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 req.params = { **(&.additional_query_parameters || {}), "page": page, "per": per }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/v1/companies/#{company_id}/custom_fields" end Gusto::Companies::CompaniesGetCustomFieldsResponse.from_json(json_object: response.body) end end |
#get_onboarding_status(company_uuid:, request_options: nil) ⇒ Object
api.companies.get_onboarding_status(company_uuid: “company_uuid”)
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 |
# File 'lib/fern_gusto/companies/client.rb', line 991 def get_onboarding_status(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}/onboarding_status" end Gusto::Companies::CompanyOnboardingStatus.from_json(json_object: response.body) end end |
#migrate_to_embedded_payroll(company_uuid:, email:, ip_address:, external_user_id:, request_options: nil) ⇒ Object
)
781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 |
# File 'lib/fern_gusto/companies/client.rb', line 781 def (company_uuid:, email:, ip_address:, external_user_id:, 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 || {}), email: email, ip_address: ip_address, external_user_id: external_user_id }.compact req.url "#{@request_client.get_url(request_options: )}/v1/partner_managed_companies/#{company_uuid}/migrate" end Gusto::Companies::CompaniesMigrateToEmbeddedPayrollResponse.from_json(json_object: response.body) end end |
#retrieve_terms(company_uuid:, email:, request_options: nil) ⇒ Object
api.companies.retrieve_terms(company_uuid: “company_uuid”, email: “email”)
866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 |
# File 'lib/fern_gusto/companies/client.rb', line 866 def retrieve_terms(company_uuid:, email:, 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 || {}), email: email }.compact req.url "#{@request_client.get_url(request_options: )}/v1/partner_managed_companies/#{company_uuid}/retrieve_terms_of_service" end Gusto::Companies::CompaniesRetrieveTermsResponse.from_json(json_object: response.body) end end |
#update(company_id:, contractor_only:, request_options: nil) ⇒ Object
api.companies.update(company_id: “company_id”, contractor_only: false)
730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 |
# File 'lib/fern_gusto/companies/client.rb', line 730 def update(company_id:, contractor_only:, 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 || {}), contractor_only: contractor_only }.compact req.url "#{@request_client.get_url(request_options: )}/v1/companies/#{company_id}" end Gusto::Companies::Company.from_json(json_object: response.body) end end |