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
|
@@ -331,7 +331,7 @@ module XeroRuby::Assets
|
|
|
331
331
|
value = self.send(attr)
|
|
332
332
|
next if value.nil?
|
|
333
333
|
key = downcase ? attr : param
|
|
334
|
-
hash[key] = _to_hash(value)
|
|
334
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
335
335
|
end
|
|
336
336
|
hash
|
|
337
337
|
end
|
|
@@ -345,15 +345,17 @@ module XeroRuby::Assets
|
|
|
345
345
|
# For object, use to_hash. Otherwise, just return the value
|
|
346
346
|
# @param [Object] value Any valid value
|
|
347
347
|
# @return [Hash] Returns the value in the form of hash
|
|
348
|
-
def _to_hash(value)
|
|
348
|
+
def _to_hash(value, downcase: false)
|
|
349
349
|
if value.is_a?(Array)
|
|
350
|
-
value.
|
|
350
|
+
value.map do |v|
|
|
351
|
+
v.to_hash(downcase: downcase)
|
|
352
|
+
end
|
|
351
353
|
elsif value.is_a?(Hash)
|
|
352
354
|
{}.tap do |hash|
|
|
353
|
-
value.
|
|
355
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
354
356
|
end
|
|
355
357
|
elsif value.respond_to? :to_hash
|
|
356
|
-
value.to_hash
|
|
358
|
+
value.to_hash(downcase: downcase)
|
|
357
359
|
else
|
|
358
360
|
value
|
|
359
361
|
end
|
|
@@ -361,8 +363,12 @@ module XeroRuby::Assets
|
|
|
361
363
|
|
|
362
364
|
def parse_date(datestring)
|
|
363
365
|
if datestring.include?('Date')
|
|
364
|
-
|
|
365
|
-
|
|
366
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
367
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
368
|
+
date = (date.to_i / 1000)
|
|
369
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
370
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
371
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
366
372
|
else # handle date 'types' for small subset of payroll API's
|
|
367
373
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
368
374
|
end
|
|
@@ -246,7 +246,7 @@ module XeroRuby::Assets
|
|
|
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::Assets
|
|
|
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::Assets
|
|
|
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
|
|
@@ -188,7 +188,7 @@ module XeroRuby::Assets
|
|
|
188
188
|
value = self.send(attr)
|
|
189
189
|
next if value.nil?
|
|
190
190
|
key = downcase ? attr : param
|
|
191
|
-
hash[key] = _to_hash(value)
|
|
191
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
192
192
|
end
|
|
193
193
|
hash
|
|
194
194
|
end
|
|
@@ -202,15 +202,17 @@ module XeroRuby::Assets
|
|
|
202
202
|
# For object, use to_hash. Otherwise, just return the value
|
|
203
203
|
# @param [Object] value Any valid value
|
|
204
204
|
# @return [Hash] Returns the value in the form of hash
|
|
205
|
-
def _to_hash(value)
|
|
205
|
+
def _to_hash(value, downcase: false)
|
|
206
206
|
if value.is_a?(Array)
|
|
207
|
-
value.
|
|
207
|
+
value.map do |v|
|
|
208
|
+
v.to_hash(downcase: downcase)
|
|
209
|
+
end
|
|
208
210
|
elsif value.is_a?(Hash)
|
|
209
211
|
{}.tap do |hash|
|
|
210
|
-
value.
|
|
212
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
211
213
|
end
|
|
212
214
|
elsif value.respond_to? :to_hash
|
|
213
|
-
value.to_hash
|
|
215
|
+
value.to_hash(downcase: downcase)
|
|
214
216
|
else
|
|
215
217
|
value
|
|
216
218
|
end
|
|
@@ -218,8 +220,12 @@ module XeroRuby::Assets
|
|
|
218
220
|
|
|
219
221
|
def parse_date(datestring)
|
|
220
222
|
if datestring.include?('Date')
|
|
221
|
-
|
|
222
|
-
|
|
223
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
224
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
225
|
+
date = (date.to_i / 1000)
|
|
226
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
227
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
228
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
223
229
|
else # handle date 'types' for small subset of payroll API's
|
|
224
230
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
225
231
|
end
|
|
@@ -236,7 +236,7 @@ module XeroRuby::Assets
|
|
|
236
236
|
value = self.send(attr)
|
|
237
237
|
next if value.nil?
|
|
238
238
|
key = downcase ? attr : param
|
|
239
|
-
hash[key] = _to_hash(value)
|
|
239
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
240
240
|
end
|
|
241
241
|
hash
|
|
242
242
|
end
|
|
@@ -250,15 +250,17 @@ module XeroRuby::Assets
|
|
|
250
250
|
# For object, use to_hash. Otherwise, just return the value
|
|
251
251
|
# @param [Object] value Any valid value
|
|
252
252
|
# @return [Hash] Returns the value in the form of hash
|
|
253
|
-
def _to_hash(value)
|
|
253
|
+
def _to_hash(value, downcase: false)
|
|
254
254
|
if value.is_a?(Array)
|
|
255
|
-
value.
|
|
255
|
+
value.map do |v|
|
|
256
|
+
v.to_hash(downcase: downcase)
|
|
257
|
+
end
|
|
256
258
|
elsif value.is_a?(Hash)
|
|
257
259
|
{}.tap do |hash|
|
|
258
|
-
value.
|
|
260
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
259
261
|
end
|
|
260
262
|
elsif value.respond_to? :to_hash
|
|
261
|
-
value.to_hash
|
|
263
|
+
value.to_hash(downcase: downcase)
|
|
262
264
|
else
|
|
263
265
|
value
|
|
264
266
|
end
|
|
@@ -266,8 +268,12 @@ module XeroRuby::Assets
|
|
|
266
268
|
|
|
267
269
|
def parse_date(datestring)
|
|
268
270
|
if datestring.include?('Date')
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
272
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
273
|
+
date = (date.to_i / 1000)
|
|
274
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
275
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
276
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
271
277
|
else # handle date 'types' for small subset of payroll API's
|
|
272
278
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
273
279
|
end
|
|
@@ -315,7 +315,7 @@ module XeroRuby::Assets
|
|
|
315
315
|
value = self.send(attr)
|
|
316
316
|
next if value.nil?
|
|
317
317
|
key = downcase ? attr : param
|
|
318
|
-
hash[key] = _to_hash(value)
|
|
318
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
319
319
|
end
|
|
320
320
|
hash
|
|
321
321
|
end
|
|
@@ -329,15 +329,17 @@ module XeroRuby::Assets
|
|
|
329
329
|
# For object, use to_hash. Otherwise, just return the value
|
|
330
330
|
# @param [Object] value Any valid value
|
|
331
331
|
# @return [Hash] Returns the value in the form of hash
|
|
332
|
-
def _to_hash(value)
|
|
332
|
+
def _to_hash(value, downcase: false)
|
|
333
333
|
if value.is_a?(Array)
|
|
334
|
-
value.
|
|
334
|
+
value.map do |v|
|
|
335
|
+
v.to_hash(downcase: downcase)
|
|
336
|
+
end
|
|
335
337
|
elsif value.is_a?(Hash)
|
|
336
338
|
{}.tap do |hash|
|
|
337
|
-
value.
|
|
339
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
338
340
|
end
|
|
339
341
|
elsif value.respond_to? :to_hash
|
|
340
|
-
value.to_hash
|
|
342
|
+
value.to_hash(downcase: downcase)
|
|
341
343
|
else
|
|
342
344
|
value
|
|
343
345
|
end
|
|
@@ -345,8 +347,12 @@ module XeroRuby::Assets
|
|
|
345
347
|
|
|
346
348
|
def parse_date(datestring)
|
|
347
349
|
if datestring.include?('Date')
|
|
348
|
-
|
|
349
|
-
|
|
350
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
351
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
352
|
+
date = (date.to_i / 1000)
|
|
353
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
354
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
355
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
350
356
|
else # handle date 'types' for small subset of payroll API's
|
|
351
357
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
352
358
|
end
|
|
@@ -220,7 +220,7 @@ module XeroRuby::Assets
|
|
|
220
220
|
value = self.send(attr)
|
|
221
221
|
next if value.nil?
|
|
222
222
|
key = downcase ? attr : param
|
|
223
|
-
hash[key] = _to_hash(value)
|
|
223
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
224
224
|
end
|
|
225
225
|
hash
|
|
226
226
|
end
|
|
@@ -234,15 +234,17 @@ module XeroRuby::Assets
|
|
|
234
234
|
# For object, use to_hash. Otherwise, just return the value
|
|
235
235
|
# @param [Object] value Any valid value
|
|
236
236
|
# @return [Hash] Returns the value in the form of hash
|
|
237
|
-
def _to_hash(value)
|
|
237
|
+
def _to_hash(value, downcase: false)
|
|
238
238
|
if value.is_a?(Array)
|
|
239
|
-
value.
|
|
239
|
+
value.map do |v|
|
|
240
|
+
v.to_hash(downcase: downcase)
|
|
241
|
+
end
|
|
240
242
|
elsif value.is_a?(Hash)
|
|
241
243
|
{}.tap do |hash|
|
|
242
|
-
value.
|
|
244
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
243
245
|
end
|
|
244
246
|
elsif value.respond_to? :to_hash
|
|
245
|
-
value.to_hash
|
|
247
|
+
value.to_hash(downcase: downcase)
|
|
246
248
|
else
|
|
247
249
|
value
|
|
248
250
|
end
|
|
@@ -250,8 +252,12 @@ module XeroRuby::Assets
|
|
|
250
252
|
|
|
251
253
|
def parse_date(datestring)
|
|
252
254
|
if datestring.include?('Date')
|
|
253
|
-
|
|
254
|
-
|
|
255
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
256
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
257
|
+
date = (date.to_i / 1000)
|
|
258
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
259
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
260
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
255
261
|
else # handle date 'types' for small subset of payroll API's
|
|
256
262
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
257
263
|
end
|
|
@@ -226,7 +226,7 @@ module XeroRuby::Assets
|
|
|
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::Assets
|
|
|
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::Assets
|
|
|
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
|
|
@@ -206,7 +206,7 @@ module XeroRuby::Assets
|
|
|
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::Assets
|
|
|
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::Assets
|
|
|
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
|
|
@@ -216,7 +216,7 @@ module XeroRuby::Assets
|
|
|
216
216
|
value = self.send(attr)
|
|
217
217
|
next if value.nil?
|
|
218
218
|
key = downcase ? attr : param
|
|
219
|
-
hash[key] = _to_hash(value)
|
|
219
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
220
220
|
end
|
|
221
221
|
hash
|
|
222
222
|
end
|
|
@@ -230,15 +230,17 @@ module XeroRuby::Assets
|
|
|
230
230
|
# For object, use to_hash. Otherwise, just return the value
|
|
231
231
|
# @param [Object] value Any valid value
|
|
232
232
|
# @return [Hash] Returns the value in the form of hash
|
|
233
|
-
def _to_hash(value)
|
|
233
|
+
def _to_hash(value, downcase: false)
|
|
234
234
|
if value.is_a?(Array)
|
|
235
|
-
value.
|
|
235
|
+
value.map do |v|
|
|
236
|
+
v.to_hash(downcase: downcase)
|
|
237
|
+
end
|
|
236
238
|
elsif value.is_a?(Hash)
|
|
237
239
|
{}.tap do |hash|
|
|
238
|
-
value.
|
|
240
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
239
241
|
end
|
|
240
242
|
elsif value.respond_to? :to_hash
|
|
241
|
-
value.to_hash
|
|
243
|
+
value.to_hash(downcase: downcase)
|
|
242
244
|
else
|
|
243
245
|
value
|
|
244
246
|
end
|
|
@@ -246,8 +248,12 @@ module XeroRuby::Assets
|
|
|
246
248
|
|
|
247
249
|
def parse_date(datestring)
|
|
248
250
|
if datestring.include?('Date')
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
252
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
253
|
+
date = (date.to_i / 1000)
|
|
254
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
255
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
256
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
251
257
|
else # handle date 'types' for small subset of payroll API's
|
|
252
258
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
253
259
|
end
|
|
@@ -246,7 +246,7 @@ module XeroRuby::Assets
|
|
|
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::Assets
|
|
|
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::Assets
|
|
|
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
|