xero-apimatic-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +175 -0
- data/bin/console +15 -0
- data/lib/xero_ap_is/api_helper.rb +10 -0
- data/lib/xero_ap_is/apis/accounting_api.rb +8328 -0
- data/lib/xero_ap_is/apis/asset_api.rb +210 -0
- data/lib/xero_ap_is/apis/bank_feeds_api.rb +268 -0
- data/lib/xero_ap_is/apis/base_api.rb +67 -0
- data/lib/xero_ap_is/apis/identity_api.rb +51 -0
- data/lib/xero_ap_is/apis/oauth_authorization_api.rb +87 -0
- data/lib/xero_ap_is/apis/project_api.rb +662 -0
- data/lib/xero_ap_is/client.rb +110 -0
- data/lib/xero_ap_is/configuration.rb +196 -0
- data/lib/xero_ap_is/exceptions/api_exception.rb +21 -0
- data/lib/xero_ap_is/exceptions/asset_types400_error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/assets400_error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/error_error1_exception.rb +63 -0
- data/lib/xero_ap_is/exceptions/error_error2_exception.rb +51 -0
- data/lib/xero_ap_is/exceptions/error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/feed_connections_error_exception.rb +60 -0
- data/lib/xero_ap_is/exceptions/oauth_provider_exception.rb +64 -0
- data/lib/xero_ap_is/exceptions/statements_error_exception.rb +60 -0
- data/lib/xero_ap_is/http/api_response.rb +19 -0
- data/lib/xero_ap_is/http/auth/basic_auth.rb +62 -0
- data/lib/xero_ap_is/http/auth/oauth_2.rb +161 -0
- data/lib/xero_ap_is/http/http_call_back.rb +10 -0
- data/lib/xero_ap_is/http/http_method_enum.rb +10 -0
- data/lib/xero_ap_is/http/http_request.rb +10 -0
- data/lib/xero_ap_is/http/http_response.rb +10 -0
- data/lib/xero_ap_is/http/proxy_settings.rb +22 -0
- data/lib/xero_ap_is/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/xero_ap_is/logging/sdk_logger.rb +17 -0
- data/lib/xero_ap_is/models/access_token.rb +116 -0
- data/lib/xero_ap_is/models/account.rb +300 -0
- data/lib/xero_ap_is/models/account_type.rb +100 -0
- data/lib/xero_ap_is/models/account_type1.rb +37 -0
- data/lib/xero_ap_is/models/accounts.rb +84 -0
- data/lib/xero_ap_is/models/accounts_payable.rb +85 -0
- data/lib/xero_ap_is/models/accounts_receivable.rb +85 -0
- data/lib/xero_ap_is/models/action.rb +85 -0
- data/lib/xero_ap_is/models/actions.rb +84 -0
- data/lib/xero_ap_is/models/address.rb +167 -0
- data/lib/xero_ap_is/models/address_for_organisation.rb +167 -0
- data/lib/xero_ap_is/models/address_type.rb +40 -0
- data/lib/xero_ap_is/models/address_type1.rb +36 -0
- data/lib/xero_ap_is/models/allocation.rb +174 -0
- data/lib/xero_ap_is/models/allocations.rb +85 -0
- data/lib/xero_ap_is/models/amount.rb +85 -0
- data/lib/xero_ap_is/models/asset.rb +249 -0
- data/lib/xero_ap_is/models/asset_status.rb +40 -0
- data/lib/xero_ap_is/models/asset_status_query_param.rb +40 -0
- data/lib/xero_ap_is/models/asset_type.rb +154 -0
- data/lib/xero_ap_is/models/assets.rb +94 -0
- data/lib/xero_ap_is/models/attachment.rb +126 -0
- data/lib/xero_ap_is/models/attachments.rb +85 -0
- data/lib/xero_ap_is/models/averaging_method.rb +36 -0
- data/lib/xero_ap_is/models/balance_details.rb +98 -0
- data/lib/xero_ap_is/models/balances.rb +89 -0
- data/lib/xero_ap_is/models/bank_account_type.rb +44 -0
- data/lib/xero_ap_is/models/bank_transaction.rb +319 -0
- data/lib/xero_ap_is/models/bank_transactions.rb +114 -0
- data/lib/xero_ap_is/models/bank_transfer.rb +224 -0
- data/lib/xero_ap_is/models/bank_transfers.rb +85 -0
- data/lib/xero_ap_is/models/base_model.rb +110 -0
- data/lib/xero_ap_is/models/batch_payment.rb +275 -0
- data/lib/xero_ap_is/models/batch_payment_delete.rb +84 -0
- data/lib/xero_ap_is/models/batch_payment_delete_by_url_param.rb +73 -0
- data/lib/xero_ap_is/models/batch_payment_details.rb +128 -0
- data/lib/xero_ap_is/models/batch_payments.rb +85 -0
- data/lib/xero_ap_is/models/bill.rb +85 -0
- data/lib/xero_ap_is/models/book_depreciation_detail.rb +243 -0
- data/lib/xero_ap_is/models/book_depreciation_setting.rb +170 -0
- data/lib/xero_ap_is/models/branding_theme.rb +129 -0
- data/lib/xero_ap_is/models/branding_themes.rb +85 -0
- data/lib/xero_ap_is/models/budget.rb +145 -0
- data/lib/xero_ap_is/models/budget_balance.rb +105 -0
- data/lib/xero_ap_is/models/budget_line.rb +105 -0
- data/lib/xero_ap_is/models/budgets.rb +84 -0
- data/lib/xero_ap_is/models/charge_type.rb +42 -0
- data/lib/xero_ap_is/models/cis_org_setting.rb +105 -0
- data/lib/xero_ap_is/models/cis_org_settings.rb +85 -0
- data/lib/xero_ap_is/models/cis_setting.rb +86 -0
- data/lib/xero_ap_is/models/cis_settings.rb +85 -0
- data/lib/xero_ap_is/models/class1.rb +113 -0
- data/lib/xero_ap_is/models/connection.rb +155 -0
- data/lib/xero_ap_is/models/contact.rb +661 -0
- data/lib/xero_ap_is/models/contact_group.rb +119 -0
- data/lib/xero_ap_is/models/contact_groups.rb +85 -0
- data/lib/xero_ap_is/models/contact_person.rb +108 -0
- data/lib/xero_ap_is/models/contact_status.rb +40 -0
- data/lib/xero_ap_is/models/contacts.rb +113 -0
- data/lib/xero_ap_is/models/conversion_balances.rb +108 -0
- data/lib/xero_ap_is/models/conversion_date.rb +87 -0
- data/lib/xero_ap_is/models/country_code.rb +990 -0
- data/lib/xero_ap_is/models/credit_debit_indicator.rb +37 -0
- data/lib/xero_ap_is/models/credit_note.rb +453 -0
- data/lib/xero_ap_is/models/credit_notes.rb +113 -0
- data/lib/xero_ap_is/models/currencies.rb +85 -0
- data/lib/xero_ap_is/models/currency.rb +85 -0
- data/lib/xero_ap_is/models/currency_code.rb +700 -0
- data/lib/xero_ap_is/models/currency_code1.rb +680 -0
- data/lib/xero_ap_is/models/depreciation_calculation_method.rb +40 -0
- data/lib/xero_ap_is/models/depreciation_method.rb +52 -0
- data/lib/xero_ap_is/models/due_date_type.rb +52 -0
- data/lib/xero_ap_is/models/edition.rb +38 -0
- data/lib/xero_ap_is/models/element.rb +160 -0
- data/lib/xero_ap_is/models/employee.rb +160 -0
- data/lib/xero_ap_is/models/employees.rb +85 -0
- data/lib/xero_ap_is/models/end_balance.rb +89 -0
- data/lib/xero_ap_is/models/error1.rb +138 -0
- data/lib/xero_ap_is/models/error2.rb +106 -0
- data/lib/xero_ap_is/models/error3.rb +85 -0
- data/lib/xero_ap_is/models/expense_claim.rb +209 -0
- data/lib/xero_ap_is/models/expense_claims.rb +85 -0
- data/lib/xero_ap_is/models/external_link.rb +95 -0
- data/lib/xero_ap_is/models/federal_tax_classification.rb +56 -0
- data/lib/xero_ap_is/models/feed_connection.rb +177 -0
- data/lib/xero_ap_is/models/feed_connections.rb +94 -0
- data/lib/xero_ap_is/models/field_validation_errors_element.rb +127 -0
- data/lib/xero_ap_is/models/history_record.rb +105 -0
- data/lib/xero_ap_is/models/history_records.rb +85 -0
- data/lib/xero_ap_is/models/import_summary.rb +87 -0
- data/lib/xero_ap_is/models/import_summary_accounts.rb +154 -0
- data/lib/xero_ap_is/models/import_summary_object.rb +76 -0
- data/lib/xero_ap_is/models/import_summary_organisation.rb +75 -0
- data/lib/xero_ap_is/models/invoice.rb +586 -0
- data/lib/xero_ap_is/models/invoice_address.rb +158 -0
- data/lib/xero_ap_is/models/invoice_address_type.rb +37 -0
- data/lib/xero_ap_is/models/invoice_reminder.rb +75 -0
- data/lib/xero_ap_is/models/invoice_reminders.rb +85 -0
- data/lib/xero_ap_is/models/invoices.rb +113 -0
- data/lib/xero_ap_is/models/item.rb +259 -0
- data/lib/xero_ap_is/models/items.rb +84 -0
- data/lib/xero_ap_is/models/journal.rb +157 -0
- data/lib/xero_ap_is/models/journal_line.rb +201 -0
- data/lib/xero_ap_is/models/journals.rb +103 -0
- data/lib/xero_ap_is/models/line_amount_types.rb +41 -0
- data/lib/xero_ap_is/models/line_item.rb +287 -0
- data/lib/xero_ap_is/models/line_item_item.rb +95 -0
- data/lib/xero_ap_is/models/line_item_tracking.rb +108 -0
- data/lib/xero_ap_is/models/link_type.rb +48 -0
- data/lib/xero_ap_is/models/linked_transaction.rb +215 -0
- data/lib/xero_ap_is/models/linked_transactions.rb +85 -0
- data/lib/xero_ap_is/models/manual_journal.rb +255 -0
- data/lib/xero_ap_is/models/manual_journal_line.rb +156 -0
- data/lib/xero_ap_is/models/manual_journals.rb +114 -0
- data/lib/xero_ap_is/models/mclass.rb +48 -0
- data/lib/xero_ap_is/models/oauth_provider_error.rb +62 -0
- data/lib/xero_ap_is/models/oauth_scope_oauth_2.rb +113 -0
- data/lib/xero_ap_is/models/oauth_token.rb +96 -0
- data/lib/xero_ap_is/models/online_invoice.rb +77 -0
- data/lib/xero_ap_is/models/online_invoices.rb +85 -0
- data/lib/xero_ap_is/models/order_by.rb +56 -0
- data/lib/xero_ap_is/models/organisation.rb +467 -0
- data/lib/xero_ap_is/models/organisation_entity_type.rb +80 -0
- data/lib/xero_ap_is/models/organisation_role.rb +61 -0
- data/lib/xero_ap_is/models/organisation_type.rb +80 -0
- data/lib/xero_ap_is/models/organisations.rb +85 -0
- data/lib/xero_ap_is/models/overpayment.rb +309 -0
- data/lib/xero_ap_is/models/overpayments.rb +113 -0
- data/lib/xero_ap_is/models/pagination.rb +105 -0
- data/lib/xero_ap_is/models/payment.rb +381 -0
- data/lib/xero_ap_is/models/payment_delete.rb +73 -0
- data/lib/xero_ap_is/models/payment_service.rb +143 -0
- data/lib/xero_ap_is/models/payment_services.rb +85 -0
- data/lib/xero_ap_is/models/payment_term.rb +85 -0
- data/lib/xero_ap_is/models/payment_term_type.rb +44 -0
- data/lib/xero_ap_is/models/payment_type.rb +60 -0
- data/lib/xero_ap_is/models/payments.rb +113 -0
- data/lib/xero_ap_is/models/phone.rb +108 -0
- data/lib/xero_ap_is/models/phone_type.rb +48 -0
- data/lib/xero_ap_is/models/prepayment.rb +309 -0
- data/lib/xero_ap_is/models/prepayments.rb +113 -0
- data/lib/xero_ap_is/models/project.rb +328 -0
- data/lib/xero_ap_is/models/project_create_or_update.rb +115 -0
- data/lib/xero_ap_is/models/project_patch.rb +73 -0
- data/lib/xero_ap_is/models/project_status.rb +36 -0
- data/lib/xero_ap_is/models/project_user.rb +95 -0
- data/lib/xero_ap_is/models/project_users.rb +94 -0
- data/lib/xero_ap_is/models/projects.rb +94 -0
- data/lib/xero_ap_is/models/purchase.rb +112 -0
- data/lib/xero_ap_is/models/purchase_order.rb +408 -0
- data/lib/xero_ap_is/models/purchase_orders.rb +114 -0
- data/lib/xero_ap_is/models/purchases_default_line_amount_type.rb +42 -0
- data/lib/xero_ap_is/models/quote.rb +338 -0
- data/lib/xero_ap_is/models/quote_line_amount_types.rb +41 -0
- data/lib/xero_ap_is/models/quote_status_codes.rb +52 -0
- data/lib/xero_ap_is/models/quotes.rb +84 -0
- data/lib/xero_ap_is/models/receipt.rb +287 -0
- data/lib/xero_ap_is/models/receipts.rb +84 -0
- data/lib/xero_ap_is/models/refresh_token.rb +106 -0
- data/lib/xero_ap_is/models/repeating_invoice.rb +290 -0
- data/lib/xero_ap_is/models/repeating_invoices.rb +85 -0
- data/lib/xero_ap_is/models/report.rb +136 -0
- data/lib/xero_ap_is/models/report_attribute.rb +85 -0
- data/lib/xero_ap_is/models/report_cell.rb +94 -0
- data/lib/xero_ap_is/models/report_fields.rb +95 -0
- data/lib/xero_ap_is/models/report_row.rb +104 -0
- data/lib/xero_ap_is/models/report_rows.rb +123 -0
- data/lib/xero_ap_is/models/report_tax_type.rb +424 -0
- data/lib/xero_ap_is/models/report_type.rb +26 -0
- data/lib/xero_ap_is/models/report_with_row.rb +176 -0
- data/lib/xero_ap_is/models/report_with_rows.rb +84 -0
- data/lib/xero_ap_is/models/reports.rb +84 -0
- data/lib/xero_ap_is/models/request_empty.rb +75 -0
- data/lib/xero_ap_is/models/resource_validation_errors_element.rb +116 -0
- data/lib/xero_ap_is/models/row_type.rb +44 -0
- data/lib/xero_ap_is/models/sales_default_line_amount_type.rb +42 -0
- data/lib/xero_ap_is/models/sales_tax_basis.rb +60 -0
- data/lib/xero_ap_is/models/sales_tax_period.rb +88 -0
- data/lib/xero_ap_is/models/sales_tracking_category.rb +89 -0
- data/lib/xero_ap_is/models/schedule.rb +140 -0
- data/lib/xero_ap_is/models/setting.rb +175 -0
- data/lib/xero_ap_is/models/setup.rb +117 -0
- data/lib/xero_ap_is/models/sort_direction.rb +36 -0
- data/lib/xero_ap_is/models/source_transaction_type_code.rb +38 -0
- data/lib/xero_ap_is/models/source_type.rb +128 -0
- data/lib/xero_ap_is/models/start_balance.rb +88 -0
- data/lib/xero_ap_is/models/statement.rb +194 -0
- data/lib/xero_ap_is/models/statement_line.rb +162 -0
- data/lib/xero_ap_is/models/statements.rb +94 -0
- data/lib/xero_ap_is/models/status.rb +41 -0
- data/lib/xero_ap_is/models/status1.rb +38 -0
- data/lib/xero_ap_is/models/status10.rb +40 -0
- data/lib/xero_ap_is/models/status11.rb +44 -0
- data/lib/xero_ap_is/models/status110.rb +40 -0
- data/lib/xero_ap_is/models/status111.rb +43 -0
- data/lib/xero_ap_is/models/status12.rb +48 -0
- data/lib/xero_ap_is/models/status13.rb +48 -0
- data/lib/xero_ap_is/models/status14.rb +52 -0
- data/lib/xero_ap_is/models/status15.rb +48 -0
- data/lib/xero_ap_is/models/status16.rb +36 -0
- data/lib/xero_ap_is/models/status17.rb +48 -0
- data/lib/xero_ap_is/models/status18.rb +40 -0
- data/lib/xero_ap_is/models/status19.rb +44 -0
- data/lib/xero_ap_is/models/status2.rb +40 -0
- data/lib/xero_ap_is/models/status20.rb +48 -0
- data/lib/xero_ap_is/models/status21.rb +36 -0
- data/lib/xero_ap_is/models/status22.rb +44 -0
- data/lib/xero_ap_is/models/status3.rb +52 -0
- data/lib/xero_ap_is/models/status4.rb +40 -0
- data/lib/xero_ap_is/models/status5.rb +40 -0
- data/lib/xero_ap_is/models/status6.rb +52 -0
- data/lib/xero_ap_is/models/status7.rb +36 -0
- data/lib/xero_ap_is/models/status8.rb +37 -0
- data/lib/xero_ap_is/models/status9.rb +40 -0
- data/lib/xero_ap_is/models/system_account.rb +110 -0
- data/lib/xero_ap_is/models/task.rb +234 -0
- data/lib/xero_ap_is/models/task_create_or_update.rb +105 -0
- data/lib/xero_ap_is/models/tasks.rb +94 -0
- data/lib/xero_ap_is/models/tax_breakdown_component.rb +172 -0
- data/lib/xero_ap_is/models/tax_component.rb +108 -0
- data/lib/xero_ap_is/models/tax_number_type.rb +45 -0
- data/lib/xero_ap_is/models/tax_rate.rb +213 -0
- data/lib/xero_ap_is/models/tax_rates.rb +85 -0
- data/lib/xero_ap_is/models/tax_type.rb +520 -0
- data/lib/xero_ap_is/models/taxability.rb +48 -0
- data/lib/xero_ap_is/models/ten_ninety_nine_contact.rb +318 -0
- data/lib/xero_ap_is/models/time_entries.rb +94 -0
- data/lib/xero_ap_is/models/time_entry.rb +179 -0
- data/lib/xero_ap_is/models/time_entry_create_or_update.rb +120 -0
- data/lib/xero_ap_is/models/time_zone.rb +592 -0
- data/lib/xero_ap_is/models/timeframe.rb +40 -0
- data/lib/xero_ap_is/models/tracking_categories.rb +85 -0
- data/lib/xero_ap_is/models/tracking_category.rb +140 -0
- data/lib/xero_ap_is/models/tracking_option.rb +109 -0
- data/lib/xero_ap_is/models/tracking_options.rb +84 -0
- data/lib/xero_ap_is/models/type.rb +60 -0
- data/lib/xero_ap_is/models/type1.rb +26 -0
- data/lib/xero_ap_is/models/type10.rb +36 -0
- data/lib/xero_ap_is/models/type11.rb +114 -0
- data/lib/xero_ap_is/models/type2.rb +48 -0
- data/lib/xero_ap_is/models/type3.rb +60 -0
- data/lib/xero_ap_is/models/type4.rb +44 -0
- data/lib/xero_ap_is/models/type5.rb +40 -0
- data/lib/xero_ap_is/models/type6.rb +36 -0
- data/lib/xero_ap_is/models/type7.rb +37 -0
- data/lib/xero_ap_is/models/type8.rb +36 -0
- data/lib/xero_ap_is/models/type9.rb +26 -0
- data/lib/xero_ap_is/models/unit.rb +36 -0
- data/lib/xero_ap_is/models/user.rb +139 -0
- data/lib/xero_ap_is/models/users.rb +84 -0
- data/lib/xero_ap_is/models/validation_error.rb +75 -0
- data/lib/xero_ap_is/models/version.rb +68 -0
- data/lib/xero_ap_is/utilities/date_time_helper.rb +11 -0
- data/lib/xero_ap_is/utilities/file_wrapper.rb +28 -0
- data/lib/xero_ap_is.rb +309 -0
- metadata +372 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# See Invoice Status Codes
|
|
8
|
+
class Status3
|
|
9
|
+
STATUS3 = [
|
|
10
|
+
# TODO: Write general description for DRAFT
|
|
11
|
+
DRAFT = 'DRAFT'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for SUBMITTED
|
|
14
|
+
SUBMITTED = 'SUBMITTED'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for DELETED
|
|
17
|
+
DELETED = 'DELETED'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for AUTHORISED
|
|
20
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for PAID
|
|
23
|
+
PAID = 'PAID'.freeze,
|
|
24
|
+
|
|
25
|
+
# TODO: Write general description for VOIDED
|
|
26
|
+
VOIDED = 'VOIDED'.freeze
|
|
27
|
+
].freeze
|
|
28
|
+
|
|
29
|
+
def self.validate(value)
|
|
30
|
+
return false if value.nil?
|
|
31
|
+
|
|
32
|
+
STATUS3.include?(value)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.from_value(value, default_value = DRAFT)
|
|
36
|
+
return default_value if value.nil?
|
|
37
|
+
|
|
38
|
+
str = value.to_s.strip
|
|
39
|
+
|
|
40
|
+
case str.downcase
|
|
41
|
+
when 'draft' then DRAFT
|
|
42
|
+
when 'submitted' then SUBMITTED
|
|
43
|
+
when 'deleted' then DELETED
|
|
44
|
+
when 'authorised' then AUTHORISED
|
|
45
|
+
when 'paid' then PAID
|
|
46
|
+
when 'voided' then VOIDED
|
|
47
|
+
else
|
|
48
|
+
default_value
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# See Prepayment Status Codes
|
|
8
|
+
class Status4
|
|
9
|
+
STATUS4 = [
|
|
10
|
+
# TODO: Write general description for AUTHORISED
|
|
11
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for PAID
|
|
14
|
+
PAID = 'PAID'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for VOIDED
|
|
17
|
+
VOIDED = 'VOIDED'.freeze
|
|
18
|
+
].freeze
|
|
19
|
+
|
|
20
|
+
def self.validate(value)
|
|
21
|
+
return false if value.nil?
|
|
22
|
+
|
|
23
|
+
STATUS4.include?(value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from_value(value, default_value = AUTHORISED)
|
|
27
|
+
return default_value if value.nil?
|
|
28
|
+
|
|
29
|
+
str = value.to_s.strip
|
|
30
|
+
|
|
31
|
+
case str.downcase
|
|
32
|
+
when 'authorised' then AUTHORISED
|
|
33
|
+
when 'paid' then PAID
|
|
34
|
+
when 'voided' then VOIDED
|
|
35
|
+
else
|
|
36
|
+
default_value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# See Overpayment Status Codes
|
|
8
|
+
class Status5
|
|
9
|
+
STATUS5 = [
|
|
10
|
+
# TODO: Write general description for AUTHORISED
|
|
11
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for PAID
|
|
14
|
+
PAID = 'PAID'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for VOIDED
|
|
17
|
+
VOIDED = 'VOIDED'.freeze
|
|
18
|
+
].freeze
|
|
19
|
+
|
|
20
|
+
def self.validate(value)
|
|
21
|
+
return false if value.nil?
|
|
22
|
+
|
|
23
|
+
STATUS5.include?(value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from_value(value, default_value = AUTHORISED)
|
|
27
|
+
return default_value if value.nil?
|
|
28
|
+
|
|
29
|
+
str = value.to_s.strip
|
|
30
|
+
|
|
31
|
+
case str.downcase
|
|
32
|
+
when 'authorised' then AUTHORISED
|
|
33
|
+
when 'paid' then PAID
|
|
34
|
+
when 'voided' then VOIDED
|
|
35
|
+
else
|
|
36
|
+
default_value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# See Credit Note Status Codes
|
|
8
|
+
class Status6
|
|
9
|
+
STATUS6 = [
|
|
10
|
+
# TODO: Write general description for DRAFT
|
|
11
|
+
DRAFT = 'DRAFT'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for SUBMITTED
|
|
14
|
+
SUBMITTED = 'SUBMITTED'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for DELETED
|
|
17
|
+
DELETED = 'DELETED'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for AUTHORISED
|
|
20
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for PAID
|
|
23
|
+
PAID = 'PAID'.freeze,
|
|
24
|
+
|
|
25
|
+
# TODO: Write general description for VOIDED
|
|
26
|
+
VOIDED = 'VOIDED'.freeze
|
|
27
|
+
].freeze
|
|
28
|
+
|
|
29
|
+
def self.validate(value)
|
|
30
|
+
return false if value.nil?
|
|
31
|
+
|
|
32
|
+
STATUS6.include?(value)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.from_value(value, default_value = DRAFT)
|
|
36
|
+
return default_value if value.nil?
|
|
37
|
+
|
|
38
|
+
str = value.to_s.strip
|
|
39
|
+
|
|
40
|
+
case str.downcase
|
|
41
|
+
when 'draft' then DRAFT
|
|
42
|
+
when 'submitted' then SUBMITTED
|
|
43
|
+
when 'deleted' then DELETED
|
|
44
|
+
when 'authorised' then AUTHORISED
|
|
45
|
+
when 'paid' then PAID
|
|
46
|
+
when 'voided' then VOIDED
|
|
47
|
+
else
|
|
48
|
+
default_value
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# The status of the payment.
|
|
8
|
+
class Status7
|
|
9
|
+
STATUS7 = [
|
|
10
|
+
# TODO: Write general description for AUTHORISED
|
|
11
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for DELETED
|
|
14
|
+
DELETED = 'DELETED'.freeze
|
|
15
|
+
].freeze
|
|
16
|
+
|
|
17
|
+
def self.validate(value)
|
|
18
|
+
return false if value.nil?
|
|
19
|
+
|
|
20
|
+
STATUS7.include?(value)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.from_value(value, default_value = AUTHORISED)
|
|
24
|
+
return default_value if value.nil?
|
|
25
|
+
|
|
26
|
+
str = value.to_s.strip
|
|
27
|
+
|
|
28
|
+
case str.downcase
|
|
29
|
+
when 'authorised' then AUTHORISED
|
|
30
|
+
when 'deleted' then DELETED
|
|
31
|
+
else
|
|
32
|
+
default_value
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# AUTHORISED or DELETED (read-only). New batch payments will have a status of
|
|
8
|
+
# AUTHORISED. It is not possible to delete batch payments via the API.
|
|
9
|
+
class Status8
|
|
10
|
+
STATUS8 = [
|
|
11
|
+
# TODO: Write general description for AUTHORISED
|
|
12
|
+
AUTHORISED = 'AUTHORISED'.freeze,
|
|
13
|
+
|
|
14
|
+
# TODO: Write general description for DELETED
|
|
15
|
+
DELETED = 'DELETED'.freeze
|
|
16
|
+
].freeze
|
|
17
|
+
|
|
18
|
+
def self.validate(value)
|
|
19
|
+
return false if value.nil?
|
|
20
|
+
|
|
21
|
+
STATUS8.include?(value)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.from_value(value, default_value = AUTHORISED)
|
|
25
|
+
return default_value if value.nil?
|
|
26
|
+
|
|
27
|
+
str = value.to_s.strip
|
|
28
|
+
|
|
29
|
+
case str.downcase
|
|
30
|
+
when 'authorised' then AUTHORISED
|
|
31
|
+
when 'deleted' then DELETED
|
|
32
|
+
else
|
|
33
|
+
default_value
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# The status of a tracking category
|
|
8
|
+
class Status9
|
|
9
|
+
STATUS9 = [
|
|
10
|
+
# TODO: Write general description for ACTIVE
|
|
11
|
+
ACTIVE = 'ACTIVE'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for ARCHIVED
|
|
14
|
+
ARCHIVED = 'ARCHIVED'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for DELETED
|
|
17
|
+
DELETED = 'DELETED'.freeze
|
|
18
|
+
].freeze
|
|
19
|
+
|
|
20
|
+
def self.validate(value)
|
|
21
|
+
return false if value.nil?
|
|
22
|
+
|
|
23
|
+
STATUS9.include?(value)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def self.from_value(value, default_value = ACTIVE)
|
|
27
|
+
return default_value if value.nil?
|
|
28
|
+
|
|
29
|
+
str = value.to_s.strip
|
|
30
|
+
|
|
31
|
+
case str.downcase
|
|
32
|
+
when 'active' then ACTIVE
|
|
33
|
+
when 'archived' then ARCHIVED
|
|
34
|
+
when 'deleted' then DELETED
|
|
35
|
+
else
|
|
36
|
+
default_value
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# If this is a system account then this element is returned. See System
|
|
8
|
+
# Account types. Note that non-system accounts may have this element set as
|
|
9
|
+
# either “” or null.
|
|
10
|
+
class SystemAccount
|
|
11
|
+
SYSTEM_ACCOUNT = [
|
|
12
|
+
# TODO: Write general description for DEBTORS
|
|
13
|
+
DEBTORS = 'DEBTORS'.freeze,
|
|
14
|
+
|
|
15
|
+
# TODO: Write general description for CREDITORS
|
|
16
|
+
CREDITORS = 'CREDITORS'.freeze,
|
|
17
|
+
|
|
18
|
+
# TODO: Write general description for BANKCURRENCYGAIN
|
|
19
|
+
BANKCURRENCYGAIN = 'BANKCURRENCYGAIN'.freeze,
|
|
20
|
+
|
|
21
|
+
# TODO: Write general description for GST
|
|
22
|
+
GST = 'GST'.freeze,
|
|
23
|
+
|
|
24
|
+
# TODO: Write general description for GSTONIMPORTS
|
|
25
|
+
GSTONIMPORTS = 'GSTONIMPORTS'.freeze,
|
|
26
|
+
|
|
27
|
+
# TODO: Write general description for HISTORICAL
|
|
28
|
+
HISTORICAL = 'HISTORICAL'.freeze,
|
|
29
|
+
|
|
30
|
+
# TODO: Write general description for REALISEDCURRENCYGAIN
|
|
31
|
+
REALISEDCURRENCYGAIN = 'REALISEDCURRENCYGAIN'.freeze,
|
|
32
|
+
|
|
33
|
+
# TODO: Write general description for RETAINEDEARNINGS
|
|
34
|
+
RETAINEDEARNINGS = 'RETAINEDEARNINGS'.freeze,
|
|
35
|
+
|
|
36
|
+
# TODO: Write general description for ROUNDING
|
|
37
|
+
ROUNDING = 'ROUNDING'.freeze,
|
|
38
|
+
|
|
39
|
+
# TODO: Write general description for TRACKINGTRANSFERS
|
|
40
|
+
TRACKINGTRANSFERS = 'TRACKINGTRANSFERS'.freeze,
|
|
41
|
+
|
|
42
|
+
# TODO: Write general description for UNPAIDEXPCLM
|
|
43
|
+
UNPAIDEXPCLM = 'UNPAIDEXPCLM'.freeze,
|
|
44
|
+
|
|
45
|
+
# TODO: Write general description for UNREALISEDCURRENCYGAIN
|
|
46
|
+
UNREALISEDCURRENCYGAIN = 'UNREALISEDCURRENCYGAIN'.freeze,
|
|
47
|
+
|
|
48
|
+
# TODO: Write general description for WAGEPAYABLES
|
|
49
|
+
WAGEPAYABLES = 'WAGEPAYABLES'.freeze,
|
|
50
|
+
|
|
51
|
+
# TODO: Write general description for CISASSETS
|
|
52
|
+
CISASSETS = 'CISASSETS'.freeze,
|
|
53
|
+
|
|
54
|
+
# TODO: Write general description for CISASSET
|
|
55
|
+
CISASSET = 'CISASSET'.freeze,
|
|
56
|
+
|
|
57
|
+
# TODO: Write general description for CISLABOUR
|
|
58
|
+
CISLABOUR = 'CISLABOUR'.freeze,
|
|
59
|
+
|
|
60
|
+
# TODO: Write general description for CISLABOUREXPENSE
|
|
61
|
+
CISLABOUREXPENSE = 'CISLABOUREXPENSE'.freeze,
|
|
62
|
+
|
|
63
|
+
# TODO: Write general description for CISLABOURINCOME
|
|
64
|
+
CISLABOURINCOME = 'CISLABOURINCOME'.freeze,
|
|
65
|
+
|
|
66
|
+
# TODO: Write general description for CISLIABILITY
|
|
67
|
+
CISLIABILITY = 'CISLIABILITY'.freeze,
|
|
68
|
+
|
|
69
|
+
# TODO: Write general description for CISMATERIALS
|
|
70
|
+
CISMATERIALS = 'CISMATERIALS'.freeze
|
|
71
|
+
].freeze
|
|
72
|
+
|
|
73
|
+
def self.validate(value)
|
|
74
|
+
return false if value.nil?
|
|
75
|
+
|
|
76
|
+
SYSTEM_ACCOUNT.include?(value)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def self.from_value(value, default_value = DEBTORS)
|
|
80
|
+
return default_value if value.nil?
|
|
81
|
+
|
|
82
|
+
str = value.to_s.strip
|
|
83
|
+
|
|
84
|
+
case str.downcase
|
|
85
|
+
when 'debtors' then DEBTORS
|
|
86
|
+
when 'creditors' then CREDITORS
|
|
87
|
+
when 'bankcurrencygain' then BANKCURRENCYGAIN
|
|
88
|
+
when 'gst' then GST
|
|
89
|
+
when 'gstonimports' then GSTONIMPORTS
|
|
90
|
+
when 'historical' then HISTORICAL
|
|
91
|
+
when 'realisedcurrencygain' then REALISEDCURRENCYGAIN
|
|
92
|
+
when 'retainedearnings' then RETAINEDEARNINGS
|
|
93
|
+
when 'rounding' then ROUNDING
|
|
94
|
+
when 'trackingtransfers' then TRACKINGTRANSFERS
|
|
95
|
+
when 'unpaidexpclm' then UNPAIDEXPCLM
|
|
96
|
+
when 'unrealisedcurrencygain' then UNREALISEDCURRENCYGAIN
|
|
97
|
+
when 'wagepayables' then WAGEPAYABLES
|
|
98
|
+
when 'cisassets' then CISASSETS
|
|
99
|
+
when 'cisasset' then CISASSET
|
|
100
|
+
when 'cislabour' then CISLABOUR
|
|
101
|
+
when 'cislabourexpense' then CISLABOUREXPENSE
|
|
102
|
+
when 'cislabourincome' then CISLABOURINCOME
|
|
103
|
+
when 'cisliability' then CISLIABILITY
|
|
104
|
+
when 'cismaterials' then CISMATERIALS
|
|
105
|
+
else
|
|
106
|
+
default_value
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# Task Model.
|
|
8
|
+
class Task < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Identifier of the task.
|
|
13
|
+
# @return [UUID | String]
|
|
14
|
+
attr_accessor :task_id
|
|
15
|
+
|
|
16
|
+
# Name of the task.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :name
|
|
19
|
+
|
|
20
|
+
# Name of the task.
|
|
21
|
+
# @return [Amount]
|
|
22
|
+
attr_accessor :rate
|
|
23
|
+
|
|
24
|
+
# Can be `TIME`, `FIXED` or `NON_CHARGEABLE`, defines how the task will be
|
|
25
|
+
# charged. Use `TIME` when you want to charge per hour and `FIXED` to charge
|
|
26
|
+
# as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.
|
|
27
|
+
# @return [ChargeType]
|
|
28
|
+
attr_accessor :charge_type
|
|
29
|
+
|
|
30
|
+
# An estimated time to perform the task
|
|
31
|
+
# @return [Integer]
|
|
32
|
+
attr_accessor :estimate_minutes
|
|
33
|
+
|
|
34
|
+
# Identifier of the project task belongs to.
|
|
35
|
+
# @return [UUID | String]
|
|
36
|
+
attr_accessor :project_id
|
|
37
|
+
|
|
38
|
+
# Total minutes which have been logged against the task. Logged by assigning
|
|
39
|
+
# a time entry to a task
|
|
40
|
+
# @return [Integer]
|
|
41
|
+
attr_accessor :total_minutes
|
|
42
|
+
|
|
43
|
+
# Total minutes which have been logged against the task. Logged by assigning
|
|
44
|
+
# a time entry to a task
|
|
45
|
+
# @return [Amount]
|
|
46
|
+
attr_accessor :total_amount
|
|
47
|
+
|
|
48
|
+
# Minutes on this task which have been invoiced.
|
|
49
|
+
# @return [Integer]
|
|
50
|
+
attr_accessor :minutes_invoiced
|
|
51
|
+
|
|
52
|
+
# Minutes on this task which have not been invoiced.
|
|
53
|
+
# @return [Integer]
|
|
54
|
+
attr_accessor :minutes_to_be_invoiced
|
|
55
|
+
|
|
56
|
+
# Minutes logged against this task if its charge type is `FIXED`.
|
|
57
|
+
# @return [Integer]
|
|
58
|
+
attr_accessor :fixed_minutes
|
|
59
|
+
|
|
60
|
+
# Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
|
|
61
|
+
# @return [Integer]
|
|
62
|
+
attr_accessor :non_chargeable_minutes
|
|
63
|
+
|
|
64
|
+
# Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
|
|
65
|
+
# @return [Amount]
|
|
66
|
+
attr_accessor :amount_to_be_invoiced
|
|
67
|
+
|
|
68
|
+
# Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
|
|
69
|
+
# @return [Amount]
|
|
70
|
+
attr_accessor :amount_invoiced
|
|
71
|
+
|
|
72
|
+
# Status of the task. When a task of ChargeType is `FIXED` and the rate
|
|
73
|
+
# amount is invoiced the status will be set to `INVOICED` and can't be
|
|
74
|
+
# modified. A task with ChargeType of `TIME` or `NON_CHARGEABLE` cannot have
|
|
75
|
+
# a status of `INVOICED`. A `LOCKED` state indicates that the task is
|
|
76
|
+
# currently changing state (for example being invoiced) and can't be
|
|
77
|
+
# modified.
|
|
78
|
+
# @return [Status22]
|
|
79
|
+
attr_accessor :status
|
|
80
|
+
|
|
81
|
+
# A mapping from model property names to API property names.
|
|
82
|
+
def self.names
|
|
83
|
+
@_hash = {} if @_hash.nil?
|
|
84
|
+
@_hash['task_id'] = 'taskId'
|
|
85
|
+
@_hash['name'] = 'name'
|
|
86
|
+
@_hash['rate'] = 'rate'
|
|
87
|
+
@_hash['charge_type'] = 'chargeType'
|
|
88
|
+
@_hash['estimate_minutes'] = 'estimateMinutes'
|
|
89
|
+
@_hash['project_id'] = 'projectId'
|
|
90
|
+
@_hash['total_minutes'] = 'totalMinutes'
|
|
91
|
+
@_hash['total_amount'] = 'totalAmount'
|
|
92
|
+
@_hash['minutes_invoiced'] = 'minutesInvoiced'
|
|
93
|
+
@_hash['minutes_to_be_invoiced'] = 'minutesToBeInvoiced'
|
|
94
|
+
@_hash['fixed_minutes'] = 'fixedMinutes'
|
|
95
|
+
@_hash['non_chargeable_minutes'] = 'nonChargeableMinutes'
|
|
96
|
+
@_hash['amount_to_be_invoiced'] = 'amountToBeInvoiced'
|
|
97
|
+
@_hash['amount_invoiced'] = 'amountInvoiced'
|
|
98
|
+
@_hash['status'] = 'status'
|
|
99
|
+
@_hash
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# An array for optional fields
|
|
103
|
+
def self.optionals
|
|
104
|
+
%w[
|
|
105
|
+
task_id
|
|
106
|
+
name
|
|
107
|
+
rate
|
|
108
|
+
charge_type
|
|
109
|
+
estimate_minutes
|
|
110
|
+
project_id
|
|
111
|
+
total_minutes
|
|
112
|
+
total_amount
|
|
113
|
+
minutes_invoiced
|
|
114
|
+
minutes_to_be_invoiced
|
|
115
|
+
fixed_minutes
|
|
116
|
+
non_chargeable_minutes
|
|
117
|
+
amount_to_be_invoiced
|
|
118
|
+
amount_invoiced
|
|
119
|
+
status
|
|
120
|
+
]
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# An array for nullable fields
|
|
124
|
+
def self.nullables
|
|
125
|
+
[]
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def initialize(task_id: SKIP, name: SKIP, rate: SKIP, charge_type: SKIP,
|
|
129
|
+
estimate_minutes: SKIP, project_id: SKIP,
|
|
130
|
+
total_minutes: SKIP, total_amount: SKIP,
|
|
131
|
+
minutes_invoiced: SKIP, minutes_to_be_invoiced: SKIP,
|
|
132
|
+
fixed_minutes: SKIP, non_chargeable_minutes: SKIP,
|
|
133
|
+
amount_to_be_invoiced: SKIP, amount_invoiced: SKIP,
|
|
134
|
+
status: SKIP, additional_properties: nil)
|
|
135
|
+
# Add additional model properties to the instance
|
|
136
|
+
additional_properties = {} if additional_properties.nil?
|
|
137
|
+
|
|
138
|
+
@task_id = task_id unless task_id == SKIP
|
|
139
|
+
@name = name unless name == SKIP
|
|
140
|
+
@rate = rate unless rate == SKIP
|
|
141
|
+
@charge_type = charge_type unless charge_type == SKIP
|
|
142
|
+
@estimate_minutes = estimate_minutes unless estimate_minutes == SKIP
|
|
143
|
+
@project_id = project_id unless project_id == SKIP
|
|
144
|
+
@total_minutes = total_minutes unless total_minutes == SKIP
|
|
145
|
+
@total_amount = total_amount unless total_amount == SKIP
|
|
146
|
+
@minutes_invoiced = minutes_invoiced unless minutes_invoiced == SKIP
|
|
147
|
+
@minutes_to_be_invoiced = minutes_to_be_invoiced unless minutes_to_be_invoiced == SKIP
|
|
148
|
+
@fixed_minutes = fixed_minutes unless fixed_minutes == SKIP
|
|
149
|
+
@non_chargeable_minutes = non_chargeable_minutes unless non_chargeable_minutes == SKIP
|
|
150
|
+
@amount_to_be_invoiced = amount_to_be_invoiced unless amount_to_be_invoiced == SKIP
|
|
151
|
+
@amount_invoiced = amount_invoiced unless amount_invoiced == SKIP
|
|
152
|
+
@status = status unless status == SKIP
|
|
153
|
+
@additional_properties = additional_properties
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Creates an instance of the object from a hash.
|
|
157
|
+
def self.from_hash(hash)
|
|
158
|
+
return nil unless hash
|
|
159
|
+
|
|
160
|
+
# Extract variables from the hash.
|
|
161
|
+
task_id = hash.key?('taskId') ? hash['taskId'] : SKIP
|
|
162
|
+
name = hash.key?('name') ? hash['name'] : SKIP
|
|
163
|
+
rate = Amount.from_hash(hash['rate']) if hash['rate']
|
|
164
|
+
charge_type = hash.key?('chargeType') ? hash['chargeType'] : SKIP
|
|
165
|
+
estimate_minutes =
|
|
166
|
+
hash.key?('estimateMinutes') ? hash['estimateMinutes'] : SKIP
|
|
167
|
+
project_id = hash.key?('projectId') ? hash['projectId'] : SKIP
|
|
168
|
+
total_minutes = hash.key?('totalMinutes') ? hash['totalMinutes'] : SKIP
|
|
169
|
+
total_amount = Amount.from_hash(hash['totalAmount']) if hash['totalAmount']
|
|
170
|
+
minutes_invoiced =
|
|
171
|
+
hash.key?('minutesInvoiced') ? hash['minutesInvoiced'] : SKIP
|
|
172
|
+
minutes_to_be_invoiced =
|
|
173
|
+
hash.key?('minutesToBeInvoiced') ? hash['minutesToBeInvoiced'] : SKIP
|
|
174
|
+
fixed_minutes = hash.key?('fixedMinutes') ? hash['fixedMinutes'] : SKIP
|
|
175
|
+
non_chargeable_minutes =
|
|
176
|
+
hash.key?('nonChargeableMinutes') ? hash['nonChargeableMinutes'] : SKIP
|
|
177
|
+
amount_to_be_invoiced = Amount.from_hash(hash['amountToBeInvoiced']) if
|
|
178
|
+
hash['amountToBeInvoiced']
|
|
179
|
+
amount_invoiced = Amount.from_hash(hash['amountInvoiced']) if hash['amountInvoiced']
|
|
180
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
181
|
+
|
|
182
|
+
# Create a new hash for additional properties, removing known properties.
|
|
183
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
184
|
+
|
|
185
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
186
|
+
new_hash, proc { |value| value }
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
# Create object from extracted values.
|
|
190
|
+
Task.new(task_id: task_id,
|
|
191
|
+
name: name,
|
|
192
|
+
rate: rate,
|
|
193
|
+
charge_type: charge_type,
|
|
194
|
+
estimate_minutes: estimate_minutes,
|
|
195
|
+
project_id: project_id,
|
|
196
|
+
total_minutes: total_minutes,
|
|
197
|
+
total_amount: total_amount,
|
|
198
|
+
minutes_invoiced: minutes_invoiced,
|
|
199
|
+
minutes_to_be_invoiced: minutes_to_be_invoiced,
|
|
200
|
+
fixed_minutes: fixed_minutes,
|
|
201
|
+
non_chargeable_minutes: non_chargeable_minutes,
|
|
202
|
+
amount_to_be_invoiced: amount_to_be_invoiced,
|
|
203
|
+
amount_invoiced: amount_invoiced,
|
|
204
|
+
status: status,
|
|
205
|
+
additional_properties: additional_properties)
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
# Provides a human-readable string representation of the object.
|
|
209
|
+
def to_s
|
|
210
|
+
class_name = self.class.name.split('::').last
|
|
211
|
+
"<#{class_name} task_id: #{@task_id}, name: #{@name}, rate: #{@rate}, charge_type:"\
|
|
212
|
+
" #{@charge_type}, estimate_minutes: #{@estimate_minutes}, project_id: #{@project_id},"\
|
|
213
|
+
" total_minutes: #{@total_minutes}, total_amount: #{@total_amount}, minutes_invoiced:"\
|
|
214
|
+
" #{@minutes_invoiced}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced}, fixed_minutes:"\
|
|
215
|
+
" #{@fixed_minutes}, non_chargeable_minutes: #{@non_chargeable_minutes},"\
|
|
216
|
+
" amount_to_be_invoiced: #{@amount_to_be_invoiced}, amount_invoiced: #{@amount_invoiced},"\
|
|
217
|
+
" status: #{@status}, additional_properties: #{@additional_properties}>"
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
221
|
+
def inspect
|
|
222
|
+
class_name = self.class.name.split('::').last
|
|
223
|
+
"<#{class_name} task_id: #{@task_id.inspect}, name: #{@name.inspect}, rate:"\
|
|
224
|
+
" #{@rate.inspect}, charge_type: #{@charge_type.inspect}, estimate_minutes:"\
|
|
225
|
+
" #{@estimate_minutes.inspect}, project_id: #{@project_id.inspect}, total_minutes:"\
|
|
226
|
+
" #{@total_minutes.inspect}, total_amount: #{@total_amount.inspect}, minutes_invoiced:"\
|
|
227
|
+
" #{@minutes_invoiced.inspect}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced.inspect},"\
|
|
228
|
+
" fixed_minutes: #{@fixed_minutes.inspect}, non_chargeable_minutes:"\
|
|
229
|
+
" #{@non_chargeable_minutes.inspect}, amount_to_be_invoiced:"\
|
|
230
|
+
" #{@amount_to_be_invoiced.inspect}, amount_invoiced: #{@amount_invoiced.inspect}, status:"\
|
|
231
|
+
" #{@status.inspect}, additional_properties: #{@additional_properties}>"
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
end
|