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,95 @@
|
|
|
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
|
+
# ExternalLink Model.
|
|
8
|
+
class ExternalLink < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# See External link types
|
|
13
|
+
# @return [LinkType]
|
|
14
|
+
attr_accessor :link_type
|
|
15
|
+
|
|
16
|
+
# URL for service e.g. http://twitter.com/xeroapi
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :url
|
|
19
|
+
|
|
20
|
+
# URL for service e.g. http://twitter.com/xeroapi
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :description
|
|
23
|
+
|
|
24
|
+
# A mapping from model property names to API property names.
|
|
25
|
+
def self.names
|
|
26
|
+
@_hash = {} if @_hash.nil?
|
|
27
|
+
@_hash['link_type'] = 'LinkType'
|
|
28
|
+
@_hash['url'] = 'Url'
|
|
29
|
+
@_hash['description'] = 'Description'
|
|
30
|
+
@_hash
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# An array for optional fields
|
|
34
|
+
def self.optionals
|
|
35
|
+
%w[
|
|
36
|
+
link_type
|
|
37
|
+
url
|
|
38
|
+
description
|
|
39
|
+
]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for nullable fields
|
|
43
|
+
def self.nullables
|
|
44
|
+
[]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def initialize(link_type: SKIP, url: SKIP, description: SKIP,
|
|
48
|
+
additional_properties: nil)
|
|
49
|
+
# Add additional model properties to the instance
|
|
50
|
+
additional_properties = {} if additional_properties.nil?
|
|
51
|
+
|
|
52
|
+
@link_type = link_type unless link_type == SKIP
|
|
53
|
+
@url = url unless url == SKIP
|
|
54
|
+
@description = description unless description == SKIP
|
|
55
|
+
@additional_properties = additional_properties
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Creates an instance of the object from a hash.
|
|
59
|
+
def self.from_hash(hash)
|
|
60
|
+
return nil unless hash
|
|
61
|
+
|
|
62
|
+
# Extract variables from the hash.
|
|
63
|
+
link_type = hash.key?('LinkType') ? hash['LinkType'] : SKIP
|
|
64
|
+
url = hash.key?('Url') ? hash['Url'] : SKIP
|
|
65
|
+
description = hash.key?('Description') ? hash['Description'] : SKIP
|
|
66
|
+
|
|
67
|
+
# Create a new hash for additional properties, removing known properties.
|
|
68
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
69
|
+
|
|
70
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
71
|
+
new_hash, proc { |value| value }
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# Create object from extracted values.
|
|
75
|
+
ExternalLink.new(link_type: link_type,
|
|
76
|
+
url: url,
|
|
77
|
+
description: description,
|
|
78
|
+
additional_properties: additional_properties)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Provides a human-readable string representation of the object.
|
|
82
|
+
def to_s
|
|
83
|
+
class_name = self.class.name.split('::').last
|
|
84
|
+
"<#{class_name} link_type: #{@link_type}, url: #{@url}, description: #{@description},"\
|
|
85
|
+
" additional_properties: #{@additional_properties}>"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
89
|
+
def inspect
|
|
90
|
+
class_name = self.class.name.split('::').last
|
|
91
|
+
"<#{class_name} link_type: #{@link_type.inspect}, url: #{@url.inspect}, description:"\
|
|
92
|
+
" #{@description.inspect}, additional_properties: #{@additional_properties}>"
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
# Contact federal tax classification
|
|
8
|
+
class FederalTaxClassification
|
|
9
|
+
FEDERAL_TAX_CLASSIFICATION = [
|
|
10
|
+
# TODO: Write general description for SOLE_PROPRIETOR
|
|
11
|
+
SOLE_PROPRIETOR = 'SOLE_PROPRIETOR'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for PARTNERSHIP
|
|
14
|
+
PARTNERSHIP = 'PARTNERSHIP'.freeze,
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for TRUST_OR_ESTATE
|
|
17
|
+
TRUST_OR_ESTATE = 'TRUST_OR_ESTATE'.freeze,
|
|
18
|
+
|
|
19
|
+
# TODO: Write general description for NONPROFIT
|
|
20
|
+
NONPROFIT = 'NONPROFIT'.freeze,
|
|
21
|
+
|
|
22
|
+
# TODO: Write general description for C_CORP
|
|
23
|
+
C_CORP = 'C_CORP'.freeze,
|
|
24
|
+
|
|
25
|
+
# TODO: Write general description for S_CORP
|
|
26
|
+
S_CORP = 'S_CORP'.freeze,
|
|
27
|
+
|
|
28
|
+
# TODO: Write general description for OTHER
|
|
29
|
+
OTHER = 'OTHER'.freeze
|
|
30
|
+
].freeze
|
|
31
|
+
|
|
32
|
+
def self.validate(value)
|
|
33
|
+
return false if value.nil?
|
|
34
|
+
|
|
35
|
+
FEDERAL_TAX_CLASSIFICATION.include?(value)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def self.from_value(value, default_value = SOLE_PROPRIETOR)
|
|
39
|
+
return default_value if value.nil?
|
|
40
|
+
|
|
41
|
+
str = value.to_s.strip
|
|
42
|
+
|
|
43
|
+
case str.downcase
|
|
44
|
+
when 'sole_proprietor' then SOLE_PROPRIETOR
|
|
45
|
+
when 'partnership' then PARTNERSHIP
|
|
46
|
+
when 'trust_or_estate' then TRUST_OR_ESTATE
|
|
47
|
+
when 'nonprofit' then NONPROFIT
|
|
48
|
+
when 'c_corp' then C_CORP
|
|
49
|
+
when 's_corp' then S_CORP
|
|
50
|
+
when 'other' then OTHER
|
|
51
|
+
else
|
|
52
|
+
default_value
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,177 @@
|
|
|
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
|
+
# FeedConnection Model.
|
|
8
|
+
class FeedConnection < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# GUID used to identify the Account.
|
|
13
|
+
# @return [UUID | String]
|
|
14
|
+
attr_accessor :id
|
|
15
|
+
|
|
16
|
+
# This account identifier is generated by the financial institute (FI). This
|
|
17
|
+
# must be unique for your financial institute.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :account_token
|
|
20
|
+
|
|
21
|
+
# String(40) when AccountType is BANK String(4) when AccountType is
|
|
22
|
+
# CREDITCARD The Account Number is used to match the feed to a Xero Bank
|
|
23
|
+
# Account. The API will create a new Xero Bank Account if a match to an
|
|
24
|
+
# existing Xero Bank Account is not found. Only the last 4 digits must be
|
|
25
|
+
# supplied for Credit Card numbers. Must be included if AccountId is not
|
|
26
|
+
# specified.
|
|
27
|
+
# @return [String]
|
|
28
|
+
attr_accessor :account_number
|
|
29
|
+
|
|
30
|
+
# The Account Name will be used for the creation of a new Xero Bank Account
|
|
31
|
+
# if a matching Xero Bank Account is not found.
|
|
32
|
+
# @return [String]
|
|
33
|
+
attr_accessor :account_name
|
|
34
|
+
|
|
35
|
+
# Xero identifier for a bank account in Xero. Must be included if
|
|
36
|
+
# AccountNumber is not specified.
|
|
37
|
+
# @return [UUID | String]
|
|
38
|
+
attr_accessor :account_id
|
|
39
|
+
|
|
40
|
+
# High level bank account type - BANK CREDITCARD BANK encompasses all bank
|
|
41
|
+
# account types other than credit cards.
|
|
42
|
+
# @return [AccountType1]
|
|
43
|
+
attr_accessor :account_type
|
|
44
|
+
|
|
45
|
+
# 3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.
|
|
46
|
+
# @return [CurrencyCode1]
|
|
47
|
+
attr_accessor :currency
|
|
48
|
+
|
|
49
|
+
# ISO-3166 alpha-2 country code, e.g. US, AU This element is required only
|
|
50
|
+
# when the Application supports multi-region. Talk to your Partner Manager
|
|
51
|
+
# to confirm if this is the case.
|
|
52
|
+
# @return [CountryCode]
|
|
53
|
+
attr_accessor :country
|
|
54
|
+
|
|
55
|
+
# the current status of the feed connection
|
|
56
|
+
# @return [Status21]
|
|
57
|
+
attr_accessor :status
|
|
58
|
+
|
|
59
|
+
# On error, the API consumer will receive an HTTP response with a HTTP
|
|
60
|
+
# Status Code of 4xx or 5xx and a Content-Type of application/problem+json.
|
|
61
|
+
# @return [Error2]
|
|
62
|
+
attr_accessor :error
|
|
63
|
+
|
|
64
|
+
# A mapping from model property names to API property names.
|
|
65
|
+
def self.names
|
|
66
|
+
@_hash = {} if @_hash.nil?
|
|
67
|
+
@_hash['id'] = 'id'
|
|
68
|
+
@_hash['account_token'] = 'accountToken'
|
|
69
|
+
@_hash['account_number'] = 'accountNumber'
|
|
70
|
+
@_hash['account_name'] = 'accountName'
|
|
71
|
+
@_hash['account_id'] = 'accountId'
|
|
72
|
+
@_hash['account_type'] = 'accountType'
|
|
73
|
+
@_hash['currency'] = 'currency'
|
|
74
|
+
@_hash['country'] = 'country'
|
|
75
|
+
@_hash['status'] = 'status'
|
|
76
|
+
@_hash['error'] = 'error'
|
|
77
|
+
@_hash
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# An array for optional fields
|
|
81
|
+
def self.optionals
|
|
82
|
+
%w[
|
|
83
|
+
id
|
|
84
|
+
account_token
|
|
85
|
+
account_number
|
|
86
|
+
account_name
|
|
87
|
+
account_id
|
|
88
|
+
account_type
|
|
89
|
+
currency
|
|
90
|
+
country
|
|
91
|
+
status
|
|
92
|
+
error
|
|
93
|
+
]
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# An array for nullable fields
|
|
97
|
+
def self.nullables
|
|
98
|
+
[]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def initialize(id: SKIP, account_token: SKIP, account_number: SKIP,
|
|
102
|
+
account_name: SKIP, account_id: SKIP, account_type: SKIP,
|
|
103
|
+
currency: SKIP, country: SKIP, status: SKIP, error: SKIP,
|
|
104
|
+
additional_properties: nil)
|
|
105
|
+
# Add additional model properties to the instance
|
|
106
|
+
additional_properties = {} if additional_properties.nil?
|
|
107
|
+
|
|
108
|
+
@id = id unless id == SKIP
|
|
109
|
+
@account_token = account_token unless account_token == SKIP
|
|
110
|
+
@account_number = account_number unless account_number == SKIP
|
|
111
|
+
@account_name = account_name unless account_name == SKIP
|
|
112
|
+
@account_id = account_id unless account_id == SKIP
|
|
113
|
+
@account_type = account_type unless account_type == SKIP
|
|
114
|
+
@currency = currency unless currency == SKIP
|
|
115
|
+
@country = country unless country == SKIP
|
|
116
|
+
@status = status unless status == SKIP
|
|
117
|
+
@error = error unless error == SKIP
|
|
118
|
+
@additional_properties = additional_properties
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Creates an instance of the object from a hash.
|
|
122
|
+
def self.from_hash(hash)
|
|
123
|
+
return nil unless hash
|
|
124
|
+
|
|
125
|
+
# Extract variables from the hash.
|
|
126
|
+
id = hash.key?('id') ? hash['id'] : SKIP
|
|
127
|
+
account_token = hash.key?('accountToken') ? hash['accountToken'] : SKIP
|
|
128
|
+
account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
|
|
129
|
+
account_name = hash.key?('accountName') ? hash['accountName'] : SKIP
|
|
130
|
+
account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
|
|
131
|
+
account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
|
|
132
|
+
currency = hash.key?('currency') ? hash['currency'] : SKIP
|
|
133
|
+
country = hash.key?('country') ? hash['country'] : SKIP
|
|
134
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
135
|
+
error = Error2.from_hash(hash['error']) if hash['error']
|
|
136
|
+
|
|
137
|
+
# Create a new hash for additional properties, removing known properties.
|
|
138
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
139
|
+
|
|
140
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
141
|
+
new_hash, proc { |value| value }
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
# Create object from extracted values.
|
|
145
|
+
FeedConnection.new(id: id,
|
|
146
|
+
account_token: account_token,
|
|
147
|
+
account_number: account_number,
|
|
148
|
+
account_name: account_name,
|
|
149
|
+
account_id: account_id,
|
|
150
|
+
account_type: account_type,
|
|
151
|
+
currency: currency,
|
|
152
|
+
country: country,
|
|
153
|
+
status: status,
|
|
154
|
+
error: error,
|
|
155
|
+
additional_properties: additional_properties)
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Provides a human-readable string representation of the object.
|
|
159
|
+
def to_s
|
|
160
|
+
class_name = self.class.name.split('::').last
|
|
161
|
+
"<#{class_name} id: #{@id}, account_token: #{@account_token}, account_number:"\
|
|
162
|
+
" #{@account_number}, account_name: #{@account_name}, account_id: #{@account_id},"\
|
|
163
|
+
" account_type: #{@account_type}, currency: #{@currency}, country: #{@country}, status:"\
|
|
164
|
+
" #{@status}, error: #{@error}, additional_properties: #{@additional_properties}>"
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
168
|
+
def inspect
|
|
169
|
+
class_name = self.class.name.split('::').last
|
|
170
|
+
"<#{class_name} id: #{@id.inspect}, account_token: #{@account_token.inspect},"\
|
|
171
|
+
" account_number: #{@account_number.inspect}, account_name: #{@account_name.inspect},"\
|
|
172
|
+
" account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect}, currency:"\
|
|
173
|
+
" #{@currency.inspect}, country: #{@country.inspect}, status: #{@status.inspect}, error:"\
|
|
174
|
+
" #{@error.inspect}, additional_properties: #{@additional_properties}>"
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
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
|
+
# FeedConnections Model.
|
|
8
|
+
class FeedConnections < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [Pagination]
|
|
14
|
+
attr_accessor :pagination
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for this method
|
|
17
|
+
# @return [Array[FeedConnection]]
|
|
18
|
+
attr_accessor :items
|
|
19
|
+
|
|
20
|
+
# A mapping from model property names to API property names.
|
|
21
|
+
def self.names
|
|
22
|
+
@_hash = {} if @_hash.nil?
|
|
23
|
+
@_hash['pagination'] = 'pagination'
|
|
24
|
+
@_hash['items'] = 'items'
|
|
25
|
+
@_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for optional fields
|
|
29
|
+
def self.optionals
|
|
30
|
+
%w[
|
|
31
|
+
pagination
|
|
32
|
+
items
|
|
33
|
+
]
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# An array for nullable fields
|
|
37
|
+
def self.nullables
|
|
38
|
+
[]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(pagination: SKIP, items: SKIP, additional_properties: nil)
|
|
42
|
+
# Add additional model properties to the instance
|
|
43
|
+
additional_properties = {} if additional_properties.nil?
|
|
44
|
+
|
|
45
|
+
@pagination = pagination unless pagination == SKIP
|
|
46
|
+
@items = items unless items == SKIP
|
|
47
|
+
@additional_properties = additional_properties
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Creates an instance of the object from a hash.
|
|
51
|
+
def self.from_hash(hash)
|
|
52
|
+
return nil unless hash
|
|
53
|
+
|
|
54
|
+
# Extract variables from the hash.
|
|
55
|
+
pagination = Pagination.from_hash(hash['pagination']) if hash['pagination']
|
|
56
|
+
# Parameter is an array, so we need to iterate through it
|
|
57
|
+
items = nil
|
|
58
|
+
unless hash['items'].nil?
|
|
59
|
+
items = []
|
|
60
|
+
hash['items'].each do |structure|
|
|
61
|
+
items << (FeedConnection.from_hash(structure) if structure)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
items = SKIP unless hash.key?('items')
|
|
66
|
+
|
|
67
|
+
# Create a new hash for additional properties, removing known properties.
|
|
68
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
69
|
+
|
|
70
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
71
|
+
new_hash, proc { |value| value }
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# Create object from extracted values.
|
|
75
|
+
FeedConnections.new(pagination: pagination,
|
|
76
|
+
items: items,
|
|
77
|
+
additional_properties: additional_properties)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Provides a human-readable string representation of the object.
|
|
81
|
+
def to_s
|
|
82
|
+
class_name = self.class.name.split('::').last
|
|
83
|
+
"<#{class_name} pagination: #{@pagination}, items: #{@items}, additional_properties:"\
|
|
84
|
+
" #{@additional_properties}>"
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
88
|
+
def inspect
|
|
89
|
+
class_name = self.class.name.split('::').last
|
|
90
|
+
"<#{class_name} pagination: #{@pagination.inspect}, items: #{@items.inspect},"\
|
|
91
|
+
" additional_properties: #{@additional_properties}>"
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
# FieldValidationErrorsElement Model.
|
|
8
|
+
class FieldValidationErrorsElement < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# The field name of the erroneous field
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :field_name
|
|
15
|
+
|
|
16
|
+
# The provided value
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :value_provided
|
|
19
|
+
|
|
20
|
+
# Explanation of the field validation error
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :localised_message
|
|
23
|
+
|
|
24
|
+
# Internal type of the field validation error message
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :type
|
|
27
|
+
|
|
28
|
+
# Title of the field validation error
|
|
29
|
+
# @return [String]
|
|
30
|
+
attr_accessor :title
|
|
31
|
+
|
|
32
|
+
# Detail of the field validation error
|
|
33
|
+
# @return [String]
|
|
34
|
+
attr_accessor :detail
|
|
35
|
+
|
|
36
|
+
# A mapping from model property names to API property names.
|
|
37
|
+
def self.names
|
|
38
|
+
@_hash = {} if @_hash.nil?
|
|
39
|
+
@_hash['field_name'] = 'fieldName'
|
|
40
|
+
@_hash['value_provided'] = 'valueProvided'
|
|
41
|
+
@_hash['localised_message'] = 'localisedMessage'
|
|
42
|
+
@_hash['type'] = 'type'
|
|
43
|
+
@_hash['title'] = 'title'
|
|
44
|
+
@_hash['detail'] = 'detail'
|
|
45
|
+
@_hash
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# An array for optional fields
|
|
49
|
+
def self.optionals
|
|
50
|
+
%w[
|
|
51
|
+
field_name
|
|
52
|
+
value_provided
|
|
53
|
+
localised_message
|
|
54
|
+
type
|
|
55
|
+
title
|
|
56
|
+
detail
|
|
57
|
+
]
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# An array for nullable fields
|
|
61
|
+
def self.nullables
|
|
62
|
+
[]
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def initialize(field_name: SKIP, value_provided: SKIP,
|
|
66
|
+
localised_message: SKIP, type: SKIP, title: SKIP,
|
|
67
|
+
detail: SKIP, additional_properties: nil)
|
|
68
|
+
# Add additional model properties to the instance
|
|
69
|
+
additional_properties = {} if additional_properties.nil?
|
|
70
|
+
|
|
71
|
+
@field_name = field_name unless field_name == SKIP
|
|
72
|
+
@value_provided = value_provided unless value_provided == SKIP
|
|
73
|
+
@localised_message = localised_message unless localised_message == SKIP
|
|
74
|
+
@type = type unless type == SKIP
|
|
75
|
+
@title = title unless title == SKIP
|
|
76
|
+
@detail = detail unless detail == SKIP
|
|
77
|
+
@additional_properties = additional_properties
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Creates an instance of the object from a hash.
|
|
81
|
+
def self.from_hash(hash)
|
|
82
|
+
return nil unless hash
|
|
83
|
+
|
|
84
|
+
# Extract variables from the hash.
|
|
85
|
+
field_name = hash.key?('fieldName') ? hash['fieldName'] : SKIP
|
|
86
|
+
value_provided = hash.key?('valueProvided') ? hash['valueProvided'] : SKIP
|
|
87
|
+
localised_message =
|
|
88
|
+
hash.key?('localisedMessage') ? hash['localisedMessage'] : SKIP
|
|
89
|
+
type = hash.key?('type') ? hash['type'] : SKIP
|
|
90
|
+
title = hash.key?('title') ? hash['title'] : SKIP
|
|
91
|
+
detail = hash.key?('detail') ? hash['detail'] : SKIP
|
|
92
|
+
|
|
93
|
+
# Create a new hash for additional properties, removing known properties.
|
|
94
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
95
|
+
|
|
96
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
97
|
+
new_hash, proc { |value| value }
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Create object from extracted values.
|
|
101
|
+
FieldValidationErrorsElement.new(field_name: field_name,
|
|
102
|
+
value_provided: value_provided,
|
|
103
|
+
localised_message: localised_message,
|
|
104
|
+
type: type,
|
|
105
|
+
title: title,
|
|
106
|
+
detail: detail,
|
|
107
|
+
additional_properties: additional_properties)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Provides a human-readable string representation of the object.
|
|
111
|
+
def to_s
|
|
112
|
+
class_name = self.class.name.split('::').last
|
|
113
|
+
"<#{class_name} field_name: #{@field_name}, value_provided: #{@value_provided},"\
|
|
114
|
+
" localised_message: #{@localised_message}, type: #{@type}, title: #{@title}, detail:"\
|
|
115
|
+
" #{@detail}, additional_properties: #{@additional_properties}>"
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
119
|
+
def inspect
|
|
120
|
+
class_name = self.class.name.split('::').last
|
|
121
|
+
"<#{class_name} field_name: #{@field_name.inspect}, value_provided:"\
|
|
122
|
+
" #{@value_provided.inspect}, localised_message: #{@localised_message.inspect}, type:"\
|
|
123
|
+
" #{@type.inspect}, title: #{@title.inspect}, detail: #{@detail.inspect},"\
|
|
124
|
+
" additional_properties: #{@additional_properties}>"
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
# HistoryRecord Model.
|
|
8
|
+
class HistoryRecord < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# details
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_accessor :details
|
|
15
|
+
|
|
16
|
+
# Name of branding theme
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :changes
|
|
19
|
+
|
|
20
|
+
# has a value of 0
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :user
|
|
23
|
+
|
|
24
|
+
# UTC timestamp of creation date of branding theme
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :date_utc
|
|
27
|
+
|
|
28
|
+
# A mapping from model property names to API property names.
|
|
29
|
+
def self.names
|
|
30
|
+
@_hash = {} if @_hash.nil?
|
|
31
|
+
@_hash['details'] = 'Details'
|
|
32
|
+
@_hash['changes'] = 'Changes'
|
|
33
|
+
@_hash['user'] = 'User'
|
|
34
|
+
@_hash['date_utc'] = 'DateUTC'
|
|
35
|
+
@_hash
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# An array for optional fields
|
|
39
|
+
def self.optionals
|
|
40
|
+
%w[
|
|
41
|
+
details
|
|
42
|
+
changes
|
|
43
|
+
user
|
|
44
|
+
date_utc
|
|
45
|
+
]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# An array for nullable fields
|
|
49
|
+
def self.nullables
|
|
50
|
+
[]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def initialize(details: SKIP, changes: SKIP, user: SKIP, date_utc: SKIP,
|
|
54
|
+
additional_properties: nil)
|
|
55
|
+
# Add additional model properties to the instance
|
|
56
|
+
additional_properties = {} if additional_properties.nil?
|
|
57
|
+
|
|
58
|
+
@details = details unless details == SKIP
|
|
59
|
+
@changes = changes unless changes == SKIP
|
|
60
|
+
@user = user unless user == SKIP
|
|
61
|
+
@date_utc = date_utc unless date_utc == SKIP
|
|
62
|
+
@additional_properties = additional_properties
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Creates an instance of the object from a hash.
|
|
66
|
+
def self.from_hash(hash)
|
|
67
|
+
return nil unless hash
|
|
68
|
+
|
|
69
|
+
# Extract variables from the hash.
|
|
70
|
+
details = hash.key?('Details') ? hash['Details'] : SKIP
|
|
71
|
+
changes = hash.key?('Changes') ? hash['Changes'] : SKIP
|
|
72
|
+
user = hash.key?('User') ? hash['User'] : SKIP
|
|
73
|
+
date_utc = hash.key?('DateUTC') ? hash['DateUTC'] : SKIP
|
|
74
|
+
|
|
75
|
+
# Create a new hash for additional properties, removing known properties.
|
|
76
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
77
|
+
|
|
78
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
79
|
+
new_hash, proc { |value| value }
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Create object from extracted values.
|
|
83
|
+
HistoryRecord.new(details: details,
|
|
84
|
+
changes: changes,
|
|
85
|
+
user: user,
|
|
86
|
+
date_utc: date_utc,
|
|
87
|
+
additional_properties: additional_properties)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Provides a human-readable string representation of the object.
|
|
91
|
+
def to_s
|
|
92
|
+
class_name = self.class.name.split('::').last
|
|
93
|
+
"<#{class_name} details: #{@details}, changes: #{@changes}, user: #{@user}, date_utc:"\
|
|
94
|
+
" #{@date_utc}, additional_properties: #{@additional_properties}>"
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
98
|
+
def inspect
|
|
99
|
+
class_name = self.class.name.split('::').last
|
|
100
|
+
"<#{class_name} details: #{@details.inspect}, changes: #{@changes.inspect}, user:"\
|
|
101
|
+
" #{@user.inspect}, date_utc: #{@date_utc.inspect}, additional_properties:"\
|
|
102
|
+
" #{@additional_properties}>"
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|