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
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
226
228
|
|
|
227
229
|
def parse_date(datestring)
|
|
228
230
|
if datestring.include?('Date')
|
|
229
|
-
|
|
230
|
-
|
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
233
|
+
date = (date.to_i / 1000)
|
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
235
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
236
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
231
237
|
else # handle date 'types' for small subset of payroll API's
|
|
232
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
233
239
|
end
|
|
@@ -198,7 +198,7 @@ module XeroRuby::PayrollUk
|
|
|
198
198
|
value = self.send(attr)
|
|
199
199
|
next if value.nil?
|
|
200
200
|
key = downcase ? attr : param
|
|
201
|
-
hash[key] = _to_hash(value)
|
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
202
202
|
end
|
|
203
203
|
hash
|
|
204
204
|
end
|
|
@@ -212,15 +212,17 @@ module XeroRuby::PayrollUk
|
|
|
212
212
|
# For object, use to_hash. Otherwise, just return the value
|
|
213
213
|
# @param [Object] value Any valid value
|
|
214
214
|
# @return [Hash] Returns the value in the form of hash
|
|
215
|
-
def _to_hash(value)
|
|
215
|
+
def _to_hash(value, downcase: false)
|
|
216
216
|
if value.is_a?(Array)
|
|
217
|
-
value.
|
|
217
|
+
value.map do |v|
|
|
218
|
+
v.to_hash(downcase: downcase)
|
|
219
|
+
end
|
|
218
220
|
elsif value.is_a?(Hash)
|
|
219
221
|
{}.tap do |hash|
|
|
220
|
-
value.
|
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
221
223
|
end
|
|
222
224
|
elsif value.respond_to? :to_hash
|
|
223
|
-
value.to_hash
|
|
225
|
+
value.to_hash(downcase: downcase)
|
|
224
226
|
else
|
|
225
227
|
value
|
|
226
228
|
end
|
|
@@ -228,8 +230,12 @@ module XeroRuby::PayrollUk
|
|
|
228
230
|
|
|
229
231
|
def parse_date(datestring)
|
|
230
232
|
if datestring.include?('Date')
|
|
231
|
-
|
|
232
|
-
|
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
235
|
+
date = (date.to_i / 1000)
|
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
237
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
238
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
233
239
|
else # handle date 'types' for small subset of payroll API's
|
|
234
240
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
235
241
|
end
|
|
@@ -337,7 +337,7 @@ module XeroRuby::PayrollUk
|
|
|
337
337
|
value = self.send(attr)
|
|
338
338
|
next if value.nil?
|
|
339
339
|
key = downcase ? attr : param
|
|
340
|
-
hash[key] = _to_hash(value)
|
|
340
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
341
341
|
end
|
|
342
342
|
hash
|
|
343
343
|
end
|
|
@@ -351,15 +351,17 @@ module XeroRuby::PayrollUk
|
|
|
351
351
|
# For object, use to_hash. Otherwise, just return the value
|
|
352
352
|
# @param [Object] value Any valid value
|
|
353
353
|
# @return [Hash] Returns the value in the form of hash
|
|
354
|
-
def _to_hash(value)
|
|
354
|
+
def _to_hash(value, downcase: false)
|
|
355
355
|
if value.is_a?(Array)
|
|
356
|
-
value.
|
|
356
|
+
value.map do |v|
|
|
357
|
+
v.to_hash(downcase: downcase)
|
|
358
|
+
end
|
|
357
359
|
elsif value.is_a?(Hash)
|
|
358
360
|
{}.tap do |hash|
|
|
359
|
-
value.
|
|
361
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
360
362
|
end
|
|
361
363
|
elsif value.respond_to? :to_hash
|
|
362
|
-
value.to_hash
|
|
364
|
+
value.to_hash(downcase: downcase)
|
|
363
365
|
else
|
|
364
366
|
value
|
|
365
367
|
end
|
|
@@ -367,8 +369,12 @@ module XeroRuby::PayrollUk
|
|
|
367
369
|
|
|
368
370
|
def parse_date(datestring)
|
|
369
371
|
if datestring.include?('Date')
|
|
370
|
-
|
|
371
|
-
|
|
372
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
373
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
374
|
+
date = (date.to_i / 1000)
|
|
375
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
376
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
377
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
372
378
|
else # handle date 'types' for small subset of payroll API's
|
|
373
379
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
374
380
|
end
|
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
226
228
|
|
|
227
229
|
def parse_date(datestring)
|
|
228
230
|
if datestring.include?('Date')
|
|
229
|
-
|
|
230
|
-
|
|
231
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
232
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
233
|
+
date = (date.to_i / 1000)
|
|
234
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
235
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
236
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
231
237
|
else # handle date 'types' for small subset of payroll API's
|
|
232
238
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
233
239
|
end
|
|
@@ -198,7 +198,7 @@ module XeroRuby::PayrollUk
|
|
|
198
198
|
value = self.send(attr)
|
|
199
199
|
next if value.nil?
|
|
200
200
|
key = downcase ? attr : param
|
|
201
|
-
hash[key] = _to_hash(value)
|
|
201
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
|
202
202
|
end
|
|
203
203
|
hash
|
|
204
204
|
end
|
|
@@ -212,15 +212,17 @@ module XeroRuby::PayrollUk
|
|
|
212
212
|
# For object, use to_hash. Otherwise, just return the value
|
|
213
213
|
# @param [Object] value Any valid value
|
|
214
214
|
# @return [Hash] Returns the value in the form of hash
|
|
215
|
-
def _to_hash(value)
|
|
215
|
+
def _to_hash(value, downcase: false)
|
|
216
216
|
if value.is_a?(Array)
|
|
217
|
-
value.
|
|
217
|
+
value.map do |v|
|
|
218
|
+
v.to_hash(downcase: downcase)
|
|
219
|
+
end
|
|
218
220
|
elsif value.is_a?(Hash)
|
|
219
221
|
{}.tap do |hash|
|
|
220
|
-
value.
|
|
222
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
|
221
223
|
end
|
|
222
224
|
elsif value.respond_to? :to_hash
|
|
223
|
-
value.to_hash
|
|
225
|
+
value.to_hash(downcase: downcase)
|
|
224
226
|
else
|
|
225
227
|
value
|
|
226
228
|
end
|
|
@@ -228,8 +230,12 @@ module XeroRuby::PayrollUk
|
|
|
228
230
|
|
|
229
231
|
def parse_date(datestring)
|
|
230
232
|
if datestring.include?('Date')
|
|
231
|
-
|
|
232
|
-
|
|
233
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
|
234
|
+
original, date, timezone = *date_pattern.match(datestring)
|
|
235
|
+
date = (date.to_i / 1000)
|
|
236
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
|
237
|
+
elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
|
|
238
|
+
Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
233
239
|
else # handle date 'types' for small subset of payroll API's
|
|
234
240
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
|
235
241
|
end
|
|
@@ -196,7 +196,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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
|
|
@@ -216,7 +216,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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
|
|
@@ -226,7 +226,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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
|
|
@@ -315,7 +315,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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
|
|
@@ -226,7 +226,7 @@ module XeroRuby::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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::PayrollUk
|
|
|
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
|