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
|
@@ -206,7 +206,7 @@ module XeroRuby::PayrollAu
|
|
|
206
206
|
value = self.send(attr)
|
|
207
207
|
next if value.nil?
|
|
208
208
|
key = downcase ? attr : param
|
|
209
|
-
hash[key] = _to_hash(value)
|
|
209
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
210
210
|
end
|
|
211
211
|
hash
|
|
212
212
|
end
|
|
@@ -220,15 +220,17 @@ module XeroRuby::PayrollAu
|
|
|
220
220
|
# For object, use to_hash. Otherwise, just return the value
|
|
221
221
|
# @param [Object] value Any valid value
|
|
222
222
|
# @return [Hash] Returns the value in the form of hash
|
|
223
|
-
def _to_hash(value)
|
|
223
|
+
def _to_hash(value, downcase: false)
|
|
224
224
|
if value.is_a?(Array)
|
|
225
|
-
value.
|
|
225
|
+
value.map do |v|
|
|
226
|
+
v.to_hash(downcase: downcase)
|
|
227
|
+
end
|
|
226
228
|
elsif value.is_a?(Hash)
|
|
227
229
|
{}.tap do |hash|
|
|
228
|
-
value.
|
|
230
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
229
231
|
end
|
|
230
232
|
elsif value.respond_to? :to_hash
|
|
231
|
-
value.to_hash
|
|
233
|
+
value.to_hash(downcase: downcase)
|
|
232
234
|
else
|
|
233
235
|
value
|
|
234
236
|
end
|
|
@@ -236,8 +238,12 @@ module XeroRuby::PayrollAu
|
|
|
236
238
|
|
|
237
239
|
def parse_date(datestring)
|
|
238
240
|
if datestring.include?('Date')
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
242
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
243
|
+
date = (date.to_i / 1000)
|
|
244
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
245
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
246
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
241
247
|
else # handle date 'types' for small subset of payroll API's
|
|
242
248
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
243
249
|
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
|
|
@@ -246,7 +246,7 @@ module XeroRuby::PayrollAu
|
|
|
246
246
|
value = self.send(attr)
|
|
247
247
|
next if value.nil?
|
|
248
248
|
key = downcase ? attr : param
|
|
249
|
-
hash[key] = _to_hash(value)
|
|
249
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
250
250
|
end
|
|
251
251
|
hash
|
|
252
252
|
end
|
|
@@ -260,15 +260,17 @@ module XeroRuby::PayrollAu
|
|
|
260
260
|
# For object, use to_hash. Otherwise, just return the value
|
|
261
261
|
# @param [Object] value Any valid value
|
|
262
262
|
# @return [Hash] Returns the value in the form of hash
|
|
263
|
-
def _to_hash(value)
|
|
263
|
+
def _to_hash(value, downcase: false)
|
|
264
264
|
if value.is_a?(Array)
|
|
265
|
-
value.
|
|
265
|
+
value.map do |v|
|
|
266
|
+
v.to_hash(downcase: downcase)
|
|
267
|
+
end
|
|
266
268
|
elsif value.is_a?(Hash)
|
|
267
269
|
{}.tap do |hash|
|
|
268
|
-
value.
|
|
270
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
269
271
|
end
|
|
270
272
|
elsif value.respond_to? :to_hash
|
|
271
|
-
value.to_hash
|
|
273
|
+
value.to_hash(downcase: downcase)
|
|
272
274
|
else
|
|
273
275
|
value
|
|
274
276
|
end
|
|
@@ -276,8 +278,12 @@ module XeroRuby::PayrollAu
|
|
|
276
278
|
|
|
277
279
|
def parse_date(datestring)
|
|
278
280
|
if datestring.include?('Date')
|
|
279
|
-
|
|
280
|
-
|
|
281
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
282
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
283
|
+
date = (date.to_i / 1000)
|
|
284
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
285
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
286
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
281
287
|
else # handle date 'types' for small subset of payroll API's
|
|
282
288
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
283
289
|
end
|
|
@@ -179,7 +179,7 @@ module XeroRuby::PayrollAu
|
|
|
179
179
|
value = self.send(attr)
|
|
180
180
|
next if value.nil?
|
|
181
181
|
key = downcase ? attr : param
|
|
182
|
-
hash[key] = _to_hash(value)
|
|
182
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
183
183
|
end
|
|
184
184
|
hash
|
|
185
185
|
end
|
|
@@ -193,15 +193,17 @@ module XeroRuby::PayrollAu
|
|
|
193
193
|
# For object, use to_hash. Otherwise, just return the value
|
|
194
194
|
# @param [Object] value Any valid value
|
|
195
195
|
# @return [Hash] Returns the value in the form of hash
|
|
196
|
-
def _to_hash(value)
|
|
196
|
+
def _to_hash(value, downcase: false)
|
|
197
197
|
if value.is_a?(Array)
|
|
198
|
-
value.
|
|
198
|
+
value.map do |v|
|
|
199
|
+
v.to_hash(downcase: downcase)
|
|
200
|
+
end
|
|
199
201
|
elsif value.is_a?(Hash)
|
|
200
202
|
{}.tap do |hash|
|
|
201
|
-
value.
|
|
203
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
202
204
|
end
|
|
203
205
|
elsif value.respond_to? :to_hash
|
|
204
|
-
value.to_hash
|
|
206
|
+
value.to_hash(downcase: downcase)
|
|
205
207
|
else
|
|
206
208
|
value
|
|
207
209
|
end
|
|
@@ -209,8 +211,12 @@ module XeroRuby::PayrollAu
|
|
|
209
211
|
|
|
210
212
|
def parse_date(datestring)
|
|
211
213
|
if datestring.include?('Date')
|
|
212
|
-
|
|
213
|
-
|
|
214
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
215
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
216
|
+
date = (date.to_i / 1000)
|
|
217
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
218
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
219
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
214
220
|
else # handle date 'types' for small subset of payroll API's
|
|
215
221
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
216
222
|
end
|
|
@@ -206,7 +206,7 @@ module XeroRuby::PayrollAu
|
|
|
206
206
|
value = self.send(attr)
|
|
207
207
|
next if value.nil?
|
|
208
208
|
key = downcase ? attr : param
|
|
209
|
-
hash[key] = _to_hash(value)
|
|
209
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
210
210
|
end
|
|
211
211
|
hash
|
|
212
212
|
end
|
|
@@ -220,15 +220,17 @@ module XeroRuby::PayrollAu
|
|
|
220
220
|
# For object, use to_hash. Otherwise, just return the value
|
|
221
221
|
# @param [Object] value Any valid value
|
|
222
222
|
# @return [Hash] Returns the value in the form of hash
|
|
223
|
-
def _to_hash(value)
|
|
223
|
+
def _to_hash(value, downcase: false)
|
|
224
224
|
if value.is_a?(Array)
|
|
225
|
-
value.
|
|
225
|
+
value.map do |v|
|
|
226
|
+
v.to_hash(downcase: downcase)
|
|
227
|
+
end
|
|
226
228
|
elsif value.is_a?(Hash)
|
|
227
229
|
{}.tap do |hash|
|
|
228
|
-
value.
|
|
230
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
229
231
|
end
|
|
230
232
|
elsif value.respond_to? :to_hash
|
|
231
|
-
value.to_hash
|
|
233
|
+
value.to_hash(downcase: downcase)
|
|
232
234
|
else
|
|
233
235
|
value
|
|
234
236
|
end
|
|
@@ -236,8 +238,12 @@ module XeroRuby::PayrollAu
|
|
|
236
238
|
|
|
237
239
|
def parse_date(datestring)
|
|
238
240
|
if datestring.include?('Date')
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
242
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
243
|
+
date = (date.to_i / 1000)
|
|
244
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
245
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
246
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
241
247
|
else # handle date 'types' for small subset of payroll API's
|
|
242
248
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
243
249
|
end
|
|
@@ -271,7 +271,7 @@ module XeroRuby::PayrollAu
|
|
|
271
271
|
value = self.send(attr)
|
|
272
272
|
next if value.nil?
|
|
273
273
|
key = downcase ? attr : param
|
|
274
|
-
hash[key] = _to_hash(value)
|
|
274
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
275
275
|
end
|
|
276
276
|
hash
|
|
277
277
|
end
|
|
@@ -285,15 +285,17 @@ module XeroRuby::PayrollAu
|
|
|
285
285
|
# For object, use to_hash. Otherwise, just return the value
|
|
286
286
|
# @param [Object] value Any valid value
|
|
287
287
|
# @return [Hash] Returns the value in the form of hash
|
|
288
|
-
def _to_hash(value)
|
|
288
|
+
def _to_hash(value, downcase: false)
|
|
289
289
|
if value.is_a?(Array)
|
|
290
|
-
value.
|
|
290
|
+
value.map do |v|
|
|
291
|
+
v.to_hash(downcase: downcase)
|
|
292
|
+
end
|
|
291
293
|
elsif value.is_a?(Hash)
|
|
292
294
|
{}.tap do |hash|
|
|
293
|
-
value.
|
|
295
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
294
296
|
end
|
|
295
297
|
elsif value.respond_to? :to_hash
|
|
296
|
-
value.to_hash
|
|
298
|
+
value.to_hash(downcase: downcase)
|
|
297
299
|
else
|
|
298
300
|
value
|
|
299
301
|
end
|
|
@@ -301,8 +303,12 @@ module XeroRuby::PayrollAu
|
|
|
301
303
|
|
|
302
304
|
def parse_date(datestring)
|
|
303
305
|
if datestring.include?('Date')
|
|
304
|
-
|
|
305
|
-
|
|
306
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
307
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
308
|
+
date = (date.to_i / 1000)
|
|
309
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
310
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
311
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
306
312
|
else # handle date 'types' for small subset of payroll API's
|
|
307
313
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
308
314
|
end
|
|
@@ -246,7 +246,7 @@ module XeroRuby::PayrollAu
|
|
|
246
246
|
value = self.send(attr)
|
|
247
247
|
next if value.nil?
|
|
248
248
|
key = downcase ? attr : param
|
|
249
|
-
hash[key] = _to_hash(value)
|
|
249
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
250
250
|
end
|
|
251
251
|
hash
|
|
252
252
|
end
|
|
@@ -260,15 +260,17 @@ module XeroRuby::PayrollAu
|
|
|
260
260
|
# For object, use to_hash. Otherwise, just return the value
|
|
261
261
|
# @param [Object] value Any valid value
|
|
262
262
|
# @return [Hash] Returns the value in the form of hash
|
|
263
|
-
def _to_hash(value)
|
|
263
|
+
def _to_hash(value, downcase: false)
|
|
264
264
|
if value.is_a?(Array)
|
|
265
|
-
value.
|
|
265
|
+
value.map do |v|
|
|
266
|
+
v.to_hash(downcase: downcase)
|
|
267
|
+
end
|
|
266
268
|
elsif value.is_a?(Hash)
|
|
267
269
|
{}.tap do |hash|
|
|
268
|
-
value.
|
|
270
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
269
271
|
end
|
|
270
272
|
elsif value.respond_to? :to_hash
|
|
271
|
-
value.to_hash
|
|
273
|
+
value.to_hash(downcase: downcase)
|
|
272
274
|
else
|
|
273
275
|
value
|
|
274
276
|
end
|
|
@@ -276,8 +278,12 @@ module XeroRuby::PayrollAu
|
|
|
276
278
|
|
|
277
279
|
def parse_date(datestring)
|
|
278
280
|
if datestring.include?('Date')
|
|
279
|
-
|
|
280
|
-
|
|
281
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
282
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
283
|
+
date = (date.to_i / 1000)
|
|
284
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
285
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
286
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
281
287
|
else # handle date 'types' for small subset of payroll API's
|
|
282
288
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
283
289
|
end
|
|
@@ -214,7 +214,7 @@ module XeroRuby::PayrollAu
|
|
|
214
214
|
value = self.send(attr)
|
|
215
215
|
next if value.nil?
|
|
216
216
|
key = downcase ? attr : param
|
|
217
|
-
hash[key] = _to_hash(value)
|
|
217
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
218
218
|
end
|
|
219
219
|
hash
|
|
220
220
|
end
|
|
@@ -228,15 +228,17 @@ module XeroRuby::PayrollAu
|
|
|
228
228
|
# For object, use to_hash. Otherwise, just return the value
|
|
229
229
|
# @param [Object] value Any valid value
|
|
230
230
|
# @return [Hash] Returns the value in the form of hash
|
|
231
|
-
def _to_hash(value)
|
|
231
|
+
def _to_hash(value, downcase: false)
|
|
232
232
|
if value.is_a?(Array)
|
|
233
|
-
value.
|
|
233
|
+
value.map do |v|
|
|
234
|
+
v.to_hash(downcase: downcase)
|
|
235
|
+
end
|
|
234
236
|
elsif value.is_a?(Hash)
|
|
235
237
|
{}.tap do |hash|
|
|
236
|
-
value.
|
|
238
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
237
239
|
end
|
|
238
240
|
elsif value.respond_to? :to_hash
|
|
239
|
-
value.to_hash
|
|
241
|
+
value.to_hash(downcase: downcase)
|
|
240
242
|
else
|
|
241
243
|
value
|
|
242
244
|
end
|
|
@@ -244,8 +246,12 @@ module XeroRuby::PayrollAu
|
|
|
244
246
|
|
|
245
247
|
def parse_date(datestring)
|
|
246
248
|
if datestring.include?('Date')
|
|
247
|
-
|
|
248
|
-
|
|
249
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
250
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
251
|
+
date = (date.to_i / 1000)
|
|
252
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
253
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
254
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
249
255
|
else # handle date 'types' for small subset of payroll API's
|
|
250
256
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
251
257
|
end
|
|
@@ -176,7 +176,7 @@ module XeroRuby::PayrollAu
|
|
|
176
176
|
value = self.send(attr)
|
|
177
177
|
next if value.nil?
|
|
178
178
|
key = downcase ? attr : param
|
|
179
|
-
hash[key] = _to_hash(value)
|
|
179
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
180
180
|
end
|
|
181
181
|
hash
|
|
182
182
|
end
|
|
@@ -190,15 +190,17 @@ module XeroRuby::PayrollAu
|
|
|
190
190
|
# For object, use to_hash. Otherwise, just return the value
|
|
191
191
|
# @param [Object] value Any valid value
|
|
192
192
|
# @return [Hash] Returns the value in the form of hash
|
|
193
|
-
def _to_hash(value)
|
|
193
|
+
def _to_hash(value, downcase: false)
|
|
194
194
|
if value.is_a?(Array)
|
|
195
|
-
value.
|
|
195
|
+
value.map do |v|
|
|
196
|
+
v.to_hash(downcase: downcase)
|
|
197
|
+
end
|
|
196
198
|
elsif value.is_a?(Hash)
|
|
197
199
|
{}.tap do |hash|
|
|
198
|
-
value.
|
|
200
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
199
201
|
end
|
|
200
202
|
elsif value.respond_to? :to_hash
|
|
201
|
-
value.to_hash
|
|
203
|
+
value.to_hash(downcase: downcase)
|
|
202
204
|
else
|
|
203
205
|
value
|
|
204
206
|
end
|
|
@@ -206,8 +208,12 @@ module XeroRuby::PayrollAu
|
|
|
206
208
|
|
|
207
209
|
def parse_date(datestring)
|
|
208
210
|
if datestring.include?('Date')
|
|
209
|
-
|
|
210
|
-
|
|
211
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
212
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
213
|
+
date = (date.to_i / 1000)
|
|
214
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
215
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
216
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
211
217
|
else # handle date 'types' for small subset of payroll API's
|
|
212
218
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
213
219
|
end
|
|
@@ -335,7 +335,7 @@ module XeroRuby::PayrollAu
|
|
|
335
335
|
value = self.send(attr)
|
|
336
336
|
next if value.nil?
|
|
337
337
|
key = downcase ? attr : param
|
|
338
|
-
hash[key] = _to_hash(value)
|
|
338
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
339
339
|
end
|
|
340
340
|
hash
|
|
341
341
|
end
|
|
@@ -349,15 +349,17 @@ module XeroRuby::PayrollAu
|
|
|
349
349
|
# For object, use to_hash. Otherwise, just return the value
|
|
350
350
|
# @param [Object] value Any valid value
|
|
351
351
|
# @return [Hash] Returns the value in the form of hash
|
|
352
|
-
def _to_hash(value)
|
|
352
|
+
def _to_hash(value, downcase: false)
|
|
353
353
|
if value.is_a?(Array)
|
|
354
|
-
value.
|
|
354
|
+
value.map do |v|
|
|
355
|
+
v.to_hash(downcase: downcase)
|
|
356
|
+
end
|
|
355
357
|
elsif value.is_a?(Hash)
|
|
356
358
|
{}.tap do |hash|
|
|
357
|
-
value.
|
|
359
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
358
360
|
end
|
|
359
361
|
elsif value.respond_to? :to_hash
|
|
360
|
-
value.to_hash
|
|
362
|
+
value.to_hash(downcase: downcase)
|
|
361
363
|
else
|
|
362
364
|
value
|
|
363
365
|
end
|
|
@@ -365,8 +367,12 @@ module XeroRuby::PayrollAu
|
|
|
365
367
|
|
|
366
368
|
def parse_date(datestring)
|
|
367
369
|
if datestring.include?('Date')
|
|
368
|
-
|
|
369
|
-
|
|
370
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
371
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
372
|
+
date = (date.to_i / 1000)
|
|
373
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
374
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
375
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
370
376
|
else # handle date 'types' for small subset of payroll API's
|
|
371
377
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
372
378
|
end
|