xero-ruby 2.10.0 → 3.1.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 +6 -6
- data/lib/xero-ruby.rb +3 -0
- data/lib/xero-ruby/api/accounting_api.rb +305 -149
- data/lib/xero-ruby/api_client.rb +13 -6
- 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/budget.rb +321 -0
- data/lib/xero-ruby/models/accounting/budget_lines.rb +265 -0
- data/lib/xero-ruby/models/accounting/budgets.rb +222 -0
- 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 +22 -8
- 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 +12 -18
- 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 +12 -8
- 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 -7
- 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 +11 -7
- data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +11 -7
- data/lib/xero-ruby/version.rb +2 -2
- data/spec/helper_methods_spec.rb +28 -0
- metadata +9 -6
@@ -198,7 +198,7 @@ module XeroRuby::PayrollNz
|
|
198
198
|
value = self.send(attr)
|
199
199
|
next if value.nil?
|
200
200
|
key = downcase ? attr : param
|
201
|
-
hash[key] = _to_hash(value)
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
202
202
|
end
|
203
203
|
hash
|
204
204
|
end
|
@@ -212,15 +212,17 @@ module XeroRuby::PayrollNz
|
|
212
212
|
# For object, use to_hash. Otherwise, just return the value
|
213
213
|
# @param [Object] value Any valid value
|
214
214
|
# @return [Hash] Returns the value in the form of hash
|
215
|
-
def _to_hash(value)
|
215
|
+
def _to_hash(value, downcase: false)
|
216
216
|
if value.is_a?(Array)
|
217
|
-
value.
|
217
|
+
value.map do |v|
|
218
|
+
v.to_hash(downcase: downcase)
|
219
|
+
end
|
218
220
|
elsif value.is_a?(Hash)
|
219
221
|
{}.tap do |hash|
|
220
|
-
value.
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
221
223
|
end
|
222
224
|
elsif value.respond_to? :to_hash
|
223
|
-
value.to_hash
|
225
|
+
value.to_hash(downcase: downcase)
|
224
226
|
else
|
225
227
|
value
|
226
228
|
end
|
@@ -228,8 +230,10 @@ module XeroRuby::PayrollNz
|
|
228
230
|
|
229
231
|
def parse_date(datestring)
|
230
232
|
if datestring.include?('Date')
|
231
|
-
|
232
|
-
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
235
|
+
date = (date.to_i / 1000)
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
233
237
|
else # handle date 'types' for small subset of payroll API's
|
234
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
235
239
|
end
|
@@ -188,7 +188,7 @@ module XeroRuby::PayrollNz
|
|
188
188
|
value = self.send(attr)
|
189
189
|
next if value.nil?
|
190
190
|
key = downcase ? attr : param
|
191
|
-
hash[key] = _to_hash(value)
|
191
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
192
192
|
end
|
193
193
|
hash
|
194
194
|
end
|
@@ -202,15 +202,17 @@ module XeroRuby::PayrollNz
|
|
202
202
|
# For object, use to_hash. Otherwise, just return the value
|
203
203
|
# @param [Object] value Any valid value
|
204
204
|
# @return [Hash] Returns the value in the form of hash
|
205
|
-
def _to_hash(value)
|
205
|
+
def _to_hash(value, downcase: false)
|
206
206
|
if value.is_a?(Array)
|
207
|
-
value.
|
207
|
+
value.map do |v|
|
208
|
+
v.to_hash(downcase: downcase)
|
209
|
+
end
|
208
210
|
elsif value.is_a?(Hash)
|
209
211
|
{}.tap do |hash|
|
210
|
-
value.
|
212
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
211
213
|
end
|
212
214
|
elsif value.respond_to? :to_hash
|
213
|
-
value.to_hash
|
215
|
+
value.to_hash(downcase: downcase)
|
214
216
|
else
|
215
217
|
value
|
216
218
|
end
|
@@ -218,8 +220,10 @@ module XeroRuby::PayrollNz
|
|
218
220
|
|
219
221
|
def parse_date(datestring)
|
220
222
|
if datestring.include?('Date')
|
221
|
-
|
222
|
-
|
223
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
224
|
+
original, date, timezone = *date_pattern.match(datestring)
|
225
|
+
date = (date.to_i / 1000)
|
226
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
223
227
|
else # handle date 'types' for small subset of payroll API's
|
224
228
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
225
229
|
end
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollNz
|
|
196
196
|
value = self.send(attr)
|
197
197
|
next if value.nil?
|
198
198
|
key = downcase ? attr : param
|
199
|
-
hash[key] = _to_hash(value)
|
199
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
200
200
|
end
|
201
201
|
hash
|
202
202
|
end
|
@@ -210,15 +210,17 @@ module XeroRuby::PayrollNz
|
|
210
210
|
# For object, use to_hash. Otherwise, just return the value
|
211
211
|
# @param [Object] value Any valid value
|
212
212
|
# @return [Hash] Returns the value in the form of hash
|
213
|
-
def _to_hash(value)
|
213
|
+
def _to_hash(value, downcase: false)
|
214
214
|
if value.is_a?(Array)
|
215
|
-
value.
|
215
|
+
value.map do |v|
|
216
|
+
v.to_hash(downcase: downcase)
|
217
|
+
end
|
216
218
|
elsif value.is_a?(Hash)
|
217
219
|
{}.tap do |hash|
|
218
|
-
value.
|
220
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
219
221
|
end
|
220
222
|
elsif value.respond_to? :to_hash
|
221
|
-
value.to_hash
|
223
|
+
value.to_hash(downcase: downcase)
|
222
224
|
else
|
223
225
|
value
|
224
226
|
end
|
@@ -226,8 +228,10 @@ module XeroRuby::PayrollNz
|
|
226
228
|
|
227
229
|
def parse_date(datestring)
|
228
230
|
if datestring.include?('Date')
|
229
|
-
|
230
|
-
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
233
|
+
date = (date.to_i / 1000)
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
231
235
|
else # handle date 'types' for small subset of payroll API's
|
232
236
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
237
|
end
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollNz
|
|
196
196
|
value = self.send(attr)
|
197
197
|
next if value.nil?
|
198
198
|
key = downcase ? attr : param
|
199
|
-
hash[key] = _to_hash(value)
|
199
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
200
200
|
end
|
201
201
|
hash
|
202
202
|
end
|
@@ -210,15 +210,17 @@ module XeroRuby::PayrollNz
|
|
210
210
|
# For object, use to_hash. Otherwise, just return the value
|
211
211
|
# @param [Object] value Any valid value
|
212
212
|
# @return [Hash] Returns the value in the form of hash
|
213
|
-
def _to_hash(value)
|
213
|
+
def _to_hash(value, downcase: false)
|
214
214
|
if value.is_a?(Array)
|
215
|
-
value.
|
215
|
+
value.map do |v|
|
216
|
+
v.to_hash(downcase: downcase)
|
217
|
+
end
|
216
218
|
elsif value.is_a?(Hash)
|
217
219
|
{}.tap do |hash|
|
218
|
-
value.
|
220
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
219
221
|
end
|
220
222
|
elsif value.respond_to? :to_hash
|
221
|
-
value.to_hash
|
223
|
+
value.to_hash(downcase: downcase)
|
222
224
|
else
|
223
225
|
value
|
224
226
|
end
|
@@ -226,8 +228,10 @@ module XeroRuby::PayrollNz
|
|
226
228
|
|
227
229
|
def parse_date(datestring)
|
228
230
|
if datestring.include?('Date')
|
229
|
-
|
230
|
-
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
233
|
+
date = (date.to_i / 1000)
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
231
235
|
else # handle date 'types' for small subset of payroll API's
|
232
236
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
237
|
end
|
@@ -248,7 +248,7 @@ module XeroRuby::PayrollNz
|
|
248
248
|
value = self.send(attr)
|
249
249
|
next if value.nil?
|
250
250
|
key = downcase ? attr : param
|
251
|
-
hash[key] = _to_hash(value)
|
251
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
252
252
|
end
|
253
253
|
hash
|
254
254
|
end
|
@@ -262,15 +262,17 @@ module XeroRuby::PayrollNz
|
|
262
262
|
# For object, use to_hash. Otherwise, just return the value
|
263
263
|
# @param [Object] value Any valid value
|
264
264
|
# @return [Hash] Returns the value in the form of hash
|
265
|
-
def _to_hash(value)
|
265
|
+
def _to_hash(value, downcase: false)
|
266
266
|
if value.is_a?(Array)
|
267
|
-
value.
|
267
|
+
value.map do |v|
|
268
|
+
v.to_hash(downcase: downcase)
|
269
|
+
end
|
268
270
|
elsif value.is_a?(Hash)
|
269
271
|
{}.tap do |hash|
|
270
|
-
value.
|
272
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
271
273
|
end
|
272
274
|
elsif value.respond_to? :to_hash
|
273
|
-
value.to_hash
|
275
|
+
value.to_hash(downcase: downcase)
|
274
276
|
else
|
275
277
|
value
|
276
278
|
end
|
@@ -278,8 +280,10 @@ module XeroRuby::PayrollNz
|
|
278
280
|
|
279
281
|
def parse_date(datestring)
|
280
282
|
if datestring.include?('Date')
|
281
|
-
|
282
|
-
|
283
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
284
|
+
original, date, timezone = *date_pattern.match(datestring)
|
285
|
+
date = (date.to_i / 1000)
|
286
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
283
287
|
else # handle date 'types' for small subset of payroll API's
|
284
288
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
285
289
|
end
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollNz
|
|
196
196
|
value = self.send(attr)
|
197
197
|
next if value.nil?
|
198
198
|
key = downcase ? attr : param
|
199
|
-
hash[key] = _to_hash(value)
|
199
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
200
200
|
end
|
201
201
|
hash
|
202
202
|
end
|
@@ -210,15 +210,17 @@ module XeroRuby::PayrollNz
|
|
210
210
|
# For object, use to_hash. Otherwise, just return the value
|
211
211
|
# @param [Object] value Any valid value
|
212
212
|
# @return [Hash] Returns the value in the form of hash
|
213
|
-
def _to_hash(value)
|
213
|
+
def _to_hash(value, downcase: false)
|
214
214
|
if value.is_a?(Array)
|
215
|
-
value.
|
215
|
+
value.map do |v|
|
216
|
+
v.to_hash(downcase: downcase)
|
217
|
+
end
|
216
218
|
elsif value.is_a?(Hash)
|
217
219
|
{}.tap do |hash|
|
218
|
-
value.
|
220
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
219
221
|
end
|
220
222
|
elsif value.respond_to? :to_hash
|
221
|
-
value.to_hash
|
223
|
+
value.to_hash(downcase: downcase)
|
222
224
|
else
|
223
225
|
value
|
224
226
|
end
|
@@ -226,8 +228,10 @@ module XeroRuby::PayrollNz
|
|
226
228
|
|
227
229
|
def parse_date(datestring)
|
228
230
|
if datestring.include?('Date')
|
229
|
-
|
230
|
-
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
233
|
+
date = (date.to_i / 1000)
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
231
235
|
else # handle date 'types' for small subset of payroll API's
|
232
236
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
237
|
end
|
@@ -290,7 +290,7 @@ module XeroRuby::PayrollNz
|
|
290
290
|
value = self.send(attr)
|
291
291
|
next if value.nil?
|
292
292
|
key = downcase ? attr : param
|
293
|
-
hash[key] = _to_hash(value)
|
293
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
294
294
|
end
|
295
295
|
hash
|
296
296
|
end
|
@@ -304,15 +304,17 @@ module XeroRuby::PayrollNz
|
|
304
304
|
# For object, use to_hash. Otherwise, just return the value
|
305
305
|
# @param [Object] value Any valid value
|
306
306
|
# @return [Hash] Returns the value in the form of hash
|
307
|
-
def _to_hash(value)
|
307
|
+
def _to_hash(value, downcase: false)
|
308
308
|
if value.is_a?(Array)
|
309
|
-
value.
|
309
|
+
value.map do |v|
|
310
|
+
v.to_hash(downcase: downcase)
|
311
|
+
end
|
310
312
|
elsif value.is_a?(Hash)
|
311
313
|
{}.tap do |hash|
|
312
|
-
value.
|
314
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
313
315
|
end
|
314
316
|
elsif value.respond_to? :to_hash
|
315
|
-
value.to_hash
|
317
|
+
value.to_hash(downcase: downcase)
|
316
318
|
else
|
317
319
|
value
|
318
320
|
end
|
@@ -320,8 +322,10 @@ module XeroRuby::PayrollNz
|
|
320
322
|
|
321
323
|
def parse_date(datestring)
|
322
324
|
if datestring.include?('Date')
|
323
|
-
|
324
|
-
|
325
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
326
|
+
original, date, timezone = *date_pattern.match(datestring)
|
327
|
+
date = (date.to_i / 1000)
|
328
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
325
329
|
else # handle date 'types' for small subset of payroll API's
|
326
330
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
327
331
|
end
|
@@ -198,7 +198,7 @@ module XeroRuby::PayrollNz
|
|
198
198
|
value = self.send(attr)
|
199
199
|
next if value.nil?
|
200
200
|
key = downcase ? attr : param
|
201
|
-
hash[key] = _to_hash(value)
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
202
202
|
end
|
203
203
|
hash
|
204
204
|
end
|
@@ -212,15 +212,17 @@ module XeroRuby::PayrollNz
|
|
212
212
|
# For object, use to_hash. Otherwise, just return the value
|
213
213
|
# @param [Object] value Any valid value
|
214
214
|
# @return [Hash] Returns the value in the form of hash
|
215
|
-
def _to_hash(value)
|
215
|
+
def _to_hash(value, downcase: false)
|
216
216
|
if value.is_a?(Array)
|
217
|
-
value.
|
217
|
+
value.map do |v|
|
218
|
+
v.to_hash(downcase: downcase)
|
219
|
+
end
|
218
220
|
elsif value.is_a?(Hash)
|
219
221
|
{}.tap do |hash|
|
220
|
-
value.
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
221
223
|
end
|
222
224
|
elsif value.respond_to? :to_hash
|
223
|
-
value.to_hash
|
225
|
+
value.to_hash(downcase: downcase)
|
224
226
|
else
|
225
227
|
value
|
226
228
|
end
|
@@ -228,8 +230,10 @@ module XeroRuby::PayrollNz
|
|
228
230
|
|
229
231
|
def parse_date(datestring)
|
230
232
|
if datestring.include?('Date')
|
231
|
-
|
232
|
-
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
235
|
+
date = (date.to_i / 1000)
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
233
237
|
else # handle date 'types' for small subset of payroll API's
|
234
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
235
239
|
end
|
@@ -387,7 +387,7 @@ module XeroRuby::PayrollNz
|
|
387
387
|
value = self.send(attr)
|
388
388
|
next if value.nil?
|
389
389
|
key = downcase ? attr : param
|
390
|
-
hash[key] = _to_hash(value)
|
390
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
391
391
|
end
|
392
392
|
hash
|
393
393
|
end
|
@@ -401,15 +401,17 @@ module XeroRuby::PayrollNz
|
|
401
401
|
# For object, use to_hash. Otherwise, just return the value
|
402
402
|
# @param [Object] value Any valid value
|
403
403
|
# @return [Hash] Returns the value in the form of hash
|
404
|
-
def _to_hash(value)
|
404
|
+
def _to_hash(value, downcase: false)
|
405
405
|
if value.is_a?(Array)
|
406
|
-
value.
|
406
|
+
value.map do |v|
|
407
|
+
v.to_hash(downcase: downcase)
|
408
|
+
end
|
407
409
|
elsif value.is_a?(Hash)
|
408
410
|
{}.tap do |hash|
|
409
|
-
value.
|
411
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
410
412
|
end
|
411
413
|
elsif value.respond_to? :to_hash
|
412
|
-
value.to_hash
|
414
|
+
value.to_hash(downcase: downcase)
|
413
415
|
else
|
414
416
|
value
|
415
417
|
end
|
@@ -417,8 +419,10 @@ module XeroRuby::PayrollNz
|
|
417
419
|
|
418
420
|
def parse_date(datestring)
|
419
421
|
if datestring.include?('Date')
|
420
|
-
|
421
|
-
|
422
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
423
|
+
original, date, timezone = *date_pattern.match(datestring)
|
424
|
+
date = (date.to_i / 1000)
|
425
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
422
426
|
else # handle date 'types' for small subset of payroll API's
|
423
427
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
424
428
|
end
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollNz
|
|
196
196
|
value = self.send(attr)
|
197
197
|
next if value.nil?
|
198
198
|
key = downcase ? attr : param
|
199
|
-
hash[key] = _to_hash(value)
|
199
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
200
200
|
end
|
201
201
|
hash
|
202
202
|
end
|
@@ -210,15 +210,17 @@ module XeroRuby::PayrollNz
|
|
210
210
|
# For object, use to_hash. Otherwise, just return the value
|
211
211
|
# @param [Object] value Any valid value
|
212
212
|
# @return [Hash] Returns the value in the form of hash
|
213
|
-
def _to_hash(value)
|
213
|
+
def _to_hash(value, downcase: false)
|
214
214
|
if value.is_a?(Array)
|
215
|
-
value.
|
215
|
+
value.map do |v|
|
216
|
+
v.to_hash(downcase: downcase)
|
217
|
+
end
|
216
218
|
elsif value.is_a?(Hash)
|
217
219
|
{}.tap do |hash|
|
218
|
-
value.
|
220
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
219
221
|
end
|
220
222
|
elsif value.respond_to? :to_hash
|
221
|
-
value.to_hash
|
223
|
+
value.to_hash(downcase: downcase)
|
222
224
|
else
|
223
225
|
value
|
224
226
|
end
|
@@ -226,8 +228,10 @@ module XeroRuby::PayrollNz
|
|
226
228
|
|
227
229
|
def parse_date(datestring)
|
228
230
|
if datestring.include?('Date')
|
229
|
-
|
230
|
-
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
233
|
+
date = (date.to_i / 1000)
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
231
235
|
else # handle date 'types' for small subset of payroll API's
|
232
236
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
237
|
end
|
@@ -198,7 +198,7 @@ module XeroRuby::PayrollNz
|
|
198
198
|
value = self.send(attr)
|
199
199
|
next if value.nil?
|
200
200
|
key = downcase ? attr : param
|
201
|
-
hash[key] = _to_hash(value)
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
202
202
|
end
|
203
203
|
hash
|
204
204
|
end
|
@@ -212,15 +212,17 @@ module XeroRuby::PayrollNz
|
|
212
212
|
# For object, use to_hash. Otherwise, just return the value
|
213
213
|
# @param [Object] value Any valid value
|
214
214
|
# @return [Hash] Returns the value in the form of hash
|
215
|
-
def _to_hash(value)
|
215
|
+
def _to_hash(value, downcase: false)
|
216
216
|
if value.is_a?(Array)
|
217
|
-
value.
|
217
|
+
value.map do |v|
|
218
|
+
v.to_hash(downcase: downcase)
|
219
|
+
end
|
218
220
|
elsif value.is_a?(Hash)
|
219
221
|
{}.tap do |hash|
|
220
|
-
value.
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
221
223
|
end
|
222
224
|
elsif value.respond_to? :to_hash
|
223
|
-
value.to_hash
|
225
|
+
value.to_hash(downcase: downcase)
|
224
226
|
else
|
225
227
|
value
|
226
228
|
end
|
@@ -228,8 +230,10 @@ module XeroRuby::PayrollNz
|
|
228
230
|
|
229
231
|
def parse_date(datestring)
|
230
232
|
if datestring.include?('Date')
|
231
|
-
|
232
|
-
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
235
|
+
date = (date.to_i / 1000)
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
233
237
|
else # handle date 'types' for small subset of payroll API's
|
234
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
235
239
|
end
|