xero-ruby 2.9.0 → 3.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 +4 -4
- data/README.md +133 -97
- data/lib/xero-ruby/api/accounting_api.rb +6 -0
- data/lib/xero-ruby/api_client.rb +96 -16
- data/lib/xero-ruby/configuration.rb +14 -1
- data/lib/xero-ruby/models/accounting/account.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts_payable.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts_receivable.rb +11 -7
- data/lib/xero-ruby/models/accounting/action.rb +11 -7
- data/lib/xero-ruby/models/accounting/actions.rb +11 -7
- data/lib/xero-ruby/models/accounting/address.rb +11 -7
- data/lib/xero-ruby/models/accounting/address_for_organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/allocation.rb +11 -7
- data/lib/xero-ruby/models/accounting/allocations.rb +11 -7
- data/lib/xero-ruby/models/accounting/attachment.rb +11 -7
- data/lib/xero-ruby/models/accounting/attachments.rb +11 -7
- data/lib/xero-ruby/models/accounting/balance_details.rb +11 -7
- data/lib/xero-ruby/models/accounting/balances.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transaction.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transactions.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transfer.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transfers.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payment.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payment_details.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payments.rb +11 -7
- data/lib/xero-ruby/models/accounting/bill.rb +11 -7
- data/lib/xero-ruby/models/accounting/branding_theme.rb +11 -7
- data/lib/xero-ruby/models/accounting/branding_themes.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_org_setting.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_org_settings.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_setting.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_settings.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_group.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_groups.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_person.rb +11 -7
- data/lib/xero-ruby/models/accounting/contacts.rb +11 -7
- data/lib/xero-ruby/models/accounting/conversion_balances.rb +11 -7
- data/lib/xero-ruby/models/accounting/conversion_date.rb +11 -7
- data/lib/xero-ruby/models/accounting/credit_note.rb +11 -7
- data/lib/xero-ruby/models/accounting/credit_notes.rb +11 -7
- data/lib/xero-ruby/models/accounting/currencies.rb +11 -7
- data/lib/xero-ruby/models/accounting/currency.rb +11 -7
- data/lib/xero-ruby/models/accounting/element.rb +11 -7
- data/lib/xero-ruby/models/accounting/employee.rb +11 -7
- data/lib/xero-ruby/models/accounting/employees.rb +11 -7
- data/lib/xero-ruby/models/accounting/error.rb +11 -7
- data/lib/xero-ruby/models/accounting/expense_claim.rb +11 -7
- data/lib/xero-ruby/models/accounting/expense_claims.rb +11 -7
- data/lib/xero-ruby/models/accounting/external_link.rb +11 -7
- data/lib/xero-ruby/models/accounting/history_record.rb +11 -7
- data/lib/xero-ruby/models/accounting/history_records.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_object.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice_reminder.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice_reminders.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/item.rb +11 -7
- data/lib/xero-ruby/models/accounting/items.rb +11 -7
- data/lib/xero-ruby/models/accounting/journal.rb +11 -7
- data/lib/xero-ruby/models/accounting/journal_line.rb +11 -7
- data/lib/xero-ruby/models/accounting/journals.rb +11 -7
- data/lib/xero-ruby/models/accounting/line_item.rb +11 -7
- data/lib/xero-ruby/models/accounting/line_item_tracking.rb +11 -7
- data/lib/xero-ruby/models/accounting/linked_transaction.rb +11 -7
- data/lib/xero-ruby/models/accounting/linked_transactions.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journal.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journal_line.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journals.rb +11 -7
- data/lib/xero-ruby/models/accounting/online_invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/online_invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/organisations.rb +11 -7
- data/lib/xero-ruby/models/accounting/overpayment.rb +11 -7
- data/lib/xero-ruby/models/accounting/overpayments.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_delete.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_service.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_services.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_term.rb +11 -7
- data/lib/xero-ruby/models/accounting/payments.rb +11 -7
- data/lib/xero-ruby/models/accounting/phone.rb +11 -7
- data/lib/xero-ruby/models/accounting/prepayment.rb +24 -8
- data/lib/xero-ruby/models/accounting/prepayments.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase_order.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase_orders.rb +11 -7
- data/lib/xero-ruby/models/accounting/quote.rb +11 -7
- data/lib/xero-ruby/models/accounting/quotes.rb +11 -7
- data/lib/xero-ruby/models/accounting/receipt.rb +11 -7
- data/lib/xero-ruby/models/accounting/receipts.rb +11 -7
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/repeating_invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/report.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_attribute.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_cell.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_fields.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_row.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_rows.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_with_row.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_with_rows.rb +11 -7
- data/lib/xero-ruby/models/accounting/reports.rb +11 -7
- data/lib/xero-ruby/models/accounting/request_empty.rb +11 -7
- data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +11 -7
- data/lib/xero-ruby/models/accounting/schedule.rb +11 -7
- data/lib/xero-ruby/models/accounting/setup.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_component.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_rate.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_rates.rb +11 -7
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_option.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_options.rb +11 -7
- data/lib/xero-ruby/models/accounting/user.rb +11 -7
- data/lib/xero-ruby/models/accounting/users.rb +11 -7
- data/lib/xero-ruby/models/accounting/validation_error.rb +11 -7
- data/lib/xero-ruby/models/assets/asset.rb +11 -7
- data/lib/xero-ruby/models/assets/asset_type.rb +11 -7
- data/lib/xero-ruby/models/assets/assets.rb +11 -7
- data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +11 -7
- data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +11 -7
- data/lib/xero-ruby/models/assets/error.rb +11 -7
- data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +11 -7
- data/lib/xero-ruby/models/assets/pagination.rb +11 -7
- data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +11 -7
- data/lib/xero-ruby/models/assets/setting.rb +11 -7
- data/lib/xero-ruby/models/files/association.rb +11 -7
- data/lib/xero-ruby/models/files/file_object.rb +11 -7
- data/lib/xero-ruby/models/files/files.rb +11 -7
- data/lib/xero-ruby/models/files/folder.rb +11 -7
- data/lib/xero-ruby/models/files/folders.rb +11 -7
- data/lib/xero-ruby/models/files/upload_object.rb +11 -7
- data/lib/xero-ruby/models/files/user.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/api_exception.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/deduction_line.rb +11 -12
- data/lib/xero-ruby/models/payroll_au/deduction_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/home_address.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_applications.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_item.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_items.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslips.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_funds.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_membership.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/validation_error.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/accounts.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/address.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/benefit.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employment.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employment_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pagination.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/problem.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuations.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/accounts.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/address.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefits.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employment.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employment_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pagination.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslip.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslips.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/problem.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/projects/amount.rb +11 -7
- data/lib/xero-ruby/models/projects/error.rb +11 -7
- data/lib/xero-ruby/models/projects/pagination.rb +11 -7
- data/lib/xero-ruby/models/projects/project.rb +11 -7
- data/lib/xero-ruby/models/projects/project_create_or_update.rb +11 -7
- data/lib/xero-ruby/models/projects/project_patch.rb +11 -7
- data/lib/xero-ruby/models/projects/project_user.rb +11 -7
- data/lib/xero-ruby/models/projects/project_users.rb +11 -7
- data/lib/xero-ruby/models/projects/projects.rb +11 -7
- data/lib/xero-ruby/models/projects/task.rb +11 -7
- data/lib/xero-ruby/models/projects/task_create_or_update.rb +11 -7
- data/lib/xero-ruby/models/projects/tasks.rb +11 -7
- data/lib/xero-ruby/models/projects/time_entries.rb +11 -7
- data/lib/xero-ruby/models/projects/time_entry.rb +14 -9
- data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +11 -7
- data/lib/xero-ruby/version.rb +2 -2
- data/spec/api_client_spec.rb +160 -4
- data/spec/helper_methods_spec.rb +28 -0
- metadata +23 -3
|
@@ -178,7 +178,7 @@ module XeroRuby::Files
|
|
|
178
178
|
value = self.send(attr)
|
|
179
179
|
next if value.nil?
|
|
180
180
|
key = downcase ? attr : param
|
|
181
|
-
hash[key] = _to_hash(value)
|
|
181
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
182
182
|
end
|
|
183
183
|
hash
|
|
184
184
|
end
|
|
@@ -192,15 +192,17 @@ module XeroRuby::Files
|
|
|
192
192
|
# For object, use to_hash. Otherwise, just return the value
|
|
193
193
|
# @param [Object] value Any valid value
|
|
194
194
|
# @return [Hash] Returns the value in the form of hash
|
|
195
|
-
def _to_hash(value)
|
|
195
|
+
def _to_hash(value, downcase: false)
|
|
196
196
|
if value.is_a?(Array)
|
|
197
|
-
value.
|
|
197
|
+
value.map do |v|
|
|
198
|
+
v.to_hash(downcase: downcase)
|
|
199
|
+
end
|
|
198
200
|
elsif value.is_a?(Hash)
|
|
199
201
|
{}.tap do |hash|
|
|
200
|
-
value.
|
|
202
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
201
203
|
end
|
|
202
204
|
elsif value.respond_to? :to_hash
|
|
203
|
-
value.to_hash
|
|
205
|
+
value.to_hash(downcase: downcase)
|
|
204
206
|
else
|
|
205
207
|
value
|
|
206
208
|
end
|
|
@@ -208,8 +210,10 @@ module XeroRuby::Files
|
|
|
208
210
|
|
|
209
211
|
def parse_date(datestring)
|
|
210
212
|
if datestring.include?('Date')
|
|
211
|
-
|
|
212
|
-
|
|
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
|
|
213
217
|
else # handle date 'types' for small subset of payroll API's
|
|
214
218
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
215
219
|
end
|
|
@@ -221,7 +221,7 @@ module XeroRuby::Files
|
|
|
221
221
|
value = self.send(attr)
|
|
222
222
|
next if value.nil?
|
|
223
223
|
key = downcase ? attr : param
|
|
224
|
-
hash[key] = _to_hash(value)
|
|
224
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
225
225
|
end
|
|
226
226
|
hash
|
|
227
227
|
end
|
|
@@ -235,15 +235,17 @@ module XeroRuby::Files
|
|
|
235
235
|
# For object, use to_hash. Otherwise, just return the value
|
|
236
236
|
# @param [Object] value Any valid value
|
|
237
237
|
# @return [Hash] Returns the value in the form of hash
|
|
238
|
-
def _to_hash(value)
|
|
238
|
+
def _to_hash(value, downcase: false)
|
|
239
239
|
if value.is_a?(Array)
|
|
240
|
-
value.
|
|
240
|
+
value.map do |v|
|
|
241
|
+
v.to_hash(downcase: downcase)
|
|
242
|
+
end
|
|
241
243
|
elsif value.is_a?(Hash)
|
|
242
244
|
{}.tap do |hash|
|
|
243
|
-
value.
|
|
245
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
244
246
|
end
|
|
245
247
|
elsif value.respond_to? :to_hash
|
|
246
|
-
value.to_hash
|
|
248
|
+
value.to_hash(downcase: downcase)
|
|
247
249
|
else
|
|
248
250
|
value
|
|
249
251
|
end
|
|
@@ -251,8 +253,10 @@ module XeroRuby::Files
|
|
|
251
253
|
|
|
252
254
|
def parse_date(datestring)
|
|
253
255
|
if datestring.include?('Date')
|
|
254
|
-
|
|
255
|
-
|
|
256
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
257
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
258
|
+
date = (date.to_i / 1000)
|
|
259
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
256
260
|
else # handle date 'types' for small subset of payroll API's
|
|
257
261
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
258
262
|
end
|
|
@@ -221,7 +221,7 @@ module XeroRuby::Files
|
|
|
221
221
|
value = self.send(attr)
|
|
222
222
|
next if value.nil?
|
|
223
223
|
key = downcase ? attr : param
|
|
224
|
-
hash[key] = _to_hash(value)
|
|
224
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
225
225
|
end
|
|
226
226
|
hash
|
|
227
227
|
end
|
|
@@ -235,15 +235,17 @@ module XeroRuby::Files
|
|
|
235
235
|
# For object, use to_hash. Otherwise, just return the value
|
|
236
236
|
# @param [Object] value Any valid value
|
|
237
237
|
# @return [Hash] Returns the value in the form of hash
|
|
238
|
-
def _to_hash(value)
|
|
238
|
+
def _to_hash(value, downcase: false)
|
|
239
239
|
if value.is_a?(Array)
|
|
240
|
-
value.
|
|
240
|
+
value.map do |v|
|
|
241
|
+
v.to_hash(downcase: downcase)
|
|
242
|
+
end
|
|
241
243
|
elsif value.is_a?(Hash)
|
|
242
244
|
{}.tap do |hash|
|
|
243
|
-
value.
|
|
245
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
244
246
|
end
|
|
245
247
|
elsif value.respond_to? :to_hash
|
|
246
|
-
value.to_hash
|
|
248
|
+
value.to_hash(downcase: downcase)
|
|
247
249
|
else
|
|
248
250
|
value
|
|
249
251
|
end
|
|
@@ -251,8 +253,10 @@ module XeroRuby::Files
|
|
|
251
253
|
|
|
252
254
|
def parse_date(datestring)
|
|
253
255
|
if datestring.include?('Date')
|
|
254
|
-
|
|
255
|
-
|
|
256
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
257
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
258
|
+
date = (date.to_i / 1000)
|
|
259
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
256
260
|
else # handle date 'types' for small subset of payroll API's
|
|
257
261
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
258
262
|
end
|
|
@@ -206,7 +206,7 @@ module XeroRuby::PayrollAu
|
|
|
206
206
|
value = self.send(attr)
|
|
207
207
|
next if value.nil?
|
|
208
208
|
key = downcase ? attr : param
|
|
209
|
-
hash[key] = _to_hash(value)
|
|
209
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
210
210
|
end
|
|
211
211
|
hash
|
|
212
212
|
end
|
|
@@ -220,15 +220,17 @@ module XeroRuby::PayrollAu
|
|
|
220
220
|
# For object, use to_hash. Otherwise, just return the value
|
|
221
221
|
# @param [Object] value Any valid value
|
|
222
222
|
# @return [Hash] Returns the value in the form of hash
|
|
223
|
-
def _to_hash(value)
|
|
223
|
+
def _to_hash(value, downcase: false)
|
|
224
224
|
if value.is_a?(Array)
|
|
225
|
-
value.
|
|
225
|
+
value.map do |v|
|
|
226
|
+
v.to_hash(downcase: downcase)
|
|
227
|
+
end
|
|
226
228
|
elsif value.is_a?(Hash)
|
|
227
229
|
{}.tap do |hash|
|
|
228
|
-
value.
|
|
230
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
229
231
|
end
|
|
230
232
|
elsif value.respond_to? :to_hash
|
|
231
|
-
value.to_hash
|
|
233
|
+
value.to_hash(downcase: downcase)
|
|
232
234
|
else
|
|
233
235
|
value
|
|
234
236
|
end
|
|
@@ -236,8 +238,10 @@ module XeroRuby::PayrollAu
|
|
|
236
238
|
|
|
237
239
|
def parse_date(datestring)
|
|
238
240
|
if datestring.include?('Date')
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
242
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
243
|
+
date = (date.to_i / 1000)
|
|
244
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
241
245
|
else # handle date 'types' for small subset of payroll API's
|
|
242
246
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
243
247
|
end
|
|
@@ -197,7 +197,7 @@ module XeroRuby::PayrollAu
|
|
|
197
197
|
value = self.send(attr)
|
|
198
198
|
next if value.nil?
|
|
199
199
|
key = downcase ? attr : param
|
|
200
|
-
hash[key] = _to_hash(value)
|
|
200
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
201
201
|
end
|
|
202
202
|
hash
|
|
203
203
|
end
|
|
@@ -211,15 +211,17 @@ module XeroRuby::PayrollAu
|
|
|
211
211
|
# For object, use to_hash. Otherwise, just return the value
|
|
212
212
|
# @param [Object] value Any valid value
|
|
213
213
|
# @return [Hash] Returns the value in the form of hash
|
|
214
|
-
def _to_hash(value)
|
|
214
|
+
def _to_hash(value, downcase: false)
|
|
215
215
|
if value.is_a?(Array)
|
|
216
|
-
value.
|
|
216
|
+
value.map do |v|
|
|
217
|
+
v.to_hash(downcase: downcase)
|
|
218
|
+
end
|
|
217
219
|
elsif value.is_a?(Hash)
|
|
218
220
|
{}.tap do |hash|
|
|
219
|
-
value.
|
|
221
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
220
222
|
end
|
|
221
223
|
elsif value.respond_to? :to_hash
|
|
222
|
-
value.to_hash
|
|
224
|
+
value.to_hash(downcase: downcase)
|
|
223
225
|
else
|
|
224
226
|
value
|
|
225
227
|
end
|
|
@@ -227,8 +229,10 @@ module XeroRuby::PayrollAu
|
|
|
227
229
|
|
|
228
230
|
def parse_date(datestring)
|
|
229
231
|
if datestring.include?('Date')
|
|
230
|
-
|
|
231
|
-
|
|
232
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
233
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
234
|
+
date = (date.to_i / 1000)
|
|
235
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
232
236
|
else # handle date 'types' for small subset of payroll API's
|
|
233
237
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
234
238
|
end
|
|
@@ -226,7 +226,7 @@ module XeroRuby::PayrollAu
|
|
|
226
226
|
value = self.send(attr)
|
|
227
227
|
next if value.nil?
|
|
228
228
|
key = downcase ? attr : param
|
|
229
|
-
hash[key] = _to_hash(value)
|
|
229
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
230
230
|
end
|
|
231
231
|
hash
|
|
232
232
|
end
|
|
@@ -240,15 +240,17 @@ module XeroRuby::PayrollAu
|
|
|
240
240
|
# For object, use to_hash. Otherwise, just return the value
|
|
241
241
|
# @param [Object] value Any valid value
|
|
242
242
|
# @return [Hash] Returns the value in the form of hash
|
|
243
|
-
def _to_hash(value)
|
|
243
|
+
def _to_hash(value, downcase: false)
|
|
244
244
|
if value.is_a?(Array)
|
|
245
|
-
value.
|
|
245
|
+
value.map do |v|
|
|
246
|
+
v.to_hash(downcase: downcase)
|
|
247
|
+
end
|
|
246
248
|
elsif value.is_a?(Hash)
|
|
247
249
|
{}.tap do |hash|
|
|
248
|
-
value.
|
|
250
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
249
251
|
end
|
|
250
252
|
elsif value.respond_to? :to_hash
|
|
251
|
-
value.to_hash
|
|
253
|
+
value.to_hash(downcase: downcase)
|
|
252
254
|
else
|
|
253
255
|
value
|
|
254
256
|
end
|
|
@@ -256,8 +258,10 @@ module XeroRuby::PayrollAu
|
|
|
256
258
|
|
|
257
259
|
def parse_date(datestring)
|
|
258
260
|
if datestring.include?('Date')
|
|
259
|
-
|
|
260
|
-
|
|
261
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
262
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
263
|
+
date = (date.to_i / 1000)
|
|
264
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
261
265
|
else # handle date 'types' for small subset of payroll API's
|
|
262
266
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
263
267
|
end
|
|
@@ -97,10 +97,6 @@ module XeroRuby::PayrollAu
|
|
|
97
97
|
invalid_properties.push('invalid value for "deduction_type_id", deduction_type_id cannot be nil.')
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
if @calculation_type.nil?
|
|
101
|
-
invalid_properties.push('invalid value for "calculation_type", calculation_type cannot be nil.')
|
|
102
|
-
end
|
|
103
|
-
|
|
104
100
|
invalid_properties
|
|
105
101
|
end
|
|
106
102
|
|
|
@@ -108,7 +104,6 @@ module XeroRuby::PayrollAu
|
|
|
108
104
|
# @return true if the model is valid
|
|
109
105
|
def valid?
|
|
110
106
|
return false if @deduction_type_id.nil?
|
|
111
|
-
return false if @calculation_type.nil?
|
|
112
107
|
true
|
|
113
108
|
end
|
|
114
109
|
|
|
@@ -226,7 +221,7 @@ module XeroRuby::PayrollAu
|
|
|
226
221
|
value = self.send(attr)
|
|
227
222
|
next if value.nil?
|
|
228
223
|
key = downcase ? attr : param
|
|
229
|
-
hash[key] = _to_hash(value)
|
|
224
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
230
225
|
end
|
|
231
226
|
hash
|
|
232
227
|
end
|
|
@@ -240,15 +235,17 @@ module XeroRuby::PayrollAu
|
|
|
240
235
|
# For object, use to_hash. Otherwise, just return the value
|
|
241
236
|
# @param [Object] value Any valid value
|
|
242
237
|
# @return [Hash] Returns the value in the form of hash
|
|
243
|
-
def _to_hash(value)
|
|
238
|
+
def _to_hash(value, downcase: false)
|
|
244
239
|
if value.is_a?(Array)
|
|
245
|
-
value.
|
|
240
|
+
value.map do |v|
|
|
241
|
+
v.to_hash(downcase: downcase)
|
|
242
|
+
end
|
|
246
243
|
elsif value.is_a?(Hash)
|
|
247
244
|
{}.tap do |hash|
|
|
248
|
-
value.
|
|
245
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
249
246
|
end
|
|
250
247
|
elsif value.respond_to? :to_hash
|
|
251
|
-
value.to_hash
|
|
248
|
+
value.to_hash(downcase: downcase)
|
|
252
249
|
else
|
|
253
250
|
value
|
|
254
251
|
end
|
|
@@ -256,8 +253,10 @@ module XeroRuby::PayrollAu
|
|
|
256
253
|
|
|
257
254
|
def parse_date(datestring)
|
|
258
255
|
if datestring.include?('Date')
|
|
259
|
-
|
|
260
|
-
|
|
256
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
257
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
258
|
+
date = (date.to_i / 1000)
|
|
259
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
261
260
|
else # handle date 'types' for small subset of payroll API's
|
|
262
261
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
263
262
|
end
|
|
@@ -308,7 +308,7 @@ module XeroRuby::PayrollAu
|
|
|
308
308
|
value = self.send(attr)
|
|
309
309
|
next if value.nil?
|
|
310
310
|
key = downcase ? attr : param
|
|
311
|
-
hash[key] = _to_hash(value)
|
|
311
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
312
312
|
end
|
|
313
313
|
hash
|
|
314
314
|
end
|
|
@@ -322,15 +322,17 @@ module XeroRuby::PayrollAu
|
|
|
322
322
|
# For object, use to_hash. Otherwise, just return the value
|
|
323
323
|
# @param [Object] value Any valid value
|
|
324
324
|
# @return [Hash] Returns the value in the form of hash
|
|
325
|
-
def _to_hash(value)
|
|
325
|
+
def _to_hash(value, downcase: false)
|
|
326
326
|
if value.is_a?(Array)
|
|
327
|
-
value.
|
|
327
|
+
value.map do |v|
|
|
328
|
+
v.to_hash(downcase: downcase)
|
|
329
|
+
end
|
|
328
330
|
elsif value.is_a?(Hash)
|
|
329
331
|
{}.tap do |hash|
|
|
330
|
-
value.
|
|
332
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
331
333
|
end
|
|
332
334
|
elsif value.respond_to? :to_hash
|
|
333
|
-
value.to_hash
|
|
335
|
+
value.to_hash(downcase: downcase)
|
|
334
336
|
else
|
|
335
337
|
value
|
|
336
338
|
end
|
|
@@ -338,8 +340,10 @@ module XeroRuby::PayrollAu
|
|
|
338
340
|
|
|
339
341
|
def parse_date(datestring)
|
|
340
342
|
if datestring.include?('Date')
|
|
341
|
-
|
|
342
|
-
|
|
343
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
344
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
345
|
+
date = (date.to_i / 1000)
|
|
346
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
343
347
|
else # handle date 'types' for small subset of payroll API's
|
|
344
348
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
345
349
|
end
|
|
@@ -261,7 +261,7 @@ module XeroRuby::PayrollAu
|
|
|
261
261
|
value = self.send(attr)
|
|
262
262
|
next if value.nil?
|
|
263
263
|
key = downcase ? attr : param
|
|
264
|
-
hash[key] = _to_hash(value)
|
|
264
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
265
265
|
end
|
|
266
266
|
hash
|
|
267
267
|
end
|
|
@@ -275,15 +275,17 @@ module XeroRuby::PayrollAu
|
|
|
275
275
|
# For object, use to_hash. Otherwise, just return the value
|
|
276
276
|
# @param [Object] value Any valid value
|
|
277
277
|
# @return [Hash] Returns the value in the form of hash
|
|
278
|
-
def _to_hash(value)
|
|
278
|
+
def _to_hash(value, downcase: false)
|
|
279
279
|
if value.is_a?(Array)
|
|
280
|
-
value.
|
|
280
|
+
value.map do |v|
|
|
281
|
+
v.to_hash(downcase: downcase)
|
|
282
|
+
end
|
|
281
283
|
elsif value.is_a?(Hash)
|
|
282
284
|
{}.tap do |hash|
|
|
283
|
-
value.
|
|
285
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
284
286
|
end
|
|
285
287
|
elsif value.respond_to? :to_hash
|
|
286
|
-
value.to_hash
|
|
288
|
+
value.to_hash(downcase: downcase)
|
|
287
289
|
else
|
|
288
290
|
value
|
|
289
291
|
end
|
|
@@ -291,8 +293,10 @@ module XeroRuby::PayrollAu
|
|
|
291
293
|
|
|
292
294
|
def parse_date(datestring)
|
|
293
295
|
if datestring.include?('Date')
|
|
294
|
-
|
|
295
|
-
|
|
296
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
297
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
298
|
+
date = (date.to_i / 1000)
|
|
299
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
296
300
|
else # handle date 'types' for small subset of payroll API's
|
|
297
301
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
298
302
|
end
|
|
@@ -366,7 +366,7 @@ module XeroRuby::PayrollAu
|
|
|
366
366
|
value = self.send(attr)
|
|
367
367
|
next if value.nil?
|
|
368
368
|
key = downcase ? attr : param
|
|
369
|
-
hash[key] = _to_hash(value)
|
|
369
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
370
370
|
end
|
|
371
371
|
hash
|
|
372
372
|
end
|
|
@@ -380,15 +380,17 @@ module XeroRuby::PayrollAu
|
|
|
380
380
|
# For object, use to_hash. Otherwise, just return the value
|
|
381
381
|
# @param [Object] value Any valid value
|
|
382
382
|
# @return [Hash] Returns the value in the form of hash
|
|
383
|
-
def _to_hash(value)
|
|
383
|
+
def _to_hash(value, downcase: false)
|
|
384
384
|
if value.is_a?(Array)
|
|
385
|
-
value.
|
|
385
|
+
value.map do |v|
|
|
386
|
+
v.to_hash(downcase: downcase)
|
|
387
|
+
end
|
|
386
388
|
elsif value.is_a?(Hash)
|
|
387
389
|
{}.tap do |hash|
|
|
388
|
-
value.
|
|
390
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
389
391
|
end
|
|
390
392
|
elsif value.respond_to? :to_hash
|
|
391
|
-
value.to_hash
|
|
393
|
+
value.to_hash(downcase: downcase)
|
|
392
394
|
else
|
|
393
395
|
value
|
|
394
396
|
end
|
|
@@ -396,8 +398,10 @@ module XeroRuby::PayrollAu
|
|
|
396
398
|
|
|
397
399
|
def parse_date(datestring)
|
|
398
400
|
if datestring.include?('Date')
|
|
399
|
-
|
|
400
|
-
|
|
401
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
402
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
403
|
+
date = (date.to_i / 1000)
|
|
404
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
401
405
|
else # handle date 'types' for small subset of payroll API's
|
|
402
406
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
403
407
|
end
|