xero-ruby 2.6.2 → 2.7.0
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 +18 -8
- data/lib/xero-ruby.rb +4 -2
- data/lib/xero-ruby/api/accounting_api.rb +446 -446
- data/lib/xero-ruby/api/asset_api.rb +3 -7
- data/lib/xero-ruby/api/files_api.rb +49 -55
- data/lib/xero-ruby/api/payroll_au_api.rb +63 -63
- data/lib/xero-ruby/api/payroll_nz_api.rb +171 -171
- data/lib/xero-ruby/api/payroll_uk_api.rb +173 -173
- data/lib/xero-ruby/api/project_api.rb +45 -45
- data/lib/xero-ruby/api_client.rb +22 -87
- data/lib/xero-ruby/api_error.rb +1 -1
- data/lib/xero-ruby/configuration.rb +3 -3
- data/lib/xero-ruby/models/accounting/account.rb +1 -1
- data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
- data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
- data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
- data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
- data/lib/xero-ruby/models/accounting/action.rb +1 -1
- data/lib/xero-ruby/models/accounting/actions.rb +1 -1
- data/lib/xero-ruby/models/accounting/address.rb +1 -1
- data/lib/xero-ruby/models/accounting/address_for_organisation.rb +1 -1
- data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
- data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
- data/lib/xero-ruby/models/accounting/attachment.rb +1 -1
- data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
- data/lib/xero-ruby/models/accounting/balance_details.rb +1 -1
- data/lib/xero-ruby/models/accounting/balances.rb +1 -1
- data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -1
- data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
- data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
- data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
- data/lib/xero-ruby/models/accounting/batch_payment.rb +1 -1
- data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -1
- data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
- data/lib/xero-ruby/models/accounting/bill.rb +1 -1
- data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
- data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
- data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
- data/lib/xero-ruby/models/{files/file_response204.rb → accounting/cis_org_settings.rb} +16 -14
- data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
- data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
- data/lib/xero-ruby/models/accounting/contact.rb +1 -1
- data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
- data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
- data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
- data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
- data/lib/xero-ruby/models/accounting/conversion_balances.rb +1 -1
- data/lib/xero-ruby/models/accounting/conversion_date.rb +1 -1
- data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
- data/lib/xero-ruby/models/accounting/credit_note.rb +18 -6
- data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
- data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
- data/lib/xero-ruby/models/accounting/currency.rb +1 -1
- data/lib/xero-ruby/models/accounting/currency_code.rb +1 -1
- data/lib/xero-ruby/models/accounting/element.rb +1 -1
- data/lib/xero-ruby/models/accounting/employee.rb +1 -1
- data/lib/xero-ruby/models/accounting/employees.rb +1 -1
- data/lib/xero-ruby/models/accounting/error.rb +1 -1
- data/lib/xero-ruby/models/accounting/expense_claim.rb +1 -1
- data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
- data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
- data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
- data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
- data/lib/xero-ruby/models/accounting/import_summary.rb +1 -1
- data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +1 -1
- data/lib/xero-ruby/models/accounting/import_summary_object.rb +1 -1
- data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +1 -1
- data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
- data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
- data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
- data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
- data/lib/xero-ruby/models/accounting/item.rb +1 -1
- data/lib/xero-ruby/models/accounting/items.rb +1 -1
- data/lib/xero-ruby/models/accounting/journal.rb +1 -1
- data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
- data/lib/xero-ruby/models/accounting/journals.rb +1 -1
- data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
- data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
- data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
- data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
- data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
- data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
- data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
- data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
- data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
- data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
- data/lib/xero-ruby/models/accounting/organisation.rb +1 -1
- data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
- data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
- data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
- data/lib/xero-ruby/models/accounting/payment.rb +12 -2
- data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
- data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
- data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
- data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
- data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
- data/lib/xero-ruby/models/accounting/payments.rb +1 -1
- data/lib/xero-ruby/models/accounting/phone.rb +1 -1
- data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
- data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
- data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
- data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
- data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
- data/lib/xero-ruby/models/accounting/quote.rb +1 -1
- data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
- data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
- data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
- data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
- data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
- data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
- data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
- data/lib/xero-ruby/models/accounting/report.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
- data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
- data/lib/xero-ruby/models/accounting/reports.rb +1 -1
- data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
- data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
- data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
- data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
- data/lib/xero-ruby/models/accounting/setup.rb +1 -1
- data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
- data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
- data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
- data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
- data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
- data/lib/xero-ruby/models/accounting/time_zone.rb +1 -1
- data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
- data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
- data/lib/xero-ruby/models/accounting/tracking_option.rb +1 -1
- data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
- data/lib/xero-ruby/models/accounting/user.rb +1 -1
- data/lib/xero-ruby/models/accounting/users.rb +1 -1
- data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
- data/lib/xero-ruby/models/assets/asset.rb +1 -1
- data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
- data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
- data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
- data/lib/xero-ruby/models/assets/assets.rb +1 -1
- data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
- data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
- data/lib/xero-ruby/models/assets/error.rb +1 -1
- data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +2 -2
- data/lib/xero-ruby/models/assets/pagination.rb +1 -1
- data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +2 -2
- data/lib/xero-ruby/models/assets/setting.rb +1 -1
- data/lib/xero-ruby/models/files/association.rb +1 -1
- data/lib/xero-ruby/models/files/file_object.rb +1 -1
- data/lib/xero-ruby/models/files/files.rb +1 -1
- data/lib/xero-ruby/models/files/folder.rb +1 -1
- data/lib/xero-ruby/models/files/folders.rb +1 -1
- data/lib/xero-ruby/models/files/inline_object.rb +1 -1
- data/lib/xero-ruby/models/files/object_group.rb +1 -1
- data/lib/xero-ruby/models/files/object_type.rb +1 -1
- data/lib/xero-ruby/models/files/user.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/account.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/account_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/allowance_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/api_exception.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/bank_account.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/calendar_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/deduction_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/deduction_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/earnings_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/earnings_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/employee.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/employee_status.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/employees.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/employment_basis.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/home_address.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_application.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_applications.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_balance.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_lines.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_period.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/opening_balances.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_item.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_items.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_run.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_runs.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/pay_template.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payslip.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payslip_object.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/payslips.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/rate_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/residency_status.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/settings.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/settings_object.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/state.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_fund.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_funds.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/super_line.rb +2 -2
- data/lib/xero-ruby/models/payroll_au/super_membership.rb +2 -2
- data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/tax_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/timesheet.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/timesheets.rb +1 -1
- data/lib/xero-ruby/models/payroll_au/validation_error.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/timesheet.rb +1 -1
- data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +1 -1
- data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +1 -1
- data/lib/xero-ruby/models/payroll_uk/timesheet.rb +1 -1
- data/lib/xero-ruby/string_serialization.rb +52 -0
- data/lib/xero-ruby/version.rb +3 -3
- data/lib/xero-ruby/where.rb +65 -0
- data/spec/configuration_spec.rb +1 -1
- data/spec/where_spec.rb +82 -0
- metadata +8 -6
- data/spec/files/models/file_response204_spec.rb +0 -41
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Xero Payroll AU
|
|
2
|
+
#Xero Payroll AU API
|
|
3
3
|
|
|
4
4
|
#This is the Xero Payroll API for orgs in Australia region.
|
|
5
5
|
|
|
@@ -25,7 +25,7 @@ module XeroRuby::PayrollAu
|
|
|
25
25
|
|
|
26
26
|
attr_accessor :calculation_type
|
|
27
27
|
|
|
28
|
-
# amount of
|
|
28
|
+
# amount of minimum earnings
|
|
29
29
|
attr_accessor :minimum_monthly_earnings
|
|
30
30
|
|
|
31
31
|
# expense account code
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
=begin
|
|
2
|
-
#Xero Payroll AU
|
|
2
|
+
#Xero Payroll AU API
|
|
3
3
|
|
|
4
4
|
#This is the Xero Payroll API for orgs in Australia region.
|
|
5
5
|
|
|
@@ -22,7 +22,7 @@ module XeroRuby::PayrollAu
|
|
|
22
22
|
# Xero identifier for super fund
|
|
23
23
|
attr_accessor :super_fund_id
|
|
24
24
|
|
|
25
|
-
# The
|
|
25
|
+
# The membership number assigned to the employee by the super fund.
|
|
26
26
|
attr_accessor :employee_number
|
|
27
27
|
|
|
28
28
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -43,7 +43,7 @@ module XeroRuby::PayrollNz
|
|
|
43
43
|
# Identifies if the earnings is using an average daily pay rate
|
|
44
44
|
attr_accessor :is_average_daily_pay_rate
|
|
45
45
|
|
|
46
|
-
# Flag to
|
|
46
|
+
# Flag to identify whether the earnings line is system generated or not.
|
|
47
47
|
attr_accessor :is_system_generated
|
|
48
48
|
|
|
49
49
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -43,7 +43,7 @@ module XeroRuby::PayrollNz
|
|
|
43
43
|
# Whether the sick leave was pregnancy related
|
|
44
44
|
attr_accessor :is_pregnancy_related
|
|
45
45
|
|
|
46
|
-
# Whether the employee provided
|
|
46
|
+
# Whether the employee provided sufficient notice and documentation as required by the employer supporting the sick leave request
|
|
47
47
|
attr_accessor :sufficient_notice
|
|
48
48
|
|
|
49
49
|
# Whether the leave was entitled to receive payment
|
|
@@ -43,7 +43,7 @@ module XeroRuby::PayrollNz
|
|
|
43
43
|
# Identifies if the earnings is using an average daily pay rate
|
|
44
44
|
attr_accessor :is_average_daily_pay_rate
|
|
45
45
|
|
|
46
|
-
# Flag to
|
|
46
|
+
# Flag to identify whether the earnings line is system generated or not.
|
|
47
47
|
attr_accessor :is_system_generated
|
|
48
48
|
|
|
49
49
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -19,7 +19,7 @@ module XeroRuby::PayrollNz
|
|
|
19
19
|
# The Xero identifier for a Timesheet
|
|
20
20
|
attr_accessor :timesheet_id
|
|
21
21
|
|
|
22
|
-
# The Xero identifier for the Payroll
|
|
22
|
+
# The Xero identifier for the Payroll Calendar that the Timesheet applies to
|
|
23
23
|
attr_accessor :payroll_calendar_id
|
|
24
24
|
|
|
25
25
|
# The Xero identifier for the Employee that the Timesheet is for
|
|
@@ -43,7 +43,7 @@ module XeroRuby::PayrollNz
|
|
|
43
43
|
# Identifies if the earnings is using an average daily pay rate
|
|
44
44
|
attr_accessor :is_average_daily_pay_rate
|
|
45
45
|
|
|
46
|
-
# Flag to
|
|
46
|
+
# Flag to identify whether the earnings line is system generated or not.
|
|
47
47
|
attr_accessor :is_system_generated
|
|
48
48
|
|
|
49
49
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
@@ -43,7 +43,7 @@ module XeroRuby::PayrollUk
|
|
|
43
43
|
# Whether the sick leave was pregnancy related
|
|
44
44
|
attr_accessor :is_pregnancy_related
|
|
45
45
|
|
|
46
|
-
# Whether the employee provided
|
|
46
|
+
# Whether the employee provided sufficient notice and documentation as required by the employer supporting the sick leave request
|
|
47
47
|
attr_accessor :sufficient_notice
|
|
48
48
|
|
|
49
49
|
# Whether the leave was entitled to receive payment
|
|
@@ -19,7 +19,7 @@ module XeroRuby::PayrollUk
|
|
|
19
19
|
# The Xero identifier for a Timesheet
|
|
20
20
|
attr_accessor :timesheet_id
|
|
21
21
|
|
|
22
|
-
# The Xero identifier for the Payroll
|
|
22
|
+
# The Xero identifier for the Payroll Calendar that the Timesheet applies to
|
|
23
23
|
attr_accessor :payroll_calendar_id
|
|
24
24
|
|
|
25
25
|
# The Xero identifier for the Employee that the Timesheet is for
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module XeroRuby
|
|
2
|
+
module StringSerialization
|
|
3
|
+
# START - Re-serializes snake_cased params to PascalCase required by XeroAPI
|
|
4
|
+
def to_camel_keys(value = self)
|
|
5
|
+
case value
|
|
6
|
+
when Array
|
|
7
|
+
value.map { |v| to_camel_keys(v) }
|
|
8
|
+
when Hash
|
|
9
|
+
Hash[value.map { |k, v| [camelize_key(k), to_camel_keys(v)] }]
|
|
10
|
+
else
|
|
11
|
+
value
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def camelize_key(key, first_upper = true)
|
|
16
|
+
if key.is_a? Symbol
|
|
17
|
+
camelize(key.to_s, first_upper).to_sym
|
|
18
|
+
elsif key.is_a? String
|
|
19
|
+
camelize(key, first_upper)
|
|
20
|
+
else
|
|
21
|
+
key # can't camelize anything except strings and symbols
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def camelize(word, first_upper = true)
|
|
26
|
+
if first_upper
|
|
27
|
+
str = word.to_s
|
|
28
|
+
str = gsubbed(str, /(?:^|_)([^_\s]+)/)
|
|
29
|
+
str = gsubbed(str, %r{/([^/]*)}, "::")
|
|
30
|
+
str
|
|
31
|
+
else
|
|
32
|
+
parts = word.split("_", 2)
|
|
33
|
+
parts[0] << camelize(parts[1]) if parts.size > 1
|
|
34
|
+
parts[0] || ""
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def gsubbed(str, pattern, extra = "")
|
|
39
|
+
key_map_scronyms = {}
|
|
40
|
+
str = str.gsub(pattern) do
|
|
41
|
+
extra + (key_map_scronyms[Regexp.last_match(1)] || capitalize_first(Regexp.last_match(1)))
|
|
42
|
+
end
|
|
43
|
+
str
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def capitalize_first(word)
|
|
47
|
+
split = word.split('')
|
|
48
|
+
"#{split[0].capitalize}#{split[1..-1].join}"
|
|
49
|
+
end
|
|
50
|
+
# END - Re-serializes snake_cased params to PascalCase required by XeroAPI
|
|
51
|
+
end
|
|
52
|
+
end
|