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
|
@@ -221,7 +221,7 @@ module XeroRuby::PayrollAu
|
|
|
221
221
|
value = self.send(attr)
|
|
222
222
|
next if value.nil?
|
|
223
223
|
key = downcase ? attr : param
|
|
224
|
-
hash[key] = _to_hash(value)
|
|
224
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
225
225
|
end
|
|
226
226
|
hash
|
|
227
227
|
end
|
|
@@ -235,15 +235,17 @@ module XeroRuby::PayrollAu
|
|
|
235
235
|
# For object, use to_hash. Otherwise, just return the value
|
|
236
236
|
# @param [Object] value Any valid value
|
|
237
237
|
# @return [Hash] Returns the value in the form of hash
|
|
238
|
-
def _to_hash(value)
|
|
238
|
+
def _to_hash(value, downcase: false)
|
|
239
239
|
if value.is_a?(Array)
|
|
240
|
-
value.
|
|
240
|
+
value.map do |v|
|
|
241
|
+
v.to_hash(downcase: downcase)
|
|
242
|
+
end
|
|
241
243
|
elsif value.is_a?(Hash)
|
|
242
244
|
{}.tap do |hash|
|
|
243
|
-
value.
|
|
245
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
244
246
|
end
|
|
245
247
|
elsif value.respond_to? :to_hash
|
|
246
|
-
value.to_hash
|
|
248
|
+
value.to_hash(downcase: downcase)
|
|
247
249
|
else
|
|
248
250
|
value
|
|
249
251
|
end
|
|
@@ -251,8 +253,12 @@ module XeroRuby::PayrollAu
|
|
|
251
253
|
|
|
252
254
|
def parse_date(datestring)
|
|
253
255
|
if datestring.include?('Date')
|
|
254
|
-
|
|
255
|
-
|
|
256
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
257
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
258
|
+
date = (date.to_i / 1000)
|
|
259
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
260
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
261
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
256
262
|
else # handle date 'types' for small subset of payroll API's
|
|
257
263
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
258
264
|
end
|
|
@@ -308,7 +308,7 @@ module XeroRuby::PayrollAu
|
|
|
308
308
|
value = self.send(attr)
|
|
309
309
|
next if value.nil?
|
|
310
310
|
key = downcase ? attr : param
|
|
311
|
-
hash[key] = _to_hash(value)
|
|
311
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
312
312
|
end
|
|
313
313
|
hash
|
|
314
314
|
end
|
|
@@ -322,15 +322,17 @@ module XeroRuby::PayrollAu
|
|
|
322
322
|
# For object, use to_hash. Otherwise, just return the value
|
|
323
323
|
# @param [Object] value Any valid value
|
|
324
324
|
# @return [Hash] Returns the value in the form of hash
|
|
325
|
-
def _to_hash(value)
|
|
325
|
+
def _to_hash(value, downcase: false)
|
|
326
326
|
if value.is_a?(Array)
|
|
327
|
-
value.
|
|
327
|
+
value.map do |v|
|
|
328
|
+
v.to_hash(downcase: downcase)
|
|
329
|
+
end
|
|
328
330
|
elsif value.is_a?(Hash)
|
|
329
331
|
{}.tap do |hash|
|
|
330
|
-
value.
|
|
332
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
331
333
|
end
|
|
332
334
|
elsif value.respond_to? :to_hash
|
|
333
|
-
value.to_hash
|
|
335
|
+
value.to_hash(downcase: downcase)
|
|
334
336
|
else
|
|
335
337
|
value
|
|
336
338
|
end
|
|
@@ -338,8 +340,12 @@ module XeroRuby::PayrollAu
|
|
|
338
340
|
|
|
339
341
|
def parse_date(datestring)
|
|
340
342
|
if datestring.include?('Date')
|
|
341
|
-
|
|
342
|
-
|
|
343
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
344
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
345
|
+
date = (date.to_i / 1000)
|
|
346
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
347
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
348
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
343
349
|
else # handle date 'types' for small subset of payroll API's
|
|
344
350
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
345
351
|
end
|
|
@@ -261,7 +261,7 @@ module XeroRuby::PayrollAu
|
|
|
261
261
|
value = self.send(attr)
|
|
262
262
|
next if value.nil?
|
|
263
263
|
key = downcase ? attr : param
|
|
264
|
-
hash[key] = _to_hash(value)
|
|
264
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
265
265
|
end
|
|
266
266
|
hash
|
|
267
267
|
end
|
|
@@ -275,15 +275,17 @@ module XeroRuby::PayrollAu
|
|
|
275
275
|
# For object, use to_hash. Otherwise, just return the value
|
|
276
276
|
# @param [Object] value Any valid value
|
|
277
277
|
# @return [Hash] Returns the value in the form of hash
|
|
278
|
-
def _to_hash(value)
|
|
278
|
+
def _to_hash(value, downcase: false)
|
|
279
279
|
if value.is_a?(Array)
|
|
280
|
-
value.
|
|
280
|
+
value.map do |v|
|
|
281
|
+
v.to_hash(downcase: downcase)
|
|
282
|
+
end
|
|
281
283
|
elsif value.is_a?(Hash)
|
|
282
284
|
{}.tap do |hash|
|
|
283
|
-
value.
|
|
285
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
284
286
|
end
|
|
285
287
|
elsif value.respond_to? :to_hash
|
|
286
|
-
value.to_hash
|
|
288
|
+
value.to_hash(downcase: downcase)
|
|
287
289
|
else
|
|
288
290
|
value
|
|
289
291
|
end
|
|
@@ -291,8 +293,12 @@ module XeroRuby::PayrollAu
|
|
|
291
293
|
|
|
292
294
|
def parse_date(datestring)
|
|
293
295
|
if datestring.include?('Date')
|
|
294
|
-
|
|
295
|
-
|
|
296
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
297
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
298
|
+
date = (date.to_i / 1000)
|
|
299
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
300
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
301
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
296
302
|
else # handle date 'types' for small subset of payroll API's
|
|
297
303
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
298
304
|
end
|
|
@@ -366,7 +366,7 @@ module XeroRuby::PayrollAu
|
|
|
366
366
|
value = self.send(attr)
|
|
367
367
|
next if value.nil?
|
|
368
368
|
key = downcase ? attr : param
|
|
369
|
-
hash[key] = _to_hash(value)
|
|
369
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
370
370
|
end
|
|
371
371
|
hash
|
|
372
372
|
end
|
|
@@ -380,15 +380,17 @@ module XeroRuby::PayrollAu
|
|
|
380
380
|
# For object, use to_hash. Otherwise, just return the value
|
|
381
381
|
# @param [Object] value Any valid value
|
|
382
382
|
# @return [Hash] Returns the value in the form of hash
|
|
383
|
-
def _to_hash(value)
|
|
383
|
+
def _to_hash(value, downcase: false)
|
|
384
384
|
if value.is_a?(Array)
|
|
385
|
-
value.
|
|
385
|
+
value.map do |v|
|
|
386
|
+
v.to_hash(downcase: downcase)
|
|
387
|
+
end
|
|
386
388
|
elsif value.is_a?(Hash)
|
|
387
389
|
{}.tap do |hash|
|
|
388
|
-
value.
|
|
390
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
389
391
|
end
|
|
390
392
|
elsif value.respond_to? :to_hash
|
|
391
|
-
value.to_hash
|
|
393
|
+
value.to_hash(downcase: downcase)
|
|
392
394
|
else
|
|
393
395
|
value
|
|
394
396
|
end
|
|
@@ -396,8 +398,12 @@ module XeroRuby::PayrollAu
|
|
|
396
398
|
|
|
397
399
|
def parse_date(datestring)
|
|
398
400
|
if datestring.include?('Date')
|
|
399
|
-
|
|
400
|
-
|
|
401
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
402
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
403
|
+
date = (date.to_i / 1000)
|
|
404
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
405
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
406
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
401
407
|
else # handle date 'types' for small subset of payroll API's
|
|
402
408
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
403
409
|
end
|
|
@@ -539,7 +539,7 @@ module XeroRuby::PayrollAu
|
|
|
539
539
|
value = self.send(attr)
|
|
540
540
|
next if value.nil?
|
|
541
541
|
key = downcase ? attr : param
|
|
542
|
-
hash[key] = _to_hash(value)
|
|
542
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
543
543
|
end
|
|
544
544
|
hash
|
|
545
545
|
end
|
|
@@ -553,15 +553,17 @@ module XeroRuby::PayrollAu
|
|
|
553
553
|
# For object, use to_hash. Otherwise, just return the value
|
|
554
554
|
# @param [Object] value Any valid value
|
|
555
555
|
# @return [Hash] Returns the value in the form of hash
|
|
556
|
-
def _to_hash(value)
|
|
556
|
+
def _to_hash(value, downcase: false)
|
|
557
557
|
if value.is_a?(Array)
|
|
558
|
-
value.
|
|
558
|
+
value.map do |v|
|
|
559
|
+
v.to_hash(downcase: downcase)
|
|
560
|
+
end
|
|
559
561
|
elsif value.is_a?(Hash)
|
|
560
562
|
{}.tap do |hash|
|
|
561
|
-
value.
|
|
563
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
562
564
|
end
|
|
563
565
|
elsif value.respond_to? :to_hash
|
|
564
|
-
value.to_hash
|
|
566
|
+
value.to_hash(downcase: downcase)
|
|
565
567
|
else
|
|
566
568
|
value
|
|
567
569
|
end
|
|
@@ -569,8 +571,12 @@ module XeroRuby::PayrollAu
|
|
|
569
571
|
|
|
570
572
|
def parse_date(datestring)
|
|
571
573
|
if datestring.include?('Date')
|
|
572
|
-
|
|
573
|
-
|
|
574
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
575
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
576
|
+
date = (date.to_i / 1000)
|
|
577
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
578
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
579
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
574
580
|
else # handle date 'types' for small subset of payroll API's
|
|
575
581
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
576
582
|
end
|
|
@@ -178,7 +178,7 @@ module XeroRuby::PayrollAu
|
|
|
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::PayrollAu
|
|
|
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,12 @@ module XeroRuby::PayrollAu
|
|
|
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
|
|
217
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
218
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
213
219
|
else # handle date 'types' for small subset of payroll API's
|
|
214
220
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
215
221
|
end
|
|
@@ -231,7 +231,7 @@ module XeroRuby::PayrollAu
|
|
|
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::PayrollAu
|
|
|
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,12 @@ module XeroRuby::PayrollAu
|
|
|
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
|
|
270
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
271
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
266
272
|
else # handle date 'types' for small subset of payroll API's
|
|
267
273
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
268
274
|
end
|
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollAu
|
|
|
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::PayrollAu
|
|
|
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::PayrollAu
|
|
|
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
|
|
@@ -270,7 +270,7 @@ module XeroRuby::PayrollAu
|
|
|
270
270
|
value = self.send(attr)
|
|
271
271
|
next if value.nil?
|
|
272
272
|
key = downcase ? attr : param
|
|
273
|
-
hash[key] = _to_hash(value)
|
|
273
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
274
274
|
end
|
|
275
275
|
hash
|
|
276
276
|
end
|
|
@@ -284,15 +284,17 @@ module XeroRuby::PayrollAu
|
|
|
284
284
|
# For object, use to_hash. Otherwise, just return the value
|
|
285
285
|
# @param [Object] value Any valid value
|
|
286
286
|
# @return [Hash] Returns the value in the form of hash
|
|
287
|
-
def _to_hash(value)
|
|
287
|
+
def _to_hash(value, downcase: false)
|
|
288
288
|
if value.is_a?(Array)
|
|
289
|
-
value.
|
|
289
|
+
value.map do |v|
|
|
290
|
+
v.to_hash(downcase: downcase)
|
|
291
|
+
end
|
|
290
292
|
elsif value.is_a?(Hash)
|
|
291
293
|
{}.tap do |hash|
|
|
292
|
-
value.
|
|
294
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
293
295
|
end
|
|
294
296
|
elsif value.respond_to? :to_hash
|
|
295
|
-
value.to_hash
|
|
297
|
+
value.to_hash(downcase: downcase)
|
|
296
298
|
else
|
|
297
299
|
value
|
|
298
300
|
end
|
|
@@ -300,8 +302,12 @@ module XeroRuby::PayrollAu
|
|
|
300
302
|
|
|
301
303
|
def parse_date(datestring)
|
|
302
304
|
if datestring.include?('Date')
|
|
303
|
-
|
|
304
|
-
|
|
305
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
306
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
307
|
+
date = (date.to_i / 1000)
|
|
308
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
309
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
310
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
305
311
|
else # handle date 'types' for small subset of payroll API's
|
|
306
312
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
307
313
|
end
|
|
@@ -178,7 +178,7 @@ module XeroRuby::PayrollAu
|
|
|
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::PayrollAu
|
|
|
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,12 @@ module XeroRuby::PayrollAu
|
|
|
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
|
|
217
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
218
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
213
219
|
else # handle date 'types' for small subset of payroll API's
|
|
214
220
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
215
221
|
end
|