xero-ruby 2.4.1 → 3.2.1
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 +4 -4
- data/README.md +240 -189
- data/lib/xero-ruby.rb +10 -4
- data/lib/xero-ruby/api/accounting_api.rb +1308 -920
- data/lib/xero-ruby/api/asset_api.rb +15 -14
- data/lib/xero-ruby/api/files_api.rb +204 -85
- data/lib/xero-ruby/api/payroll_au_api.rb +121 -93
- data/lib/xero-ruby/api/payroll_nz_api.rb +307 -240
- data/lib/xero-ruby/api/payroll_uk_api.rb +317 -254
- data/lib/xero-ruby/api/project_api.rb +71 -59
- data/lib/xero-ruby/api_client.rb +182 -128
- data/lib/xero-ruby/api_error.rb +4 -4
- data/lib/xero-ruby/configuration.rb +17 -5
- data/lib/xero-ruby/models/accounting/account.rb +25 -12
- data/lib/xero-ruby/models/accounting/account_type.rb +1 -2
- data/lib/xero-ruby/models/accounting/accounts.rb +25 -11
- data/lib/xero-ruby/models/accounting/accounts_payable.rb +25 -11
- data/lib/xero-ruby/models/accounting/accounts_receivable.rb +25 -11
- data/lib/xero-ruby/models/accounting/action.rb +25 -11
- data/lib/xero-ruby/models/accounting/actions.rb +25 -11
- data/lib/xero-ruby/models/accounting/address.rb +27 -14
- data/lib/xero-ruby/models/accounting/address_for_organisation.rb +484 -0
- data/lib/xero-ruby/models/accounting/allocation.rb +25 -11
- data/lib/xero-ruby/models/accounting/allocations.rb +25 -11
- data/lib/xero-ruby/models/accounting/attachment.rb +25 -11
- data/lib/xero-ruby/models/accounting/attachments.rb +25 -11
- data/lib/xero-ruby/models/accounting/balance_details.rb +25 -11
- data/lib/xero-ruby/models/accounting/balances.rb +25 -11
- data/lib/xero-ruby/models/accounting/bank_transaction.rb +25 -11
- data/lib/xero-ruby/models/accounting/bank_transactions.rb +25 -11
- data/lib/xero-ruby/models/accounting/bank_transfer.rb +25 -11
- data/lib/xero-ruby/models/accounting/bank_transfers.rb +25 -11
- data/lib/xero-ruby/models/accounting/batch_payment.rb +41 -15
- data/lib/xero-ruby/models/accounting/batch_payment_details.rb +25 -11
- data/lib/xero-ruby/models/accounting/batch_payments.rb +25 -11
- data/lib/xero-ruby/models/accounting/bill.rb +25 -11
- data/lib/xero-ruby/models/accounting/branding_theme.rb +25 -11
- data/lib/xero-ruby/models/accounting/branding_themes.rb +25 -11
- data/lib/xero-ruby/models/accounting/budget.rb +327 -0
- data/lib/xero-ruby/models/accounting/budget_balance.rb +267 -0
- data/lib/xero-ruby/models/accounting/budget_line.rb +244 -0
- data/lib/xero-ruby/models/{files/file_response204.rb → accounting/budgets.rb} +40 -24
- data/lib/xero-ruby/models/accounting/cis_org_setting.rb +26 -12
- data/lib/xero-ruby/models/accounting/cis_org_settings.rb +224 -0
- data/lib/xero-ruby/models/accounting/cis_setting.rb +26 -12
- data/lib/xero-ruby/models/accounting/cis_settings.rb +25 -11
- data/lib/xero-ruby/models/accounting/contact.rb +25 -11
- data/lib/xero-ruby/models/accounting/contact_group.rb +25 -11
- data/lib/xero-ruby/models/accounting/contact_groups.rb +25 -11
- data/lib/xero-ruby/models/accounting/contact_person.rb +25 -11
- data/lib/xero-ruby/models/accounting/contacts.rb +25 -11
- data/lib/xero-ruby/models/accounting/conversion_balances.rb +25 -11
- data/lib/xero-ruby/models/accounting/conversion_date.rb +25 -11
- data/lib/xero-ruby/models/accounting/country_code.rb +1 -2
- data/lib/xero-ruby/models/accounting/credit_note.rb +62 -16
- data/lib/xero-ruby/models/accounting/credit_notes.rb +25 -11
- data/lib/xero-ruby/models/accounting/currencies.rb +25 -11
- data/lib/xero-ruby/models/accounting/currency.rb +25 -11
- data/lib/xero-ruby/models/accounting/currency_code.rb +1 -2
- data/lib/xero-ruby/models/accounting/element.rb +25 -11
- data/lib/xero-ruby/models/accounting/employee.rb +25 -11
- data/lib/xero-ruby/models/accounting/employees.rb +25 -11
- data/lib/xero-ruby/models/accounting/error.rb +25 -11
- data/lib/xero-ruby/models/accounting/expense_claim.rb +25 -11
- data/lib/xero-ruby/models/accounting/expense_claims.rb +25 -11
- data/lib/xero-ruby/models/accounting/external_link.rb +25 -11
- data/lib/xero-ruby/models/accounting/history_record.rb +25 -11
- data/lib/xero-ruby/models/accounting/history_records.rb +25 -11
- data/lib/xero-ruby/models/accounting/import_summary.rb +25 -11
- data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +33 -19
- data/lib/xero-ruby/models/accounting/import_summary_object.rb +25 -11
- data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +25 -11
- data/lib/xero-ruby/models/accounting/invoice.rb +37 -28
- data/lib/xero-ruby/models/accounting/invoice_reminder.rb +25 -11
- data/lib/xero-ruby/models/accounting/invoice_reminders.rb +25 -11
- data/lib/xero-ruby/models/accounting/invoices.rb +25 -11
- data/lib/xero-ruby/models/accounting/item.rb +25 -11
- data/lib/xero-ruby/models/accounting/items.rb +25 -11
- data/lib/xero-ruby/models/accounting/journal.rb +25 -11
- data/lib/xero-ruby/models/accounting/journal_line.rb +25 -11
- data/lib/xero-ruby/models/accounting/journals.rb +25 -11
- data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -2
- data/lib/xero-ruby/models/accounting/line_item.rb +36 -12
- data/lib/xero-ruby/models/accounting/line_item_tracking.rb +25 -11
- data/lib/xero-ruby/models/accounting/linked_transaction.rb +25 -11
- data/lib/xero-ruby/models/accounting/linked_transactions.rb +25 -11
- data/lib/xero-ruby/models/accounting/manual_journal.rb +25 -11
- data/lib/xero-ruby/models/accounting/manual_journal_line.rb +25 -11
- data/lib/xero-ruby/models/accounting/manual_journals.rb +25 -11
- data/lib/xero-ruby/models/accounting/online_invoice.rb +25 -11
- data/lib/xero-ruby/models/accounting/online_invoices.rb +25 -11
- data/lib/xero-ruby/models/accounting/organisation.rb +26 -14
- data/lib/xero-ruby/models/accounting/organisations.rb +25 -11
- data/lib/xero-ruby/models/accounting/overpayment.rb +25 -11
- data/lib/xero-ruby/models/accounting/overpayments.rb +25 -11
- data/lib/xero-ruby/models/accounting/payment.rb +36 -12
- data/lib/xero-ruby/models/accounting/payment_delete.rb +25 -11
- data/lib/xero-ruby/models/accounting/payment_service.rb +25 -11
- data/lib/xero-ruby/models/accounting/payment_services.rb +25 -11
- data/lib/xero-ruby/models/accounting/payment_term.rb +25 -11
- data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -2
- data/lib/xero-ruby/models/accounting/payments.rb +25 -11
- data/lib/xero-ruby/models/accounting/phone.rb +25 -11
- data/lib/xero-ruby/models/accounting/prepayment.rb +38 -12
- data/lib/xero-ruby/models/accounting/prepayments.rb +25 -11
- data/lib/xero-ruby/models/accounting/purchase.rb +25 -11
- data/lib/xero-ruby/models/accounting/purchase_order.rb +25 -11
- data/lib/xero-ruby/models/accounting/purchase_orders.rb +25 -11
- data/lib/xero-ruby/models/accounting/quote.rb +25 -11
- data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -2
- data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -2
- data/lib/xero-ruby/models/accounting/quotes.rb +25 -11
- data/lib/xero-ruby/models/accounting/receipt.rb +25 -11
- data/lib/xero-ruby/models/accounting/receipts.rb +25 -11
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +25 -11
- data/lib/xero-ruby/models/accounting/repeating_invoices.rb +25 -11
- data/lib/xero-ruby/models/accounting/report.rb +26 -22
- data/lib/xero-ruby/models/accounting/report_attribute.rb +25 -11
- data/lib/xero-ruby/models/accounting/report_cell.rb +25 -11
- data/lib/xero-ruby/models/accounting/report_fields.rb +25 -11
- data/lib/xero-ruby/models/accounting/report_row.rb +25 -11
- data/lib/xero-ruby/models/accounting/report_rows.rb +25 -11
- data/lib/xero-ruby/models/accounting/report_with_row.rb +26 -12
- data/lib/xero-ruby/models/accounting/report_with_rows.rb +25 -11
- data/lib/xero-ruby/models/accounting/reports.rb +25 -11
- data/lib/xero-ruby/models/accounting/request_empty.rb +25 -11
- data/lib/xero-ruby/models/accounting/row_type.rb +1 -2
- data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +25 -11
- data/lib/xero-ruby/models/accounting/schedule.rb +25 -11
- data/lib/xero-ruby/models/accounting/setup.rb +25 -11
- data/lib/xero-ruby/models/accounting/tax_component.rb +25 -11
- data/lib/xero-ruby/models/accounting/tax_rate.rb +25 -11
- data/lib/xero-ruby/models/accounting/tax_rates.rb +25 -11
- data/lib/xero-ruby/models/accounting/tax_type.rb +1 -2
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +25 -11
- data/lib/xero-ruby/models/accounting/time_zone.rb +1 -2
- data/lib/xero-ruby/models/accounting/tracking_categories.rb +25 -11
- data/lib/xero-ruby/models/accounting/tracking_category.rb +25 -11
- data/lib/xero-ruby/models/accounting/tracking_option.rb +25 -11
- data/lib/xero-ruby/models/accounting/tracking_options.rb +25 -11
- data/lib/xero-ruby/models/accounting/user.rb +25 -11
- data/lib/xero-ruby/models/accounting/users.rb +25 -11
- data/lib/xero-ruby/models/accounting/validation_error.rb +25 -11
- data/lib/xero-ruby/models/assets/asset.rb +25 -11
- data/lib/xero-ruby/models/assets/asset_status.rb +1 -2
- data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -2
- data/lib/xero-ruby/models/assets/asset_type.rb +25 -11
- data/lib/xero-ruby/models/assets/assets.rb +25 -11
- data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +25 -11
- data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +25 -11
- data/lib/xero-ruby/models/assets/error.rb +25 -11
- data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +26 -12
- data/lib/xero-ruby/models/assets/pagination.rb +25 -11
- data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +26 -12
- data/lib/xero-ruby/models/assets/setting.rb +25 -11
- data/lib/xero-ruby/models/files/association.rb +25 -11
- data/lib/xero-ruby/models/files/file_object.rb +25 -11
- data/lib/xero-ruby/models/files/files.rb +25 -11
- data/lib/xero-ruby/models/files/folder.rb +25 -11
- data/lib/xero-ruby/models/files/folders.rb +25 -11
- data/lib/xero-ruby/models/files/object_group.rb +1 -2
- data/lib/xero-ruby/models/files/object_type.rb +1 -2
- data/lib/xero-ruby/models/files/{inline_object.rb → upload_object.rb} +43 -14
- data/lib/xero-ruby/models/files/user.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/account.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/account_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/allowance_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/api_exception.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/bank_account.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/calendar_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/deduction_line.rb +25 -16
- data/lib/xero-ruby/models/payroll_au/deduction_type.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/earnings_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/earnings_type.rb +2 -2
- data/lib/xero-ruby/models/payroll_au/employee.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/employee_status.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/employees.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/home_address.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_applications.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_balance.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/leave_lines.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_period.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/pay_item.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/pay_items.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/pay_run.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/pay_runs.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/pay_template.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payslip.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payslip_object.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/payslips.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/rate_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/residency_status.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/settings.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/settings_object.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/state.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/super_fund.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/super_funds.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/super_line.rb +26 -12
- data/lib/xero-ruby/models/payroll_au/super_membership.rb +26 -12
- data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/tax_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/timesheet.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +1 -2
- data/lib/xero-ruby/models/payroll_au/timesheets.rb +25 -11
- data/lib/xero-ruby/models/payroll_au/validation_error.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/account.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/accounts.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/address.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/bank_account.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/benefit.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +0 -1
- data/lib/xero-ruby/models/payroll_nz/deduction.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/deductions.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employees.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employment.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/employment_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/leave_period.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_type.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/leave_types.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pagination.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_run.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/payment_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/payment_method.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/problem.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +28 -13
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/settings.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +0 -1
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/superannuations.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/tax_code.rb +0 -1
- data/lib/xero-ruby/models/payroll_nz/tax_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/timesheet.rb +28 -13
- data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +25 -11
- data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/timesheets.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +24 -10
- data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/account.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/accounts.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/address.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/bank_account.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/benefit.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/benefits.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/deduction.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/deductions.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +34 -12
- data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +25 -11
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employees.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employment.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/employment_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_period.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_type.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/leave_types.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pagination.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_run.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payment_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payment_method.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payslip.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/payslips.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/problem.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +27 -12
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/settings.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +0 -1
- data/lib/xero-ruby/models/payroll_uk/tax_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/timesheet.rb +25 -11
- data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/timesheets.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +24 -10
- data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +24 -10
- data/lib/xero-ruby/models/projects/amount.rb +24 -10
- data/lib/xero-ruby/models/projects/charge_type.rb +0 -1
- data/lib/xero-ruby/models/projects/currency_code.rb +0 -1
- data/lib/xero-ruby/models/projects/error.rb +24 -10
- data/lib/xero-ruby/models/projects/pagination.rb +24 -10
- data/lib/xero-ruby/models/projects/project.rb +24 -10
- data/lib/xero-ruby/models/projects/project_create_or_update.rb +24 -10
- data/lib/xero-ruby/models/projects/project_patch.rb +24 -10
- data/lib/xero-ruby/models/projects/project_status.rb +0 -1
- data/lib/xero-ruby/models/projects/project_user.rb +24 -10
- data/lib/xero-ruby/models/projects/project_users.rb +24 -10
- data/lib/xero-ruby/models/projects/projects.rb +24 -10
- data/lib/xero-ruby/models/projects/task.rb +24 -10
- data/lib/xero-ruby/models/projects/task_create_or_update.rb +24 -10
- data/lib/xero-ruby/models/projects/tasks.rb +24 -10
- data/lib/xero-ruby/models/projects/time_entries.rb +24 -10
- data/lib/xero-ruby/models/projects/time_entry.rb +27 -12
- data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +24 -10
- data/lib/xero-ruby/string_serialization.rb +52 -0
- data/lib/xero-ruby/version.rb +3 -3
- data/lib/xero-ruby/where.rb +65 -0
- data/spec/api_client_spec.rb +292 -14
- data/spec/api_error_spec.rb +45 -0
- data/spec/configuration_spec.rb +26 -16
- data/spec/files/models/inline_object_spec.rb +3 -3
- data/spec/helper_methods_spec.rb +110 -0
- data/spec/where_spec.rb +82 -0
- metadata +43 -12
- data/spec/files/models/file_response204_spec.rb +0 -41
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -61,8 +60,11 @@ module XeroRuby
|
|
|
61
60
|
# @return [String]
|
|
62
61
|
attr_accessor :password
|
|
63
62
|
|
|
64
|
-
# Defines the access token (Bearer) used with OAuth2
|
|
63
|
+
# Defines the access token (Bearer) used with OAuth2 authorization
|
|
65
64
|
attr_accessor :access_token
|
|
65
|
+
|
|
66
|
+
# Defines OpenID Connect id_token containing Xero user authentication detail
|
|
67
|
+
attr_accessor :id_token
|
|
66
68
|
|
|
67
69
|
# Defines the token set used with OAuth2. May include id/access/refresh token & other meta info.
|
|
68
70
|
attr_accessor :token_set
|
|
@@ -139,7 +141,7 @@ module XeroRuby
|
|
|
139
141
|
@host = 'api.xero.com'
|
|
140
142
|
@base_path = '/api.xro/2.0'
|
|
141
143
|
@login_url = 'https://login.xero.com/identity/connect/authorize'
|
|
142
|
-
@token_url = 'https://identity.xero.com/connect
|
|
144
|
+
@token_url = 'https://identity.xero.com/connect'
|
|
143
145
|
@accounting_url = 'https://api.xero.com/api.xro/2.0'
|
|
144
146
|
@asset_url = 'https://api.xero.com/assets.xro/1.0'
|
|
145
147
|
@project_url = 'https://api.xero.com/projects.xro/2.0/'
|
|
@@ -147,6 +149,8 @@ module XeroRuby
|
|
|
147
149
|
@payroll_au_url = 'https://api.xero.com/payroll.xro/1.0/'
|
|
148
150
|
@payroll_nz_url = 'https://api.xero.com/payroll.xro/2.0/'
|
|
149
151
|
@payroll_uk_url = 'https://api.xero.com/payroll.xro/2.0/'
|
|
152
|
+
@access_token = nil
|
|
153
|
+
@id_token = nil
|
|
150
154
|
@api_key = {}
|
|
151
155
|
@api_key_prefix = {}
|
|
152
156
|
@timeout = 0
|
|
@@ -192,6 +196,14 @@ module XeroRuby
|
|
|
192
196
|
def base_url=(api_url)
|
|
193
197
|
@base_url = api_url
|
|
194
198
|
end
|
|
199
|
+
|
|
200
|
+
def access_token=(access_token)
|
|
201
|
+
@access_token = access_token
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
def id_token=(id_token)
|
|
205
|
+
@id_token = id_token
|
|
206
|
+
end
|
|
195
207
|
|
|
196
208
|
# Gets API key (with prefix if set).
|
|
197
209
|
# @param [String] param_name the parameter name of API key auth
|
|
@@ -226,7 +238,7 @@ module XeroRuby
|
|
|
226
238
|
[
|
|
227
239
|
{
|
|
228
240
|
url: "https://api.xero.com/api.xro/2.0",
|
|
229
|
-
description: "Xero Accounting API
|
|
241
|
+
description: "The Xero Accounting API exposes accounting and related functions of the main Xero application and can be used for a variety of purposes such as creating transactions like invoices and credit notes, right through to extracting accounting data via our reports endpoint.",
|
|
230
242
|
}
|
|
231
243
|
]
|
|
232
244
|
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -91,7 +90,6 @@ module XeroRuby::Accounting
|
|
|
91
90
|
CISLABOURINCOME = "CISLABOURINCOME".freeze
|
|
92
91
|
CISLIABILITY = "CISLIABILITY".freeze
|
|
93
92
|
CISMATERIALS = "CISMATERIALS".freeze
|
|
94
|
-
# duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
|
|
95
93
|
# EMPTY = "".freeze
|
|
96
94
|
|
|
97
95
|
# Shown if set
|
|
@@ -485,38 +483,53 @@ module XeroRuby::Accounting
|
|
|
485
483
|
|
|
486
484
|
# Returns the object in the form of hash
|
|
487
485
|
# @return [Hash] Returns the object in the form of hash
|
|
488
|
-
def to_hash
|
|
486
|
+
def to_hash(downcase: false)
|
|
489
487
|
hash = {}
|
|
490
488
|
self.class.attribute_map.each_pair do |attr, param|
|
|
491
489
|
value = self.send(attr)
|
|
492
490
|
next if value.nil?
|
|
493
|
-
|
|
491
|
+
key = downcase ? attr : param
|
|
492
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
494
493
|
end
|
|
495
494
|
hash
|
|
496
495
|
end
|
|
497
496
|
|
|
497
|
+
# Returns the object in the form of hash with snake_case
|
|
498
|
+
def to_attributes
|
|
499
|
+
to_hash(downcase: true)
|
|
500
|
+
end
|
|
501
|
+
|
|
498
502
|
# Outputs non-array value in the form of hash
|
|
499
503
|
# For object, use to_hash. Otherwise, just return the value
|
|
500
504
|
# @param [Object] value Any valid value
|
|
501
505
|
# @return [Hash] Returns the value in the form of hash
|
|
502
|
-
def _to_hash(value)
|
|
506
|
+
def _to_hash(value, downcase: false)
|
|
503
507
|
if value.is_a?(Array)
|
|
504
|
-
value.
|
|
508
|
+
value.map do |v|
|
|
509
|
+
v.to_hash(downcase: downcase)
|
|
510
|
+
end
|
|
505
511
|
elsif value.is_a?(Hash)
|
|
506
512
|
{}.tap do |hash|
|
|
507
|
-
value.
|
|
513
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
508
514
|
end
|
|
509
515
|
elsif value.respond_to? :to_hash
|
|
510
|
-
value.to_hash
|
|
516
|
+
value.to_hash(downcase: downcase)
|
|
511
517
|
else
|
|
512
518
|
value
|
|
513
519
|
end
|
|
514
520
|
end
|
|
515
521
|
|
|
516
|
-
# customized data_parser
|
|
517
522
|
def parse_date(datestring)
|
|
518
|
-
|
|
519
|
-
|
|
523
|
+
if datestring.include?('Date')
|
|
524
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
525
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
526
|
+
date = (date.to_i / 1000)
|
|
527
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
528
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
529
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
530
|
+
else # handle date 'types' for small subset of payroll API's
|
|
531
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
532
|
+
end
|
|
520
533
|
end
|
|
521
534
|
end
|
|
522
535
|
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -173,38 +172,53 @@ module XeroRuby::Accounting
|
|
|
173
172
|
|
|
174
173
|
# Returns the object in the form of hash
|
|
175
174
|
# @return [Hash] Returns the object in the form of hash
|
|
176
|
-
def to_hash
|
|
175
|
+
def to_hash(downcase: false)
|
|
177
176
|
hash = {}
|
|
178
177
|
self.class.attribute_map.each_pair do |attr, param|
|
|
179
178
|
value = self.send(attr)
|
|
180
179
|
next if value.nil?
|
|
181
|
-
|
|
180
|
+
key = downcase ? attr : param
|
|
181
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
182
182
|
end
|
|
183
183
|
hash
|
|
184
184
|
end
|
|
185
185
|
|
|
186
|
+
# Returns the object in the form of hash with snake_case
|
|
187
|
+
def to_attributes
|
|
188
|
+
to_hash(downcase: true)
|
|
189
|
+
end
|
|
190
|
+
|
|
186
191
|
# Outputs non-array value in the form of hash
|
|
187
192
|
# For object, use to_hash. Otherwise, just return the value
|
|
188
193
|
# @param [Object] value Any valid value
|
|
189
194
|
# @return [Hash] Returns the value in the form of hash
|
|
190
|
-
def _to_hash(value)
|
|
195
|
+
def _to_hash(value, downcase: false)
|
|
191
196
|
if value.is_a?(Array)
|
|
192
|
-
value.
|
|
197
|
+
value.map do |v|
|
|
198
|
+
v.to_hash(downcase: downcase)
|
|
199
|
+
end
|
|
193
200
|
elsif value.is_a?(Hash)
|
|
194
201
|
{}.tap do |hash|
|
|
195
|
-
value.
|
|
202
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
196
203
|
end
|
|
197
204
|
elsif value.respond_to? :to_hash
|
|
198
|
-
value.to_hash
|
|
205
|
+
value.to_hash(downcase: downcase)
|
|
199
206
|
else
|
|
200
207
|
value
|
|
201
208
|
end
|
|
202
209
|
end
|
|
203
210
|
|
|
204
|
-
# customized data_parser
|
|
205
211
|
def parse_date(datestring)
|
|
206
|
-
|
|
207
|
-
|
|
212
|
+
if datestring.include?('Date')
|
|
213
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
214
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
215
|
+
date = (date.to_i / 1000)
|
|
216
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
217
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
218
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
219
|
+
else # handle date 'types' for small subset of payroll API's
|
|
220
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
221
|
+
end
|
|
208
222
|
end
|
|
209
223
|
end
|
|
210
224
|
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -181,38 +180,53 @@ module XeroRuby::Accounting
|
|
|
181
180
|
|
|
182
181
|
# Returns the object in the form of hash
|
|
183
182
|
# @return [Hash] Returns the object in the form of hash
|
|
184
|
-
def to_hash
|
|
183
|
+
def to_hash(downcase: false)
|
|
185
184
|
hash = {}
|
|
186
185
|
self.class.attribute_map.each_pair do |attr, param|
|
|
187
186
|
value = self.send(attr)
|
|
188
187
|
next if value.nil?
|
|
189
|
-
|
|
188
|
+
key = downcase ? attr : param
|
|
189
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
190
190
|
end
|
|
191
191
|
hash
|
|
192
192
|
end
|
|
193
193
|
|
|
194
|
+
# Returns the object in the form of hash with snake_case
|
|
195
|
+
def to_attributes
|
|
196
|
+
to_hash(downcase: true)
|
|
197
|
+
end
|
|
198
|
+
|
|
194
199
|
# Outputs non-array value in the form of hash
|
|
195
200
|
# For object, use to_hash. Otherwise, just return the value
|
|
196
201
|
# @param [Object] value Any valid value
|
|
197
202
|
# @return [Hash] Returns the value in the form of hash
|
|
198
|
-
def _to_hash(value)
|
|
203
|
+
def _to_hash(value, downcase: false)
|
|
199
204
|
if value.is_a?(Array)
|
|
200
|
-
value.
|
|
205
|
+
value.map do |v|
|
|
206
|
+
v.to_hash(downcase: downcase)
|
|
207
|
+
end
|
|
201
208
|
elsif value.is_a?(Hash)
|
|
202
209
|
{}.tap do |hash|
|
|
203
|
-
value.
|
|
210
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
204
211
|
end
|
|
205
212
|
elsif value.respond_to? :to_hash
|
|
206
|
-
value.to_hash
|
|
213
|
+
value.to_hash(downcase: downcase)
|
|
207
214
|
else
|
|
208
215
|
value
|
|
209
216
|
end
|
|
210
217
|
end
|
|
211
218
|
|
|
212
|
-
# customized data_parser
|
|
213
219
|
def parse_date(datestring)
|
|
214
|
-
|
|
215
|
-
|
|
220
|
+
if datestring.include?('Date')
|
|
221
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
222
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
223
|
+
date = (date.to_i / 1000)
|
|
224
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
225
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
226
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
227
|
+
else # handle date 'types' for small subset of payroll API's
|
|
228
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
229
|
+
end
|
|
216
230
|
end
|
|
217
231
|
end
|
|
218
232
|
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -181,38 +180,53 @@ module XeroRuby::Accounting
|
|
|
181
180
|
|
|
182
181
|
# Returns the object in the form of hash
|
|
183
182
|
# @return [Hash] Returns the object in the form of hash
|
|
184
|
-
def to_hash
|
|
183
|
+
def to_hash(downcase: false)
|
|
185
184
|
hash = {}
|
|
186
185
|
self.class.attribute_map.each_pair do |attr, param|
|
|
187
186
|
value = self.send(attr)
|
|
188
187
|
next if value.nil?
|
|
189
|
-
|
|
188
|
+
key = downcase ? attr : param
|
|
189
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
190
190
|
end
|
|
191
191
|
hash
|
|
192
192
|
end
|
|
193
193
|
|
|
194
|
+
# Returns the object in the form of hash with snake_case
|
|
195
|
+
def to_attributes
|
|
196
|
+
to_hash(downcase: true)
|
|
197
|
+
end
|
|
198
|
+
|
|
194
199
|
# Outputs non-array value in the form of hash
|
|
195
200
|
# For object, use to_hash. Otherwise, just return the value
|
|
196
201
|
# @param [Object] value Any valid value
|
|
197
202
|
# @return [Hash] Returns the value in the form of hash
|
|
198
|
-
def _to_hash(value)
|
|
203
|
+
def _to_hash(value, downcase: false)
|
|
199
204
|
if value.is_a?(Array)
|
|
200
|
-
value.
|
|
205
|
+
value.map do |v|
|
|
206
|
+
v.to_hash(downcase: downcase)
|
|
207
|
+
end
|
|
201
208
|
elsif value.is_a?(Hash)
|
|
202
209
|
{}.tap do |hash|
|
|
203
|
-
value.
|
|
210
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
204
211
|
end
|
|
205
212
|
elsif value.respond_to? :to_hash
|
|
206
|
-
value.to_hash
|
|
213
|
+
value.to_hash(downcase: downcase)
|
|
207
214
|
else
|
|
208
215
|
value
|
|
209
216
|
end
|
|
210
217
|
end
|
|
211
218
|
|
|
212
|
-
# customized data_parser
|
|
213
219
|
def parse_date(datestring)
|
|
214
|
-
|
|
215
|
-
|
|
220
|
+
if datestring.include?('Date')
|
|
221
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
222
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
223
|
+
date = (date.to_i / 1000)
|
|
224
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
225
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
226
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
227
|
+
else # handle date 'types' for small subset of payroll API's
|
|
228
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
229
|
+
end
|
|
216
230
|
end
|
|
217
231
|
end
|
|
218
232
|
end
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Accounting API
|
|
2
|
+
#Xero Accounting API
|
|
3
3
|
|
|
4
4
|
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2.6.0
|
|
7
6
|
Contact: api@xero.com
|
|
8
7
|
Generated by: https://openapi-generator.tech
|
|
9
8
|
OpenAPI Generator version: 4.3.1
|
|
@@ -217,38 +216,53 @@ module XeroRuby::Accounting
|
|
|
217
216
|
|
|
218
217
|
# Returns the object in the form of hash
|
|
219
218
|
# @return [Hash] Returns the object in the form of hash
|
|
220
|
-
def to_hash
|
|
219
|
+
def to_hash(downcase: false)
|
|
221
220
|
hash = {}
|
|
222
221
|
self.class.attribute_map.each_pair do |attr, param|
|
|
223
222
|
value = self.send(attr)
|
|
224
223
|
next if value.nil?
|
|
225
|
-
|
|
224
|
+
key = downcase ? attr : param
|
|
225
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
226
226
|
end
|
|
227
227
|
hash
|
|
228
228
|
end
|
|
229
229
|
|
|
230
|
+
# Returns the object in the form of hash with snake_case
|
|
231
|
+
def to_attributes
|
|
232
|
+
to_hash(downcase: true)
|
|
233
|
+
end
|
|
234
|
+
|
|
230
235
|
# Outputs non-array value in the form of hash
|
|
231
236
|
# For object, use to_hash. Otherwise, just return the value
|
|
232
237
|
# @param [Object] value Any valid value
|
|
233
238
|
# @return [Hash] Returns the value in the form of hash
|
|
234
|
-
def _to_hash(value)
|
|
239
|
+
def _to_hash(value, downcase: false)
|
|
235
240
|
if value.is_a?(Array)
|
|
236
|
-
value.
|
|
241
|
+
value.map do |v|
|
|
242
|
+
v.to_hash(downcase: downcase)
|
|
243
|
+
end
|
|
237
244
|
elsif value.is_a?(Hash)
|
|
238
245
|
{}.tap do |hash|
|
|
239
|
-
value.
|
|
246
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
240
247
|
end
|
|
241
248
|
elsif value.respond_to? :to_hash
|
|
242
|
-
value.to_hash
|
|
249
|
+
value.to_hash(downcase: downcase)
|
|
243
250
|
else
|
|
244
251
|
value
|
|
245
252
|
end
|
|
246
253
|
end
|
|
247
254
|
|
|
248
|
-
# customized data_parser
|
|
249
255
|
def parse_date(datestring)
|
|
250
|
-
|
|
251
|
-
|
|
256
|
+
if datestring.include?('Date')
|
|
257
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
258
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
259
|
+
date = (date.to_i / 1000)
|
|
260
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
261
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
262
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
263
|
+
else # handle date 'types' for small subset of payroll API's
|
|
264
|
+
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
265
|
+
end
|
|
252
266
|
end
|
|
253
267
|
end
|
|
254
268
|
end
|