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
@@ -262,7 +262,7 @@ module XeroRuby::PayrollNz
|
|
262
262
|
value = self.send(attr)
|
263
263
|
next if value.nil?
|
264
264
|
key = downcase ? attr : param
|
265
|
-
hash[key] = _to_hash(value)
|
265
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
266
266
|
end
|
267
267
|
hash
|
268
268
|
end
|
@@ -276,15 +276,17 @@ module XeroRuby::PayrollNz
|
|
276
276
|
# For object, use to_hash. Otherwise, just return the value
|
277
277
|
# @param [Object] value Any valid value
|
278
278
|
# @return [Hash] Returns the value in the form of hash
|
279
|
-
def _to_hash(value)
|
279
|
+
def _to_hash(value, downcase: false)
|
280
280
|
if value.is_a?(Array)
|
281
|
-
value.
|
281
|
+
value.map do |v|
|
282
|
+
v.to_hash(downcase: downcase)
|
283
|
+
end
|
282
284
|
elsif value.is_a?(Hash)
|
283
285
|
{}.tap do |hash|
|
284
|
-
value.
|
286
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
285
287
|
end
|
286
288
|
elsif value.respond_to? :to_hash
|
287
|
-
value.to_hash
|
289
|
+
value.to_hash(downcase: downcase)
|
288
290
|
else
|
289
291
|
value
|
290
292
|
end
|
@@ -292,8 +294,10 @@ module XeroRuby::PayrollNz
|
|
292
294
|
|
293
295
|
def parse_date(datestring)
|
294
296
|
if datestring.include?('Date')
|
295
|
-
|
296
|
-
|
297
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
298
|
+
original, date, timezone = *date_pattern.match(datestring)
|
299
|
+
date = (date.to_i / 1000)
|
300
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
297
301
|
else # handle date 'types' for small subset of payroll API's
|
298
302
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
299
303
|
end
|
@@ -316,7 +316,7 @@ module XeroRuby::PayrollNz
|
|
316
316
|
value = self.send(attr)
|
317
317
|
next if value.nil?
|
318
318
|
key = downcase ? attr : param
|
319
|
-
hash[key] = _to_hash(value)
|
319
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
320
320
|
end
|
321
321
|
hash
|
322
322
|
end
|
@@ -330,15 +330,17 @@ module XeroRuby::PayrollNz
|
|
330
330
|
# For object, use to_hash. Otherwise, just return the value
|
331
331
|
# @param [Object] value Any valid value
|
332
332
|
# @return [Hash] Returns the value in the form of hash
|
333
|
-
def _to_hash(value)
|
333
|
+
def _to_hash(value, downcase: false)
|
334
334
|
if value.is_a?(Array)
|
335
|
-
value.
|
335
|
+
value.map do |v|
|
336
|
+
v.to_hash(downcase: downcase)
|
337
|
+
end
|
336
338
|
elsif value.is_a?(Hash)
|
337
339
|
{}.tap do |hash|
|
338
|
-
value.
|
340
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
339
341
|
end
|
340
342
|
elsif value.respond_to? :to_hash
|
341
|
-
value.to_hash
|
343
|
+
value.to_hash(downcase: downcase)
|
342
344
|
else
|
343
345
|
value
|
344
346
|
end
|
@@ -346,8 +348,10 @@ module XeroRuby::PayrollNz
|
|
346
348
|
|
347
349
|
def parse_date(datestring)
|
348
350
|
if datestring.include?('Date')
|
349
|
-
|
350
|
-
|
351
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
352
|
+
original, date, timezone = *date_pattern.match(datestring)
|
353
|
+
date = (date.to_i / 1000)
|
354
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
351
355
|
else # handle date 'types' for small subset of payroll API's
|
352
356
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
353
357
|
end
|
@@ -266,7 +266,7 @@ module XeroRuby::PayrollNz
|
|
266
266
|
value = self.send(attr)
|
267
267
|
next if value.nil?
|
268
268
|
key = downcase ? attr : param
|
269
|
-
hash[key] = _to_hash(value)
|
269
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
270
270
|
end
|
271
271
|
hash
|
272
272
|
end
|
@@ -280,15 +280,17 @@ module XeroRuby::PayrollNz
|
|
280
280
|
# For object, use to_hash. Otherwise, just return the value
|
281
281
|
# @param [Object] value Any valid value
|
282
282
|
# @return [Hash] Returns the value in the form of hash
|
283
|
-
def _to_hash(value)
|
283
|
+
def _to_hash(value, downcase: false)
|
284
284
|
if value.is_a?(Array)
|
285
|
-
value.
|
285
|
+
value.map do |v|
|
286
|
+
v.to_hash(downcase: downcase)
|
287
|
+
end
|
286
288
|
elsif value.is_a?(Hash)
|
287
289
|
{}.tap do |hash|
|
288
|
-
value.
|
290
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
289
291
|
end
|
290
292
|
elsif value.respond_to? :to_hash
|
291
|
-
value.to_hash
|
293
|
+
value.to_hash(downcase: downcase)
|
292
294
|
else
|
293
295
|
value
|
294
296
|
end
|
@@ -296,8 +298,10 @@ module XeroRuby::PayrollNz
|
|
296
298
|
|
297
299
|
def parse_date(datestring)
|
298
300
|
if datestring.include?('Date')
|
299
|
-
|
300
|
-
|
301
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
302
|
+
original, date, timezone = *date_pattern.match(datestring)
|
303
|
+
date = (date.to_i / 1000)
|
304
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
301
305
|
else # handle date 'types' for small subset of payroll API's
|
302
306
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
303
307
|
end
|
@@ -231,7 +231,7 @@ module XeroRuby::PayrollNz
|
|
231
231
|
value = self.send(attr)
|
232
232
|
next if value.nil?
|
233
233
|
key = downcase ? attr : param
|
234
|
-
hash[key] = _to_hash(value)
|
234
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
235
235
|
end
|
236
236
|
hash
|
237
237
|
end
|
@@ -245,15 +245,17 @@ module XeroRuby::PayrollNz
|
|
245
245
|
# For object, use to_hash. Otherwise, just return the value
|
246
246
|
# @param [Object] value Any valid value
|
247
247
|
# @return [Hash] Returns the value in the form of hash
|
248
|
-
def _to_hash(value)
|
248
|
+
def _to_hash(value, downcase: false)
|
249
249
|
if value.is_a?(Array)
|
250
|
-
value.
|
250
|
+
value.map do |v|
|
251
|
+
v.to_hash(downcase: downcase)
|
252
|
+
end
|
251
253
|
elsif value.is_a?(Hash)
|
252
254
|
{}.tap do |hash|
|
253
|
-
value.
|
255
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
254
256
|
end
|
255
257
|
elsif value.respond_to? :to_hash
|
256
|
-
value.to_hash
|
258
|
+
value.to_hash(downcase: downcase)
|
257
259
|
else
|
258
260
|
value
|
259
261
|
end
|
@@ -261,8 +263,10 @@ module XeroRuby::PayrollNz
|
|
261
263
|
|
262
264
|
def parse_date(datestring)
|
263
265
|
if datestring.include?('Date')
|
264
|
-
|
265
|
-
|
266
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
267
|
+
original, date, timezone = *date_pattern.match(datestring)
|
268
|
+
date = (date.to_i / 1000)
|
269
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
266
270
|
else # handle date 'types' for small subset of payroll API's
|
267
271
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
268
272
|
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
|
@@ -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
|
@@ -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
|
@@ -186,7 +186,7 @@ module XeroRuby::PayrollNz
|
|
186
186
|
value = self.send(attr)
|
187
187
|
next if value.nil?
|
188
188
|
key = downcase ? attr : param
|
189
|
-
hash[key] = _to_hash(value)
|
189
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
190
190
|
end
|
191
191
|
hash
|
192
192
|
end
|
@@ -200,15 +200,17 @@ module XeroRuby::PayrollNz
|
|
200
200
|
# For object, use to_hash. Otherwise, just return the value
|
201
201
|
# @param [Object] value Any valid value
|
202
202
|
# @return [Hash] Returns the value in the form of hash
|
203
|
-
def _to_hash(value)
|
203
|
+
def _to_hash(value, downcase: false)
|
204
204
|
if value.is_a?(Array)
|
205
|
-
value.
|
205
|
+
value.map do |v|
|
206
|
+
v.to_hash(downcase: downcase)
|
207
|
+
end
|
206
208
|
elsif value.is_a?(Hash)
|
207
209
|
{}.tap do |hash|
|
208
|
-
value.
|
210
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
209
211
|
end
|
210
212
|
elsif value.respond_to? :to_hash
|
211
|
-
value.to_hash
|
213
|
+
value.to_hash(downcase: downcase)
|
212
214
|
else
|
213
215
|
value
|
214
216
|
end
|
@@ -216,8 +218,10 @@ module XeroRuby::PayrollNz
|
|
216
218
|
|
217
219
|
def parse_date(datestring)
|
218
220
|
if datestring.include?('Date')
|
219
|
-
|
220
|
-
|
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
|
221
225
|
else # handle date 'types' for small subset of payroll API's
|
222
226
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
223
227
|
end
|
@@ -247,7 +247,7 @@ module XeroRuby::PayrollUk
|
|
247
247
|
value = self.send(attr)
|
248
248
|
next if value.nil?
|
249
249
|
key = downcase ? attr : param
|
250
|
-
hash[key] = _to_hash(value)
|
250
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
251
251
|
end
|
252
252
|
hash
|
253
253
|
end
|
@@ -261,15 +261,17 @@ module XeroRuby::PayrollUk
|
|
261
261
|
# For object, use to_hash. Otherwise, just return the value
|
262
262
|
# @param [Object] value Any valid value
|
263
263
|
# @return [Hash] Returns the value in the form of hash
|
264
|
-
def _to_hash(value)
|
264
|
+
def _to_hash(value, downcase: false)
|
265
265
|
if value.is_a?(Array)
|
266
|
-
value.
|
266
|
+
value.map do |v|
|
267
|
+
v.to_hash(downcase: downcase)
|
268
|
+
end
|
267
269
|
elsif value.is_a?(Hash)
|
268
270
|
{}.tap do |hash|
|
269
|
-
value.
|
271
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
270
272
|
end
|
271
273
|
elsif value.respond_to? :to_hash
|
272
|
-
value.to_hash
|
274
|
+
value.to_hash(downcase: downcase)
|
273
275
|
else
|
274
276
|
value
|
275
277
|
end
|
@@ -277,8 +279,10 @@ module XeroRuby::PayrollUk
|
|
277
279
|
|
278
280
|
def parse_date(datestring)
|
279
281
|
if datestring.include?('Date')
|
280
|
-
|
281
|
-
|
282
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
283
|
+
original, date, timezone = *date_pattern.match(datestring)
|
284
|
+
date = (date.to_i / 1000)
|
285
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
282
286
|
else # handle date 'types' for small subset of payroll API's
|
283
287
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
284
288
|
end
|
@@ -178,7 +178,7 @@ module XeroRuby::PayrollUk
|
|
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::PayrollUk
|
|
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::PayrollUk
|
|
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
|