xero-ruby 2.10.0 → 3.1.1
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 +3 -0
- data/lib/xero-ruby/api/accounting_api.rb +305 -149
- data/lib/xero-ruby/api_client.rb +13 -6
- data/lib/xero-ruby/models/accounting/account.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts_payable.rb +11 -7
- data/lib/xero-ruby/models/accounting/accounts_receivable.rb +11 -7
- data/lib/xero-ruby/models/accounting/action.rb +11 -7
- data/lib/xero-ruby/models/accounting/actions.rb +11 -7
- data/lib/xero-ruby/models/accounting/address.rb +11 -7
- data/lib/xero-ruby/models/accounting/address_for_organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/allocation.rb +11 -7
- data/lib/xero-ruby/models/accounting/allocations.rb +11 -7
- data/lib/xero-ruby/models/accounting/attachment.rb +11 -7
- data/lib/xero-ruby/models/accounting/attachments.rb +11 -7
- data/lib/xero-ruby/models/accounting/balance_details.rb +11 -7
- data/lib/xero-ruby/models/accounting/balances.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transaction.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transactions.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transfer.rb +11 -7
- data/lib/xero-ruby/models/accounting/bank_transfers.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payment.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payment_details.rb +11 -7
- data/lib/xero-ruby/models/accounting/batch_payments.rb +11 -7
- data/lib/xero-ruby/models/accounting/bill.rb +11 -7
- data/lib/xero-ruby/models/accounting/branding_theme.rb +11 -7
- data/lib/xero-ruby/models/accounting/branding_themes.rb +11 -7
- data/lib/xero-ruby/models/accounting/budget.rb +321 -0
- data/lib/xero-ruby/models/accounting/budget_lines.rb +265 -0
- data/lib/xero-ruby/models/accounting/budgets.rb +222 -0
- data/lib/xero-ruby/models/accounting/cis_org_setting.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_org_settings.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_setting.rb +11 -7
- data/lib/xero-ruby/models/accounting/cis_settings.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_group.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_groups.rb +11 -7
- data/lib/xero-ruby/models/accounting/contact_person.rb +11 -7
- data/lib/xero-ruby/models/accounting/contacts.rb +11 -7
- data/lib/xero-ruby/models/accounting/conversion_balances.rb +11 -7
- data/lib/xero-ruby/models/accounting/conversion_date.rb +11 -7
- data/lib/xero-ruby/models/accounting/credit_note.rb +11 -7
- data/lib/xero-ruby/models/accounting/credit_notes.rb +11 -7
- data/lib/xero-ruby/models/accounting/currencies.rb +11 -7
- data/lib/xero-ruby/models/accounting/currency.rb +11 -7
- data/lib/xero-ruby/models/accounting/element.rb +11 -7
- data/lib/xero-ruby/models/accounting/employee.rb +11 -7
- data/lib/xero-ruby/models/accounting/employees.rb +11 -7
- data/lib/xero-ruby/models/accounting/error.rb +11 -7
- data/lib/xero-ruby/models/accounting/expense_claim.rb +11 -7
- data/lib/xero-ruby/models/accounting/expense_claims.rb +11 -7
- data/lib/xero-ruby/models/accounting/external_link.rb +11 -7
- data/lib/xero-ruby/models/accounting/history_record.rb +11 -7
- data/lib/xero-ruby/models/accounting/history_records.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_object.rb +11 -7
- data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice_reminder.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoice_reminders.rb +11 -7
- data/lib/xero-ruby/models/accounting/invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/item.rb +11 -7
- data/lib/xero-ruby/models/accounting/items.rb +11 -7
- data/lib/xero-ruby/models/accounting/journal.rb +11 -7
- data/lib/xero-ruby/models/accounting/journal_line.rb +11 -7
- data/lib/xero-ruby/models/accounting/journals.rb +11 -7
- data/lib/xero-ruby/models/accounting/line_item.rb +22 -8
- data/lib/xero-ruby/models/accounting/line_item_tracking.rb +11 -7
- data/lib/xero-ruby/models/accounting/linked_transaction.rb +11 -7
- data/lib/xero-ruby/models/accounting/linked_transactions.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journal.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journal_line.rb +11 -7
- data/lib/xero-ruby/models/accounting/manual_journals.rb +11 -7
- data/lib/xero-ruby/models/accounting/online_invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/online_invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/organisation.rb +11 -7
- data/lib/xero-ruby/models/accounting/organisations.rb +11 -7
- data/lib/xero-ruby/models/accounting/overpayment.rb +11 -7
- data/lib/xero-ruby/models/accounting/overpayments.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_delete.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_service.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_services.rb +11 -7
- data/lib/xero-ruby/models/accounting/payment_term.rb +11 -7
- data/lib/xero-ruby/models/accounting/payments.rb +11 -7
- data/lib/xero-ruby/models/accounting/phone.rb +11 -7
- data/lib/xero-ruby/models/accounting/prepayment.rb +24 -8
- data/lib/xero-ruby/models/accounting/prepayments.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase_order.rb +11 -7
- data/lib/xero-ruby/models/accounting/purchase_orders.rb +11 -7
- data/lib/xero-ruby/models/accounting/quote.rb +11 -7
- data/lib/xero-ruby/models/accounting/quotes.rb +11 -7
- data/lib/xero-ruby/models/accounting/receipt.rb +11 -7
- data/lib/xero-ruby/models/accounting/receipts.rb +11 -7
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +11 -7
- data/lib/xero-ruby/models/accounting/repeating_invoices.rb +11 -7
- data/lib/xero-ruby/models/accounting/report.rb +12 -18
- data/lib/xero-ruby/models/accounting/report_attribute.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_cell.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_fields.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_row.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_rows.rb +11 -7
- data/lib/xero-ruby/models/accounting/report_with_row.rb +12 -8
- data/lib/xero-ruby/models/accounting/report_with_rows.rb +11 -7
- data/lib/xero-ruby/models/accounting/reports.rb +11 -7
- data/lib/xero-ruby/models/accounting/request_empty.rb +11 -7
- data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +11 -7
- data/lib/xero-ruby/models/accounting/schedule.rb +11 -7
- data/lib/xero-ruby/models/accounting/setup.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_component.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_rate.rb +11 -7
- data/lib/xero-ruby/models/accounting/tax_rates.rb +11 -7
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_option.rb +11 -7
- data/lib/xero-ruby/models/accounting/tracking_options.rb +11 -7
- data/lib/xero-ruby/models/accounting/user.rb +11 -7
- data/lib/xero-ruby/models/accounting/users.rb +11 -7
- data/lib/xero-ruby/models/accounting/validation_error.rb +11 -7
- data/lib/xero-ruby/models/assets/asset.rb +11 -7
- data/lib/xero-ruby/models/assets/asset_type.rb +11 -7
- data/lib/xero-ruby/models/assets/assets.rb +11 -7
- data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +11 -7
- data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +11 -7
- data/lib/xero-ruby/models/assets/error.rb +11 -7
- data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +11 -7
- data/lib/xero-ruby/models/assets/pagination.rb +11 -7
- data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +11 -7
- data/lib/xero-ruby/models/assets/setting.rb +11 -7
- data/lib/xero-ruby/models/files/association.rb +11 -7
- data/lib/xero-ruby/models/files/file_object.rb +11 -7
- data/lib/xero-ruby/models/files/files.rb +11 -7
- data/lib/xero-ruby/models/files/folder.rb +11 -7
- data/lib/xero-ruby/models/files/folders.rb +11 -7
- data/lib/xero-ruby/models/files/upload_object.rb +11 -7
- data/lib/xero-ruby/models/files/user.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/api_exception.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/deduction_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/home_address.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_applications.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_item.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_items.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/payslips.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_funds.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/super_membership.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_au/validation_error.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/accounts.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/address.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/benefit.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employment.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/employment_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pagination.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/problem.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/superannuations.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/account.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/accounts.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/address.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/bank_account.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/benefits.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/deductions.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employees.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employment.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/employment_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_period.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/leave_types.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pagination.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslip.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/payslips.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/problem.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/settings.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tax_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/timesheets.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +11 -7
- data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +11 -7
- data/lib/xero-ruby/models/projects/amount.rb +11 -7
- data/lib/xero-ruby/models/projects/error.rb +11 -7
- data/lib/xero-ruby/models/projects/pagination.rb +11 -7
- data/lib/xero-ruby/models/projects/project.rb +11 -7
- data/lib/xero-ruby/models/projects/project_create_or_update.rb +11 -7
- data/lib/xero-ruby/models/projects/project_patch.rb +11 -7
- data/lib/xero-ruby/models/projects/project_user.rb +11 -7
- data/lib/xero-ruby/models/projects/project_users.rb +11 -7
- data/lib/xero-ruby/models/projects/projects.rb +11 -7
- data/lib/xero-ruby/models/projects/task.rb +11 -7
- data/lib/xero-ruby/models/projects/task_create_or_update.rb +11 -7
- data/lib/xero-ruby/models/projects/tasks.rb +11 -7
- data/lib/xero-ruby/models/projects/time_entries.rb +11 -7
- data/lib/xero-ruby/models/projects/time_entry.rb +11 -7
- data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +11 -7
- data/lib/xero-ruby/version.rb +2 -2
- data/spec/helper_methods_spec.rb +28 -0
- metadata +9 -6
@@ -186,7 +186,7 @@ module XeroRuby::Projects
|
|
186
186
|
value = self.send(attr)
|
187
187
|
next if value.nil?
|
188
188
|
key = downcase ? attr : param
|
189
|
-
hash[key] = _to_hash(value)
|
189
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
190
190
|
end
|
191
191
|
hash
|
192
192
|
end
|
@@ -200,15 +200,17 @@ module XeroRuby::Projects
|
|
200
200
|
# For object, use to_hash. Otherwise, just return the value
|
201
201
|
# @param [Object] value Any valid value
|
202
202
|
# @return [Hash] Returns the value in the form of hash
|
203
|
-
def _to_hash(value)
|
203
|
+
def _to_hash(value, downcase: false)
|
204
204
|
if value.is_a?(Array)
|
205
|
-
value.
|
205
|
+
value.map do |v|
|
206
|
+
v.to_hash(downcase: downcase)
|
207
|
+
end
|
206
208
|
elsif value.is_a?(Hash)
|
207
209
|
{}.tap do |hash|
|
208
|
-
value.
|
210
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
209
211
|
end
|
210
212
|
elsif value.respond_to? :to_hash
|
211
|
-
value.to_hash
|
213
|
+
value.to_hash(downcase: downcase)
|
212
214
|
else
|
213
215
|
value
|
214
216
|
end
|
@@ -216,8 +218,10 @@ module XeroRuby::Projects
|
|
216
218
|
|
217
219
|
def parse_date(datestring)
|
218
220
|
if datestring.include?('Date')
|
219
|
-
|
220
|
-
|
221
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
222
|
+
original, date, timezone = *date_pattern.match(datestring)
|
223
|
+
date = (date.to_i / 1000)
|
224
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
221
225
|
else # handle date 'types' for small subset of payroll API's
|
222
226
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
223
227
|
end
|
@@ -206,7 +206,7 @@ module XeroRuby::Projects
|
|
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::Projects
|
|
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,10 @@ module XeroRuby::Projects
|
|
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
|
241
245
|
else # handle date 'types' for small subset of payroll API's
|
242
246
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
243
247
|
end
|
@@ -391,7 +391,7 @@ module XeroRuby::Projects
|
|
391
391
|
value = self.send(attr)
|
392
392
|
next if value.nil?
|
393
393
|
key = downcase ? attr : param
|
394
|
-
hash[key] = _to_hash(value)
|
394
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
395
395
|
end
|
396
396
|
hash
|
397
397
|
end
|
@@ -405,15 +405,17 @@ module XeroRuby::Projects
|
|
405
405
|
# For object, use to_hash. Otherwise, just return the value
|
406
406
|
# @param [Object] value Any valid value
|
407
407
|
# @return [Hash] Returns the value in the form of hash
|
408
|
-
def _to_hash(value)
|
408
|
+
def _to_hash(value, downcase: false)
|
409
409
|
if value.is_a?(Array)
|
410
|
-
value.
|
410
|
+
value.map do |v|
|
411
|
+
v.to_hash(downcase: downcase)
|
412
|
+
end
|
411
413
|
elsif value.is_a?(Hash)
|
412
414
|
{}.tap do |hash|
|
413
|
-
value.
|
415
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
414
416
|
end
|
415
417
|
elsif value.respond_to? :to_hash
|
416
|
-
value.to_hash
|
418
|
+
value.to_hash(downcase: downcase)
|
417
419
|
else
|
418
420
|
value
|
419
421
|
end
|
@@ -421,8 +423,10 @@ module XeroRuby::Projects
|
|
421
423
|
|
422
424
|
def parse_date(datestring)
|
423
425
|
if datestring.include?('Date')
|
424
|
-
|
425
|
-
|
426
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
427
|
+
original, date, timezone = *date_pattern.match(datestring)
|
428
|
+
date = (date.to_i / 1000)
|
429
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
426
430
|
else # handle date 'types' for small subset of payroll API's
|
427
431
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
428
432
|
end
|
@@ -211,7 +211,7 @@ module XeroRuby::Projects
|
|
211
211
|
value = self.send(attr)
|
212
212
|
next if value.nil?
|
213
213
|
key = downcase ? attr : param
|
214
|
-
hash[key] = _to_hash(value)
|
214
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
215
215
|
end
|
216
216
|
hash
|
217
217
|
end
|
@@ -225,15 +225,17 @@ module XeroRuby::Projects
|
|
225
225
|
# For object, use to_hash. Otherwise, just return the value
|
226
226
|
# @param [Object] value Any valid value
|
227
227
|
# @return [Hash] Returns the value in the form of hash
|
228
|
-
def _to_hash(value)
|
228
|
+
def _to_hash(value, downcase: false)
|
229
229
|
if value.is_a?(Array)
|
230
|
-
value.
|
230
|
+
value.map do |v|
|
231
|
+
v.to_hash(downcase: downcase)
|
232
|
+
end
|
231
233
|
elsif value.is_a?(Hash)
|
232
234
|
{}.tap do |hash|
|
233
|
-
value.
|
235
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
234
236
|
end
|
235
237
|
elsif value.respond_to? :to_hash
|
236
|
-
value.to_hash
|
238
|
+
value.to_hash(downcase: downcase)
|
237
239
|
else
|
238
240
|
value
|
239
241
|
end
|
@@ -241,8 +243,10 @@ module XeroRuby::Projects
|
|
241
243
|
|
242
244
|
def parse_date(datestring)
|
243
245
|
if datestring.include?('Date')
|
244
|
-
|
245
|
-
|
246
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
247
|
+
original, date, timezone = *date_pattern.match(datestring)
|
248
|
+
date = (date.to_i / 1000)
|
249
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
246
250
|
else # handle date 'types' for small subset of payroll API's
|
247
251
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
248
252
|
end
|
@@ -181,7 +181,7 @@ module XeroRuby::Projects
|
|
181
181
|
value = self.send(attr)
|
182
182
|
next if value.nil?
|
183
183
|
key = downcase ? attr : param
|
184
|
-
hash[key] = _to_hash(value)
|
184
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
185
185
|
end
|
186
186
|
hash
|
187
187
|
end
|
@@ -195,15 +195,17 @@ module XeroRuby::Projects
|
|
195
195
|
# For object, use to_hash. Otherwise, just return the value
|
196
196
|
# @param [Object] value Any valid value
|
197
197
|
# @return [Hash] Returns the value in the form of hash
|
198
|
-
def _to_hash(value)
|
198
|
+
def _to_hash(value, downcase: false)
|
199
199
|
if value.is_a?(Array)
|
200
|
-
value.
|
200
|
+
value.map do |v|
|
201
|
+
v.to_hash(downcase: downcase)
|
202
|
+
end
|
201
203
|
elsif value.is_a?(Hash)
|
202
204
|
{}.tap do |hash|
|
203
|
-
value.
|
205
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
204
206
|
end
|
205
207
|
elsif value.respond_to? :to_hash
|
206
|
-
value.to_hash
|
208
|
+
value.to_hash(downcase: downcase)
|
207
209
|
else
|
208
210
|
value
|
209
211
|
end
|
@@ -211,8 +213,10 @@ module XeroRuby::Projects
|
|
211
213
|
|
212
214
|
def parse_date(datestring)
|
213
215
|
if datestring.include?('Date')
|
214
|
-
|
215
|
-
|
216
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
217
|
+
original, date, timezone = *date_pattern.match(datestring)
|
218
|
+
date = (date.to_i / 1000)
|
219
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
216
220
|
else # handle date 'types' for small subset of payroll API's
|
217
221
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
218
222
|
end
|
@@ -196,7 +196,7 @@ module XeroRuby::Projects
|
|
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::Projects
|
|
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,10 @@ module XeroRuby::Projects
|
|
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
|
231
235
|
else # handle date 'types' for small subset of payroll API's
|
232
236
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
233
237
|
end
|
@@ -188,7 +188,7 @@ module XeroRuby::Projects
|
|
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::Projects
|
|
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,10 @@ module XeroRuby::Projects
|
|
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
|
223
227
|
else # handle date 'types' for small subset of payroll API's
|
224
228
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
225
229
|
end
|
@@ -188,7 +188,7 @@ module XeroRuby::Projects
|
|
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::Projects
|
|
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,10 @@ module XeroRuby::Projects
|
|
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
|
223
227
|
else # handle date 'types' for small subset of payroll API's
|
224
228
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
225
229
|
end
|
@@ -353,7 +353,7 @@ module XeroRuby::Projects
|
|
353
353
|
value = self.send(attr)
|
354
354
|
next if value.nil?
|
355
355
|
key = downcase ? attr : param
|
356
|
-
hash[key] = _to_hash(value)
|
356
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
357
357
|
end
|
358
358
|
hash
|
359
359
|
end
|
@@ -367,15 +367,17 @@ module XeroRuby::Projects
|
|
367
367
|
# For object, use to_hash. Otherwise, just return the value
|
368
368
|
# @param [Object] value Any valid value
|
369
369
|
# @return [Hash] Returns the value in the form of hash
|
370
|
-
def _to_hash(value)
|
370
|
+
def _to_hash(value, downcase: false)
|
371
371
|
if value.is_a?(Array)
|
372
|
-
value.
|
372
|
+
value.map do |v|
|
373
|
+
v.to_hash(downcase: downcase)
|
374
|
+
end
|
373
375
|
elsif value.is_a?(Hash)
|
374
376
|
{}.tap do |hash|
|
375
|
-
value.
|
377
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
376
378
|
end
|
377
379
|
elsif value.respond_to? :to_hash
|
378
|
-
value.to_hash
|
380
|
+
value.to_hash(downcase: downcase)
|
379
381
|
else
|
380
382
|
value
|
381
383
|
end
|
@@ -383,8 +385,10 @@ module XeroRuby::Projects
|
|
383
385
|
|
384
386
|
def parse_date(datestring)
|
385
387
|
if datestring.include?('Date')
|
386
|
-
|
387
|
-
|
388
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
389
|
+
original, date, timezone = *date_pattern.match(datestring)
|
390
|
+
date = (date.to_i / 1000)
|
391
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
388
392
|
else # handle date 'types' for small subset of payroll API's
|
389
393
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
390
394
|
end
|
@@ -221,7 +221,7 @@ module XeroRuby::Projects
|
|
221
221
|
value = self.send(attr)
|
222
222
|
next if value.nil?
|
223
223
|
key = downcase ? attr : param
|
224
|
-
hash[key] = _to_hash(value)
|
224
|
+
hash[key] = _to_hash(value, downcase: downcase)
|
225
225
|
end
|
226
226
|
hash
|
227
227
|
end
|
@@ -235,15 +235,17 @@ module XeroRuby::Projects
|
|
235
235
|
# For object, use to_hash. Otherwise, just return the value
|
236
236
|
# @param [Object] value Any valid value
|
237
237
|
# @return [Hash] Returns the value in the form of hash
|
238
|
-
def _to_hash(value)
|
238
|
+
def _to_hash(value, downcase: false)
|
239
239
|
if value.is_a?(Array)
|
240
|
-
value.
|
240
|
+
value.map do |v|
|
241
|
+
v.to_hash(downcase: downcase)
|
242
|
+
end
|
241
243
|
elsif value.is_a?(Hash)
|
242
244
|
{}.tap do |hash|
|
243
|
-
value.
|
245
|
+
value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
|
244
246
|
end
|
245
247
|
elsif value.respond_to? :to_hash
|
246
|
-
value.to_hash
|
248
|
+
value.to_hash(downcase: downcase)
|
247
249
|
else
|
248
250
|
value
|
249
251
|
end
|
@@ -251,8 +253,10 @@ module XeroRuby::Projects
|
|
251
253
|
|
252
254
|
def parse_date(datestring)
|
253
255
|
if datestring.include?('Date')
|
254
|
-
|
255
|
-
|
256
|
+
date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
|
257
|
+
original, date, timezone = *date_pattern.match(datestring)
|
258
|
+
date = (date.to_i / 1000)
|
259
|
+
Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
|
256
260
|
else # handle date 'types' for small subset of payroll API's
|
257
261
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
258
262
|
end
|
@@ -188,7 +188,7 @@ module XeroRuby::Projects
|
|
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::Projects
|
|
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,10 @@ module XeroRuby::Projects
|
|
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
|
223
227
|
else # handle date 'types' for small subset of payroll API's
|
224
228
|
Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
|
225
229
|
end
|