xero-ruby 2.10.2 → 3.1.3
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 +4 -0
- data/lib/xero-ruby/api/accounting_api.rb +307 -151
- data/lib/xero-ruby/models/accounting/account.rb +13 -7
- data/lib/xero-ruby/models/accounting/accounts.rb +13 -7
- data/lib/xero-ruby/models/accounting/accounts_payable.rb +13 -7
- data/lib/xero-ruby/models/accounting/accounts_receivable.rb +13 -7
- data/lib/xero-ruby/models/accounting/action.rb +13 -7
- data/lib/xero-ruby/models/accounting/actions.rb +13 -7
- data/lib/xero-ruby/models/accounting/address.rb +13 -7
- data/lib/xero-ruby/models/accounting/address_for_organisation.rb +13 -7
- data/lib/xero-ruby/models/accounting/allocation.rb +13 -7
- data/lib/xero-ruby/models/accounting/allocations.rb +13 -7
- data/lib/xero-ruby/models/accounting/attachment.rb +13 -7
- data/lib/xero-ruby/models/accounting/attachments.rb +13 -7
- data/lib/xero-ruby/models/accounting/balance_details.rb +13 -7
- data/lib/xero-ruby/models/accounting/balances.rb +13 -7
- data/lib/xero-ruby/models/accounting/bank_transaction.rb +13 -7
- data/lib/xero-ruby/models/accounting/bank_transactions.rb +13 -7
- data/lib/xero-ruby/models/accounting/bank_transfer.rb +13 -7
- data/lib/xero-ruby/models/accounting/bank_transfers.rb +13 -7
- data/lib/xero-ruby/models/accounting/batch_payment.rb +13 -7
- data/lib/xero-ruby/models/accounting/batch_payment_details.rb +13 -7
- data/lib/xero-ruby/models/accounting/batch_payments.rb +13 -7
- data/lib/xero-ruby/models/accounting/bill.rb +13 -7
- data/lib/xero-ruby/models/accounting/branding_theme.rb +13 -7
- data/lib/xero-ruby/models/accounting/branding_themes.rb +13 -7
- data/lib/xero-ruby/models/accounting/budget.rb +327 -0
- data/lib/xero-ruby/models/accounting/budget_balance.rb +267 -0
- data/lib/xero-ruby/models/accounting/budget_line.rb +244 -0
- data/lib/xero-ruby/models/accounting/budgets.rb +224 -0
- data/lib/xero-ruby/models/accounting/cis_org_setting.rb +13 -7
- data/lib/xero-ruby/models/accounting/cis_org_settings.rb +13 -7
- data/lib/xero-ruby/models/accounting/cis_setting.rb +13 -7
- data/lib/xero-ruby/models/accounting/cis_settings.rb +13 -7
- data/lib/xero-ruby/models/accounting/contact.rb +13 -7
- data/lib/xero-ruby/models/accounting/contact_group.rb +13 -7
- data/lib/xero-ruby/models/accounting/contact_groups.rb +13 -7
- data/lib/xero-ruby/models/accounting/contact_person.rb +13 -7
- data/lib/xero-ruby/models/accounting/contacts.rb +13 -7
- data/lib/xero-ruby/models/accounting/conversion_balances.rb +13 -7
- data/lib/xero-ruby/models/accounting/conversion_date.rb +13 -7
- data/lib/xero-ruby/models/accounting/credit_note.rb +13 -7
- data/lib/xero-ruby/models/accounting/credit_notes.rb +13 -7
- data/lib/xero-ruby/models/accounting/currencies.rb +13 -7
- data/lib/xero-ruby/models/accounting/currency.rb +13 -7
- data/lib/xero-ruby/models/accounting/element.rb +13 -7
- data/lib/xero-ruby/models/accounting/employee.rb +13 -7
- data/lib/xero-ruby/models/accounting/employees.rb +13 -7
- data/lib/xero-ruby/models/accounting/error.rb +13 -7
- data/lib/xero-ruby/models/accounting/expense_claim.rb +13 -7
- data/lib/xero-ruby/models/accounting/expense_claims.rb +13 -7
- data/lib/xero-ruby/models/accounting/external_link.rb +13 -7
- data/lib/xero-ruby/models/accounting/history_record.rb +13 -7
- data/lib/xero-ruby/models/accounting/history_records.rb +13 -7
- data/lib/xero-ruby/models/accounting/import_summary.rb +13 -7
- data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +13 -7
- data/lib/xero-ruby/models/accounting/import_summary_object.rb +13 -7
- data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +13 -7
- data/lib/xero-ruby/models/accounting/invoice.rb +13 -7
- data/lib/xero-ruby/models/accounting/invoice_reminder.rb +13 -7
- data/lib/xero-ruby/models/accounting/invoice_reminders.rb +13 -7
- data/lib/xero-ruby/models/accounting/invoices.rb +13 -7
- data/lib/xero-ruby/models/accounting/item.rb +13 -7
- data/lib/xero-ruby/models/accounting/items.rb +13 -7
- data/lib/xero-ruby/models/accounting/journal.rb +13 -7
- data/lib/xero-ruby/models/accounting/journal_line.rb +13 -7
- data/lib/xero-ruby/models/accounting/journals.rb +13 -7
- data/lib/xero-ruby/models/accounting/line_item.rb +24 -8
- data/lib/xero-ruby/models/accounting/line_item_tracking.rb +13 -7
- data/lib/xero-ruby/models/accounting/linked_transaction.rb +13 -7
- data/lib/xero-ruby/models/accounting/linked_transactions.rb +13 -7
- data/lib/xero-ruby/models/accounting/manual_journal.rb +13 -7
- data/lib/xero-ruby/models/accounting/manual_journal_line.rb +13 -7
- data/lib/xero-ruby/models/accounting/manual_journals.rb +13 -7
- data/lib/xero-ruby/models/accounting/online_invoice.rb +13 -7
- data/lib/xero-ruby/models/accounting/online_invoices.rb +13 -7
- data/lib/xero-ruby/models/accounting/organisation.rb +13 -7
- data/lib/xero-ruby/models/accounting/organisations.rb +13 -7
- data/lib/xero-ruby/models/accounting/overpayment.rb +13 -7
- data/lib/xero-ruby/models/accounting/overpayments.rb +13 -7
- data/lib/xero-ruby/models/accounting/payment.rb +13 -7
- data/lib/xero-ruby/models/accounting/payment_delete.rb +13 -7
- data/lib/xero-ruby/models/accounting/payment_service.rb +13 -7
- data/lib/xero-ruby/models/accounting/payment_services.rb +13 -7
- data/lib/xero-ruby/models/accounting/payment_term.rb +13 -7
- data/lib/xero-ruby/models/accounting/payments.rb +13 -7
- data/lib/xero-ruby/models/accounting/phone.rb +13 -7
- data/lib/xero-ruby/models/accounting/prepayment.rb +26 -8
- data/lib/xero-ruby/models/accounting/prepayments.rb +13 -7
- data/lib/xero-ruby/models/accounting/purchase.rb +13 -7
- data/lib/xero-ruby/models/accounting/purchase_order.rb +13 -7
- data/lib/xero-ruby/models/accounting/purchase_orders.rb +13 -7
- data/lib/xero-ruby/models/accounting/quote.rb +13 -7
- data/lib/xero-ruby/models/accounting/quotes.rb +13 -7
- data/lib/xero-ruby/models/accounting/receipt.rb +13 -7
- data/lib/xero-ruby/models/accounting/receipts.rb +13 -7
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +13 -7
- data/lib/xero-ruby/models/accounting/repeating_invoices.rb +13 -7
- data/lib/xero-ruby/models/accounting/report.rb +14 -18
- data/lib/xero-ruby/models/accounting/report_attribute.rb +13 -7
- data/lib/xero-ruby/models/accounting/report_cell.rb +13 -7
- data/lib/xero-ruby/models/accounting/report_fields.rb +13 -7
- data/lib/xero-ruby/models/accounting/report_row.rb +13 -7
- data/lib/xero-ruby/models/accounting/report_rows.rb +13 -7
- data/lib/xero-ruby/models/accounting/report_with_row.rb +14 -8
- data/lib/xero-ruby/models/accounting/report_with_rows.rb +13 -7
- data/lib/xero-ruby/models/accounting/reports.rb +13 -7
- data/lib/xero-ruby/models/accounting/request_empty.rb +13 -7
- data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +13 -7
- data/lib/xero-ruby/models/accounting/schedule.rb +13 -7
- data/lib/xero-ruby/models/accounting/setup.rb +13 -7
- data/lib/xero-ruby/models/accounting/tax_component.rb +13 -7
- data/lib/xero-ruby/models/accounting/tax_rate.rb +13 -7
- data/lib/xero-ruby/models/accounting/tax_rates.rb +13 -7
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +13 -7
- data/lib/xero-ruby/models/accounting/tracking_categories.rb +13 -7
- data/lib/xero-ruby/models/accounting/tracking_category.rb +13 -7
- data/lib/xero-ruby/models/accounting/tracking_option.rb +13 -7
- data/lib/xero-ruby/models/accounting/tracking_options.rb +13 -7
- data/lib/xero-ruby/models/accounting/user.rb +13 -7
- data/lib/xero-ruby/models/accounting/users.rb +13 -7
- data/lib/xero-ruby/models/accounting/validation_error.rb +13 -7
- data/lib/xero-ruby/models/assets/asset.rb +13 -7
- data/lib/xero-ruby/models/assets/asset_type.rb +13 -7
- data/lib/xero-ruby/models/assets/assets.rb +13 -7
- data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +13 -7
- data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +13 -7
- data/lib/xero-ruby/models/assets/error.rb +13 -7
- data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +13 -7
- data/lib/xero-ruby/models/assets/pagination.rb +13 -7
- data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +13 -7
- data/lib/xero-ruby/models/assets/setting.rb +13 -7
- data/lib/xero-ruby/models/files/association.rb +13 -7
- data/lib/xero-ruby/models/files/file_object.rb +13 -7
- data/lib/xero-ruby/models/files/files.rb +13 -7
- data/lib/xero-ruby/models/files/folder.rb +13 -7
- data/lib/xero-ruby/models/files/folders.rb +13 -7
- data/lib/xero-ruby/models/files/upload_object.rb +13 -7
- data/lib/xero-ruby/models/files/user.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/account.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/api_exception.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/bank_account.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/deduction_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/deduction_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/employee.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/employees.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/home_address.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_applications.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_lines.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_period.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/pay_item.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/pay_items.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/pay_run.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/pay_runs.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/pay_template.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payslip.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payslip_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/payslips.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/settings.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/settings_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_fund.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_funds.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/super_membership.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/tax_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/timesheet.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/timesheets.rb +13 -7
- data/lib/xero-ruby/models/payroll_au/validation_error.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/account.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/accounts.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/address.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/bank_account.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/benefit.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/deduction.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/deductions.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employees.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employment.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/employment_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_period.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/leave_types.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pagination.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/payment_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/problem.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/settings.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/superannuations.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/tax_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/timesheets.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +13 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/account.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/accounts.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/address.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/bank_account.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/benefit.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/benefits.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/deduction.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/deductions.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +16 -9
- data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employees.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employment.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/employment_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_period.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/leave_types.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pagination.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payment_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payslip.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/payslips.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/problem.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/settings.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/tax_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/timesheets.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +13 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +13 -7
- data/lib/xero-ruby/models/projects/amount.rb +13 -7
- data/lib/xero-ruby/models/projects/error.rb +13 -7
- data/lib/xero-ruby/models/projects/pagination.rb +13 -7
- data/lib/xero-ruby/models/projects/project.rb +13 -7
- data/lib/xero-ruby/models/projects/project_create_or_update.rb +13 -7
- data/lib/xero-ruby/models/projects/project_patch.rb +13 -7
- data/lib/xero-ruby/models/projects/project_user.rb +13 -7
- data/lib/xero-ruby/models/projects/project_users.rb +13 -7
- data/lib/xero-ruby/models/projects/projects.rb +13 -7
- data/lib/xero-ruby/models/projects/task.rb +13 -7
- data/lib/xero-ruby/models/projects/task_create_or_update.rb +13 -7
- data/lib/xero-ruby/models/projects/tasks.rb +13 -7
- data/lib/xero-ruby/models/projects/time_entries.rb +13 -7
- data/lib/xero-ruby/models/projects/time_entry.rb +13 -7
- data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +13 -7
- data/lib/xero-ruby/version.rb +2 -2
- data/spec/helper_methods_spec.rb +28 -0
- metadata +9 -5
@@ -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,12 @@ 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
|
305
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
306
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
301
307
|
else # handle date 'types' for small subset of payroll API's
|
302
308
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
303
309
|
end
|
@@ -223,7 +223,7 @@ module XeroRuby::PayrollNz
|
|
223
223
|
value = self.send(attr)
|
224
224
|
next if value.nil?
|
225
225
|
key = downcase ? attr : param
|
226
|
-
hash[key] = _to_hash(value)
|
226
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
227
227
|
end
|
228
228
|
hash
|
229
229
|
end
|
@@ -237,15 +237,17 @@ module XeroRuby::PayrollNz
|
|
237
237
|
# For object, use to_hash. Otherwise, just return the value
|
238
238
|
# @param [Object] value Any valid value
|
239
239
|
# @return [Hash] Returns the value in the form of hash
|
240
|
-
def _to_hash(value)
|
240
|
+
def _to_hash(value, downcase: false)
|
241
241
|
if value.is_a?(Array)
|
242
|
-
value.
|
242
|
+
value.map do |v|
|
243
|
+
v.to_hash(downcase: downcase)
|
244
|
+
end
|
243
245
|
elsif value.is_a?(Hash)
|
244
246
|
{}.tap do |hash|
|
245
|
-
value.
|
247
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
246
248
|
end
|
247
249
|
elsif value.respond_to? :to_hash
|
248
|
-
value.to_hash
|
250
|
+
value.to_hash(downcase: downcase)
|
249
251
|
else
|
250
252
|
value
|
251
253
|
end
|
@@ -253,8 +255,12 @@ module XeroRuby::PayrollNz
|
|
253
255
|
|
254
256
|
def parse_date(datestring)
|
255
257
|
if datestring.include?('Date')
|
256
|
-
|
257
|
-
|
258
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
259
|
+
original, date, timezone = *date_pattern.match(datestring)
|
260
|
+
date = (date.to_i / 1000)
|
261
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
262
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
263
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
258
264
|
else # handle date 'types' for small subset of payroll API's
|
259
265
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
260
266
|
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,12 @@ 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
|
235
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
236
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
231
237
|
else # handle date 'types' for small subset of payroll API's
|
232
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
239
|
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,12 @@ 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
|
237
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
238
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
239
|
else # handle date 'types' for small subset of payroll API's
|
234
240
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
235
241
|
end
|
@@ -355,7 +355,7 @@ module XeroRuby::PayrollNz
|
|
355
355
|
value = self.send(attr)
|
356
356
|
next if value.nil?
|
357
357
|
key = downcase ? attr : param
|
358
|
-
hash[key] = _to_hash(value)
|
358
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
359
359
|
end
|
360
360
|
hash
|
361
361
|
end
|
@@ -369,15 +369,17 @@ module XeroRuby::PayrollNz
|
|
369
369
|
# For object, use to_hash. Otherwise, just return the value
|
370
370
|
# @param [Object] value Any valid value
|
371
371
|
# @return [Hash] Returns the value in the form of hash
|
372
|
-
def _to_hash(value)
|
372
|
+
def _to_hash(value, downcase: false)
|
373
373
|
if value.is_a?(Array)
|
374
|
-
value.
|
374
|
+
value.map do |v|
|
375
|
+
v.to_hash(downcase: downcase)
|
376
|
+
end
|
375
377
|
elsif value.is_a?(Hash)
|
376
378
|
{}.tap do |hash|
|
377
|
-
value.
|
379
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
378
380
|
end
|
379
381
|
elsif value.respond_to? :to_hash
|
380
|
-
value.to_hash
|
382
|
+
value.to_hash(downcase: downcase)
|
381
383
|
else
|
382
384
|
value
|
383
385
|
end
|
@@ -385,8 +387,12 @@ module XeroRuby::PayrollNz
|
|
385
387
|
|
386
388
|
def parse_date(datestring)
|
387
389
|
if datestring.include?('Date')
|
388
|
-
|
389
|
-
|
390
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
391
|
+
original, date, timezone = *date_pattern.match(datestring)
|
392
|
+
date = (date.to_i / 1000)
|
393
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
394
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
395
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
390
396
|
else # handle date 'types' for small subset of payroll API's
|
391
397
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
392
398
|
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,12 @@ 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
|
235
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
236
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
231
237
|
else # handle date 'types' for small subset of payroll API's
|
232
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
239
|
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,12 @@ 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
|
237
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
238
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
239
|
else # handle date 'types' for small subset of payroll API's
|
234
240
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
235
241
|
end
|
@@ -226,7 +226,7 @@ module XeroRuby::PayrollNz
|
|
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::PayrollNz
|
|
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,12 @@ module XeroRuby::PayrollNz
|
|
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
|
265
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
266
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
261
267
|
else # handle date 'types' for small subset of payroll API's
|
262
268
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
263
269
|
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,12 @@ 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
|
235
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
236
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
231
237
|
else # handle date 'types' for small subset of payroll API's
|
232
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
239
|
end
|
@@ -342,7 +342,7 @@ module XeroRuby::PayrollNz
|
|
342
342
|
value = self.send(attr)
|
343
343
|
next if value.nil?
|
344
344
|
key = downcase ? attr : param
|
345
|
-
hash[key] = _to_hash(value)
|
345
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
346
346
|
end
|
347
347
|
hash
|
348
348
|
end
|
@@ -356,15 +356,17 @@ module XeroRuby::PayrollNz
|
|
356
356
|
# For object, use to_hash. Otherwise, just return the value
|
357
357
|
# @param [Object] value Any valid value
|
358
358
|
# @return [Hash] Returns the value in the form of hash
|
359
|
-
def _to_hash(value)
|
359
|
+
def _to_hash(value, downcase: false)
|
360
360
|
if value.is_a?(Array)
|
361
|
-
value.
|
361
|
+
value.map do |v|
|
362
|
+
v.to_hash(downcase: downcase)
|
363
|
+
end
|
362
364
|
elsif value.is_a?(Hash)
|
363
365
|
{}.tap do |hash|
|
364
|
-
value.
|
366
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
365
367
|
end
|
366
368
|
elsif value.respond_to? :to_hash
|
367
|
-
value.to_hash
|
369
|
+
value.to_hash(downcase: downcase)
|
368
370
|
else
|
369
371
|
value
|
370
372
|
end
|
@@ -372,8 +374,12 @@ module XeroRuby::PayrollNz
|
|
372
374
|
|
373
375
|
def parse_date(datestring)
|
374
376
|
if datestring.include?('Date')
|
375
|
-
|
376
|
-
|
377
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
378
|
+
original, date, timezone = *date_pattern.match(datestring)
|
379
|
+
date = (date.to_i / 1000)
|
380
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
381
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
382
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
377
383
|
else # handle date 'types' for small subset of payroll API's
|
378
384
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
379
385
|
end
|