xero-ruby 3.3.0 → 3.9.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.
Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xero-ruby/api/accounting_api.rb +86 -2
  3. data/lib/xero-ruby/api/finance_api.rb +961 -0
  4. data/lib/xero-ruby/api/payroll_au_api.rb +14 -14
  5. data/lib/xero-ruby/api/payroll_nz_api.rb +18 -12
  6. data/lib/xero-ruby/api/payroll_uk_api.rb +16 -4
  7. data/lib/xero-ruby/api_client.rb +13 -2
  8. data/lib/xero-ruby/configuration.rb +2 -0
  9. data/lib/xero-ruby/models/accounting/account.rb +34 -34
  10. data/lib/xero-ruby/models/accounting/account_type.rb +22 -22
  11. data/lib/xero-ruby/models/accounting/action.rb +2 -2
  12. data/lib/xero-ruby/models/accounting/address.rb +2 -2
  13. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +3 -3
  14. data/lib/xero-ruby/models/accounting/bank_transaction.rb +11 -11
  15. data/lib/xero-ruby/models/accounting/bank_transfer.rb +35 -1
  16. data/lib/xero-ruby/models/accounting/batch_payment.rb +4 -4
  17. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  18. data/lib/xero-ruby/models/accounting/budget.rb +2 -2
  19. data/lib/xero-ruby/models/accounting/budget_balance.rb +2 -2
  20. data/lib/xero-ruby/models/accounting/contact.rb +89 -4
  21. data/lib/xero-ruby/models/accounting/contact_group.rb +2 -2
  22. data/lib/xero-ruby/models/accounting/country_code.rb +240 -240
  23. data/lib/xero-ruby/models/accounting/credit_note.rb +8 -8
  24. data/lib/xero-ruby/models/accounting/currency_code.rb +166 -166
  25. data/lib/xero-ruby/models/accounting/employee.rb +4 -4
  26. data/lib/xero-ruby/models/accounting/expense_claim.rb +5 -5
  27. data/lib/xero-ruby/models/accounting/external_link.rb +5 -5
  28. data/lib/xero-ruby/models/accounting/invoice.rb +14 -14
  29. data/lib/xero-ruby/models/accounting/journal.rb +25 -25
  30. data/lib/xero-ruby/models/accounting/line_amount_types.rb +3 -3
  31. data/lib/xero-ruby/models/accounting/line_item.rb +11 -1
  32. data/lib/xero-ruby/models/accounting/line_item_item.rb +272 -0
  33. data/lib/xero-ruby/models/accounting/linked_transaction.rb +8 -8
  34. data/lib/xero-ruby/models/accounting/manual_journal.rb +5 -5
  35. data/lib/xero-ruby/models/accounting/organisation.rb +79 -76
  36. data/lib/xero-ruby/models/accounting/overpayment.rb +6 -6
  37. data/lib/xero-ruby/models/accounting/payment.rb +10 -10
  38. data/lib/xero-ruby/models/accounting/payment_term_type.rb +4 -4
  39. data/lib/xero-ruby/models/accounting/phone.rb +5 -5
  40. data/lib/xero-ruby/models/accounting/prepayment.rb +7 -7
  41. data/lib/xero-ruby/models/accounting/purchase_order.rb +5 -5
  42. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +3 -3
  43. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +6 -6
  44. data/lib/xero-ruby/models/accounting/receipt.rb +5 -5
  45. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +5 -5
  46. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  47. data/lib/xero-ruby/models/accounting/row_type.rb +4 -4
  48. data/lib/xero-ruby/models/accounting/schedule.rb +8 -8
  49. data/lib/xero-ruby/models/accounting/tax_rate.rb +87 -80
  50. data/lib/xero-ruby/models/accounting/tax_type.rb +66 -59
  51. data/lib/xero-ruby/models/accounting/time_zone.rb +109 -109
  52. data/lib/xero-ruby/models/accounting/tracking_category.rb +3 -3
  53. data/lib/xero-ruby/models/accounting/tracking_option.rb +3 -3
  54. data/lib/xero-ruby/models/accounting/user.rb +7 -7
  55. data/lib/xero-ruby/models/app_store/plan.rb +6 -5
  56. data/lib/xero-ruby/models/app_store/product.rb +30 -9
  57. data/lib/xero-ruby/models/app_store/subscription.rb +37 -0
  58. data/lib/xero-ruby/models/app_store/subscription_item.rb +63 -1
  59. data/lib/xero-ruby/models/assets/asset_status.rb +3 -3
  60. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +3 -3
  61. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +11 -11
  62. data/lib/xero-ruby/models/files/object_group.rb +12 -11
  63. data/lib/xero-ruby/models/files/object_type.rb +56 -55
  64. data/lib/xero-ruby/models/finance/account_usage.rb +342 -0
  65. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -0
  66. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -0
  67. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -0
  68. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -0
  69. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -0
  70. data/lib/xero-ruby/models/finance/bank_statement_accounting_response.rb +254 -0
  71. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -0
  72. data/lib/xero-ruby/models/finance/bank_transaction_response.rb +274 -0
  73. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -0
  74. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -0
  75. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -0
  76. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -0
  77. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -0
  78. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -0
  79. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -0
  80. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -0
  81. data/lib/xero-ruby/models/finance/contact_response.rb +232 -0
  82. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -0
  83. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -0
  84. data/lib/xero-ruby/models/finance/credit_note_response.rb +254 -0
  85. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -0
  86. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -0
  87. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -0
  88. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -0
  89. data/lib/xero-ruby/models/finance/invoice_response.rb +254 -0
  90. data/lib/xero-ruby/models/finance/line_item_response.rb +252 -0
  91. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -0
  92. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -0
  93. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -0
  94. data/lib/xero-ruby/models/finance/overpayment_response.rb +254 -0
  95. data/lib/xero-ruby/models/finance/payment_response.rb +312 -0
  96. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -0
  97. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -0
  98. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -0
  99. data/lib/xero-ruby/models/finance/practice_response.rb +262 -0
  100. data/lib/xero-ruby/models/finance/prepayment_response.rb +254 -0
  101. data/lib/xero-ruby/models/finance/problem.rb +252 -0
  102. data/lib/xero-ruby/models/finance/problem_type.rb +44 -0
  103. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -0
  104. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -0
  105. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -0
  106. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -0
  107. data/lib/xero-ruby/models/finance/statement_line_response.rb +346 -0
  108. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -0
  109. data/lib/xero-ruby/models/finance/statement_response.rb +294 -0
  110. data/lib/xero-ruby/models/finance/total_detail.rb +242 -0
  111. data/lib/xero-ruby/models/finance/total_other.rb +242 -0
  112. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -0
  113. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -0
  114. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -0
  115. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -0
  116. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -0
  117. data/lib/xero-ruby/models/finance/user_response.rb +336 -0
  118. data/lib/xero-ruby/models/payroll_au/account_type.rb +23 -23
  119. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -0
  120. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +10 -7
  121. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +6 -6
  122. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +3 -3
  123. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +3 -3
  124. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +14 -4
  125. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +3 -3
  126. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +12 -10
  127. data/lib/xero-ruby/models/payroll_au/employee.rb +11 -11
  128. data/lib/xero-ruby/models/payroll_au/employee_status.rb +2 -2
  129. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +5 -5
  130. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +2 -2
  131. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +2 -2
  132. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +5 -5
  133. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +2 -2
  134. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +4 -4
  135. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +6 -5
  136. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +2 -2
  137. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +7 -7
  138. data/lib/xero-ruby/models/payroll_au/rate_type.rb +3 -3
  139. data/lib/xero-ruby/models/payroll_au/residency_status.rb +3 -3
  140. data/lib/xero-ruby/models/payroll_au/state.rb +8 -8
  141. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +2 -2
  142. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +3 -3
  143. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +4 -4
  144. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +4 -4
  145. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +5 -5
  146. data/lib/xero-ruby/models/payroll_nz/account.rb +4 -4
  147. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +2 -2
  148. data/lib/xero-ruby/models/payroll_nz/benefit.rb +5 -5
  149. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +7 -7
  150. data/lib/xero-ruby/models/payroll_nz/deduction.rb +4 -4
  151. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +18 -18
  152. data/lib/xero-ruby/models/payroll_nz/employee.rb +2 -2
  153. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +4 -4
  154. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +6 -6
  155. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +8 -8
  156. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +5 -5
  157. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +2 -2
  158. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +5 -5
  159. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +3 -3
  160. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +3 -3
  161. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +8 -8
  162. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +5 -5
  163. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +11 -11
  164. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +19 -19
  165. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +2 -2
  166. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +4 -4
  167. data/lib/xero-ruby/models/payroll_uk/account.rb +7 -7
  168. data/lib/xero-ruby/models/payroll_uk/benefit.rb +4 -4
  169. data/lib/xero-ruby/models/payroll_uk/deduction.rb +12 -12
  170. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +28 -28
  171. data/lib/xero-ruby/models/payroll_uk/employee.rb +16 -6
  172. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +4 -4
  173. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +6 -6
  174. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +8 -8
  175. data/lib/xero-ruby/models/payroll_uk/employment.rb +15 -10
  176. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +2 -2
  177. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +11 -11
  178. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +6 -6
  179. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +3 -3
  180. data/lib/xero-ruby/models/payroll_uk/payslip.rb +3 -3
  181. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +5 -5
  182. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +14 -14
  183. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +3 -3
  184. data/lib/xero-ruby/models/projects/charge_type.rb +3 -3
  185. data/lib/xero-ruby/models/projects/currency_code.rb +164 -164
  186. data/lib/xero-ruby/models/projects/project_status.rb +2 -2
  187. data/lib/xero-ruby/models/projects/task.rb +3 -3
  188. data/lib/xero-ruby/models/projects/time_entry.rb +3 -3
  189. data/lib/xero-ruby/version.rb +2 -2
  190. data/lib/xero-ruby.rb +57 -0
  191. data/spec/api_client_spec.rb +3 -0
  192. data/spec/app_store/api/app_store_api_spec.rb +1 -1
  193. data/spec/configuration_spec.rb +1 -0
  194. data/spec/finance/api/finance_api_spec.rb +156 -0
  195. data/spec/finance/models/account_usage_response_spec.rb +58 -0
  196. data/spec/finance/models/account_usage_spec.rb +112 -0
  197. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -0
  198. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -0
  199. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -0
  200. data/spec/finance/models/balance_sheet_response_spec.rb +58 -0
  201. data/spec/finance/models/bank_statement_response_spec.rb +46 -0
  202. data/spec/finance/models/cash_account_response_spec.rb +64 -0
  203. data/spec/finance/models/cash_balance_spec.rb +52 -0
  204. data/spec/finance/models/cash_validation_response_spec.rb +64 -0
  205. data/spec/finance/models/cashflow_account_spec.rb +76 -0
  206. data/spec/finance/models/cashflow_activity_spec.rb +52 -0
  207. data/spec/finance/models/cashflow_response_spec.rb +58 -0
  208. data/spec/finance/models/cashflow_type_spec.rb +52 -0
  209. data/spec/finance/models/current_statement_response_spec.rb +70 -0
  210. data/spec/finance/models/data_source_response_spec.rb +124 -0
  211. data/spec/finance/models/history_record_response_spec.rb +64 -0
  212. data/spec/finance/models/lock_history_model_spec.rb +52 -0
  213. data/spec/finance/models/lock_history_response_spec.rb +52 -0
  214. data/spec/finance/models/pnl_account_class_spec.rb +46 -0
  215. data/spec/finance/models/pnl_account_spec.rb +70 -0
  216. data/spec/finance/models/pnl_account_type_spec.rb +52 -0
  217. data/spec/finance/models/practice_response_spec.rb +64 -0
  218. data/spec/finance/models/problem_spec.rb +58 -0
  219. data/spec/finance/models/problem_type_spec.rb +34 -0
  220. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -0
  221. data/spec/finance/models/report_history_model_spec.rb +52 -0
  222. data/spec/finance/models/report_history_response_spec.rb +52 -0
  223. data/spec/finance/models/statement_balance_response_spec.rb +46 -0
  224. data/spec/finance/models/statement_lines_response_spec.rb +136 -0
  225. data/spec/finance/models/trial_balance_account_spec.rb +94 -0
  226. data/spec/finance/models/trial_balance_entry_spec.rb +46 -0
  227. data/spec/finance/models/trial_balance_movement_spec.rb +58 -0
  228. data/spec/finance/models/trial_balance_response_spec.rb +52 -0
  229. data/spec/finance/models/user_activities_response_spec.rb +52 -0
  230. data/spec/finance/models/user_response_spec.rb +106 -0
  231. metadata +134 -3
@@ -14,115 +14,115 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Accounting
16
16
  class TimeZone
17
- MOROCCOSTANDARDTIME = "MOROCCOSTANDARDTIME".freeze
18
- UTC = "UTC".freeze
19
- GMTSTANDARDTIME = "GMTSTANDARDTIME".freeze
20
- GREENWICHSTANDARDTIME = "GREENWICHSTANDARDTIME".freeze
21
- WEUROPESTANDARDTIME = "WEUROPESTANDARDTIME".freeze
22
- CENTRALEUROPESTANDARDTIME = "CENTRALEUROPESTANDARDTIME".freeze
23
- ROMANCESTANDARDTIME = "ROMANCESTANDARDTIME".freeze
24
- CENTRALEUROPEANSTANDARDTIME = "CENTRALEUROPEANSTANDARDTIME".freeze
25
- WCENTRALAFRICASTANDARDTIME = "WCENTRALAFRICASTANDARDTIME".freeze
26
- NAMIBIASTANDARDTIME = "NAMIBIASTANDARDTIME".freeze
27
- JORDANSTANDARDTIME = "JORDANSTANDARDTIME".freeze
28
- GTBSTANDARDTIME = "GTBSTANDARDTIME".freeze
29
- MIDDLEEASTSTANDARDTIME = "MIDDLEEASTSTANDARDTIME".freeze
30
- EGYPTSTANDARDTIME = "EGYPTSTANDARDTIME".freeze
31
- SYRIASTANDARDTIME = "SYRIASTANDARDTIME".freeze
32
- EEUROPESTANDARDTIME = "EEUROPESTANDARDTIME".freeze
33
- SOUTHAFRICASTANDARDTIME = "SOUTHAFRICASTANDARDTIME".freeze
34
- FLESTANDARDTIME = "FLESTANDARDTIME".freeze
35
- TURKEYSTANDARDTIME = "TURKEYSTANDARDTIME".freeze
36
- ISRAELSTANDARDTIME = "ISRAELSTANDARDTIME".freeze
37
- KALININGRADSTANDARDTIME = "KALININGRADSTANDARDTIME".freeze
38
- LIBYASTANDARDTIME = "LIBYASTANDARDTIME".freeze
39
- ARABICSTANDARDTIME = "ARABICSTANDARDTIME".freeze
40
- ARABSTANDARDTIME = "ARABSTANDARDTIME".freeze
41
- BELARUSSTANDARDTIME = "BELARUSSTANDARDTIME".freeze
42
- RUSSIANSTANDARDTIME = "RUSSIANSTANDARDTIME".freeze
43
- EAFRICASTANDARDTIME = "EAFRICASTANDARDTIME".freeze
44
- IRANSTANDARDTIME = "IRANSTANDARDTIME".freeze
45
- ARABIANSTANDARDTIME = "ARABIANSTANDARDTIME".freeze
46
- AZERBAIJANSTANDARDTIME = "AZERBAIJANSTANDARDTIME".freeze
47
- RUSSIATIMEZONE3 = "RUSSIATIMEZONE3".freeze
48
- MAURITIUSSTANDARDTIME = "MAURITIUSSTANDARDTIME".freeze
49
- GEORGIANSTANDARDTIME = "GEORGIANSTANDARDTIME".freeze
50
- CAUCASUSSTANDARDTIME = "CAUCASUSSTANDARDTIME".freeze
51
- AFGHANISTANSTANDARDTIME = "AFGHANISTANSTANDARDTIME".freeze
52
- WESTASIASTANDARDTIME = "WESTASIASTANDARDTIME".freeze
53
- EKATERINBURGSTANDARDTIME = "EKATERINBURGSTANDARDTIME".freeze
54
- PAKISTANSTANDARDTIME = "PAKISTANSTANDARDTIME".freeze
55
- INDIASTANDARDTIME = "INDIASTANDARDTIME".freeze
56
- SRILANKASTANDARDTIME = "SRILANKASTANDARDTIME".freeze
57
- NEPALSTANDARDTIME = "NEPALSTANDARDTIME".freeze
58
- CENTRALASIASTANDARDTIME = "CENTRALASIASTANDARDTIME".freeze
59
- BANGLADESHSTANDARDTIME = "BANGLADESHSTANDARDTIME".freeze
60
- NCENTRALASIASTANDARDTIME = "NCENTRALASIASTANDARDTIME".freeze
61
- MYANMARSTANDARDTIME = "MYANMARSTANDARDTIME".freeze
62
- SEASIASTANDARDTIME = "SEASIASTANDARDTIME".freeze
63
- NORTHASIASTANDARDTIME = "NORTHASIASTANDARDTIME".freeze
64
- CHINASTANDARDTIME = "CHINASTANDARDTIME".freeze
65
- NORTHASIAEASTSTANDARDTIME = "NORTHASIAEASTSTANDARDTIME".freeze
66
- SINGAPORESTANDARDTIME = "SINGAPORESTANDARDTIME".freeze
67
- WAUSTRALIASTANDARDTIME = "WAUSTRALIASTANDARDTIME".freeze
68
- TAIPEISTANDARDTIME = "TAIPEISTANDARDTIME".freeze
69
- ULAANBAATARSTANDARDTIME = "ULAANBAATARSTANDARDTIME".freeze
70
- TOKYOSTANDARDTIME = "TOKYOSTANDARDTIME".freeze
71
- KOREASTANDARDTIME = "KOREASTANDARDTIME".freeze
72
- YAKUTSKSTANDARDTIME = "YAKUTSKSTANDARDTIME".freeze
73
- CENAUSTRALIASTANDARDTIME = "CENAUSTRALIASTANDARDTIME".freeze
74
- AUSCENTRALSTANDARDTIME = "AUSCENTRALSTANDARDTIME".freeze
75
- EAUSTRALIASTANDARDTIME = "EAUSTRALIASTANDARDTIME".freeze
76
- AUSEASTERNSTANDARDTIME = "AUSEASTERNSTANDARDTIME".freeze
77
- WESTPACIFICSTANDARDTIME = "WESTPACIFICSTANDARDTIME".freeze
78
- TASMANIASTANDARDTIME = "TASMANIASTANDARDTIME".freeze
79
- MAGADANSTANDARDTIME = "MAGADANSTANDARDTIME".freeze
80
- VLADIVOSTOKSTANDARDTIME = "VLADIVOSTOKSTANDARDTIME".freeze
81
- RUSSIATIMEZONE10 = "RUSSIATIMEZONE10".freeze
82
- CENTRALPACIFICSTANDARDTIME = "CENTRALPACIFICSTANDARDTIME".freeze
83
- RUSSIATIMEZONE11 = "RUSSIATIMEZONE11".freeze
84
- NEWZEALANDSTANDARDTIME = "NEWZEALANDSTANDARDTIME".freeze
85
- UTC12 = "UTC+12".freeze
86
- UTC13 = "UTC+13".freeze
87
- FIJISTANDARDTIME = "FIJISTANDARDTIME".freeze
88
- KAMCHATKASTANDARDTIME = "KAMCHATKASTANDARDTIME".freeze
89
- TONGASTANDARDTIME = "TONGASTANDARDTIME".freeze
90
- SAMOASTANDARDTIME = "SAMOASTANDARDTIME".freeze
91
- LINEISLANDSSTANDARDTIME = "LINEISLANDSSTANDARDTIME".freeze
92
- AZORESSTANDARDTIME = "AZORESSTANDARDTIME".freeze
93
- CAPEVERDESTANDARDTIME = "CAPEVERDESTANDARDTIME".freeze
94
- UTC02 = "UTC02".freeze
95
- MIDATLANTICSTANDARDTIME = "MIDATLANTICSTANDARDTIME".freeze
96
- ESOUTHAMERICASTANDARDTIME = "ESOUTHAMERICASTANDARDTIME".freeze
97
- ARGENTINASTANDARDTIME = "ARGENTINASTANDARDTIME".freeze
98
- SAEASTERNSTANDARDTIME = "SAEASTERNSTANDARDTIME".freeze
99
- GREENLANDSTANDARDTIME = "GREENLANDSTANDARDTIME".freeze
100
- MONTEVIDEOSTANDARDTIME = "MONTEVIDEOSTANDARDTIME".freeze
101
- BAHIASTANDARDTIME = "BAHIASTANDARDTIME".freeze
102
- NEWFOUNDLANDSTANDARDTIME = "NEWFOUNDLANDSTANDARDTIME".freeze
103
- PARAGUAYSTANDARDTIME = "PARAGUAYSTANDARDTIME".freeze
104
- ATLANTICSTANDARDTIME = "ATLANTICSTANDARDTIME".freeze
105
- CENTRALBRAZILIANSTANDARDTIME = "CENTRALBRAZILIANSTANDARDTIME".freeze
106
- SAWESTERNSTANDARDTIME = "SAWESTERNSTANDARDTIME".freeze
107
- PACIFICSASTANDARDTIME = "PACIFICSASTANDARDTIME".freeze
108
- VENEZUELASTANDARDTIME = "VENEZUELASTANDARDTIME".freeze
109
- SAPACIFICSTANDARDTIME = "SAPACIFICSTANDARDTIME".freeze
110
- EASTERNSTANDARDTIME = "EASTERNSTANDARDTIME".freeze
111
- USEASTERNSTANDARDTIME = "USEASTERNSTANDARDTIME".freeze
112
- CENTRALAMERICASTANDARDTIME = "CENTRALAMERICASTANDARDTIME".freeze
113
- CENTRALSTANDARDTIME = "CENTRALSTANDARDTIME".freeze
114
- CENTRALSTANDARDTIME_MEXICO = "CENTRALSTANDARDTIME(MEXICO)".freeze
115
- CANADACENTRALSTANDARDTIME = "CANADACENTRALSTANDARDTIME".freeze
116
- USMOUNTAINSTANDARDTIME = "USMOUNTAINSTANDARDTIME".freeze
117
- MOUNTAINSTANDARDTIME_MEXICO = "MOUNTAINSTANDARDTIME(MEXICO)".freeze
118
- MOUNTAINSTANDARDTIME = "MOUNTAINSTANDARDTIME".freeze
119
- PACIFICSTANDARDTIME_MEXICO = "PACIFICSTANDARDTIME(MEXICO)".freeze
120
- PACIFICSTANDARDTIME = "PACIFICSTANDARDTIME".freeze
121
- ALASKANSTANDARDTIME = "ALASKANSTANDARDTIME".freeze
122
- HAWAIIANSTANDARDTIME = "HAWAIIANSTANDARDTIME".freeze
123
- UTC11 = "UTC11".freeze
124
- DATELINESTANDARDTIME = "DATELINESTANDARDTIME".freeze
125
- EASTERISLANDSTANDARDTIME = "EASTERISLANDSTANDARDTIME".freeze
17
+ MOROCCOSTANDARDTIME ||= "MOROCCOSTANDARDTIME".freeze
18
+ UTC ||= "UTC".freeze
19
+ GMTSTANDARDTIME ||= "GMTSTANDARDTIME".freeze
20
+ GREENWICHSTANDARDTIME ||= "GREENWICHSTANDARDTIME".freeze
21
+ WEUROPESTANDARDTIME ||= "WEUROPESTANDARDTIME".freeze
22
+ CENTRALEUROPESTANDARDTIME ||= "CENTRALEUROPESTANDARDTIME".freeze
23
+ ROMANCESTANDARDTIME ||= "ROMANCESTANDARDTIME".freeze
24
+ CENTRALEUROPEANSTANDARDTIME ||= "CENTRALEUROPEANSTANDARDTIME".freeze
25
+ WCENTRALAFRICASTANDARDTIME ||= "WCENTRALAFRICASTANDARDTIME".freeze
26
+ NAMIBIASTANDARDTIME ||= "NAMIBIASTANDARDTIME".freeze
27
+ JORDANSTANDARDTIME ||= "JORDANSTANDARDTIME".freeze
28
+ GTBSTANDARDTIME ||= "GTBSTANDARDTIME".freeze
29
+ MIDDLEEASTSTANDARDTIME ||= "MIDDLEEASTSTANDARDTIME".freeze
30
+ EGYPTSTANDARDTIME ||= "EGYPTSTANDARDTIME".freeze
31
+ SYRIASTANDARDTIME ||= "SYRIASTANDARDTIME".freeze
32
+ EEUROPESTANDARDTIME ||= "EEUROPESTANDARDTIME".freeze
33
+ SOUTHAFRICASTANDARDTIME ||= "SOUTHAFRICASTANDARDTIME".freeze
34
+ FLESTANDARDTIME ||= "FLESTANDARDTIME".freeze
35
+ TURKEYSTANDARDTIME ||= "TURKEYSTANDARDTIME".freeze
36
+ ISRAELSTANDARDTIME ||= "ISRAELSTANDARDTIME".freeze
37
+ KALININGRADSTANDARDTIME ||= "KALININGRADSTANDARDTIME".freeze
38
+ LIBYASTANDARDTIME ||= "LIBYASTANDARDTIME".freeze
39
+ ARABICSTANDARDTIME ||= "ARABICSTANDARDTIME".freeze
40
+ ARABSTANDARDTIME ||= "ARABSTANDARDTIME".freeze
41
+ BELARUSSTANDARDTIME ||= "BELARUSSTANDARDTIME".freeze
42
+ RUSSIANSTANDARDTIME ||= "RUSSIANSTANDARDTIME".freeze
43
+ EAFRICASTANDARDTIME ||= "EAFRICASTANDARDTIME".freeze
44
+ IRANSTANDARDTIME ||= "IRANSTANDARDTIME".freeze
45
+ ARABIANSTANDARDTIME ||= "ARABIANSTANDARDTIME".freeze
46
+ AZERBAIJANSTANDARDTIME ||= "AZERBAIJANSTANDARDTIME".freeze
47
+ RUSSIATIMEZONE3 ||= "RUSSIATIMEZONE3".freeze
48
+ MAURITIUSSTANDARDTIME ||= "MAURITIUSSTANDARDTIME".freeze
49
+ GEORGIANSTANDARDTIME ||= "GEORGIANSTANDARDTIME".freeze
50
+ CAUCASUSSTANDARDTIME ||= "CAUCASUSSTANDARDTIME".freeze
51
+ AFGHANISTANSTANDARDTIME ||= "AFGHANISTANSTANDARDTIME".freeze
52
+ WESTASIASTANDARDTIME ||= "WESTASIASTANDARDTIME".freeze
53
+ EKATERINBURGSTANDARDTIME ||= "EKATERINBURGSTANDARDTIME".freeze
54
+ PAKISTANSTANDARDTIME ||= "PAKISTANSTANDARDTIME".freeze
55
+ INDIASTANDARDTIME ||= "INDIASTANDARDTIME".freeze
56
+ SRILANKASTANDARDTIME ||= "SRILANKASTANDARDTIME".freeze
57
+ NEPALSTANDARDTIME ||= "NEPALSTANDARDTIME".freeze
58
+ CENTRALASIASTANDARDTIME ||= "CENTRALASIASTANDARDTIME".freeze
59
+ BANGLADESHSTANDARDTIME ||= "BANGLADESHSTANDARDTIME".freeze
60
+ NCENTRALASIASTANDARDTIME ||= "NCENTRALASIASTANDARDTIME".freeze
61
+ MYANMARSTANDARDTIME ||= "MYANMARSTANDARDTIME".freeze
62
+ SEASIASTANDARDTIME ||= "SEASIASTANDARDTIME".freeze
63
+ NORTHASIASTANDARDTIME ||= "NORTHASIASTANDARDTIME".freeze
64
+ CHINASTANDARDTIME ||= "CHINASTANDARDTIME".freeze
65
+ NORTHASIAEASTSTANDARDTIME ||= "NORTHASIAEASTSTANDARDTIME".freeze
66
+ SINGAPORESTANDARDTIME ||= "SINGAPORESTANDARDTIME".freeze
67
+ WAUSTRALIASTANDARDTIME ||= "WAUSTRALIASTANDARDTIME".freeze
68
+ TAIPEISTANDARDTIME ||= "TAIPEISTANDARDTIME".freeze
69
+ ULAANBAATARSTANDARDTIME ||= "ULAANBAATARSTANDARDTIME".freeze
70
+ TOKYOSTANDARDTIME ||= "TOKYOSTANDARDTIME".freeze
71
+ KOREASTANDARDTIME ||= "KOREASTANDARDTIME".freeze
72
+ YAKUTSKSTANDARDTIME ||= "YAKUTSKSTANDARDTIME".freeze
73
+ CENAUSTRALIASTANDARDTIME ||= "CENAUSTRALIASTANDARDTIME".freeze
74
+ AUSCENTRALSTANDARDTIME ||= "AUSCENTRALSTANDARDTIME".freeze
75
+ EAUSTRALIASTANDARDTIME ||= "EAUSTRALIASTANDARDTIME".freeze
76
+ AUSEASTERNSTANDARDTIME ||= "AUSEASTERNSTANDARDTIME".freeze
77
+ WESTPACIFICSTANDARDTIME ||= "WESTPACIFICSTANDARDTIME".freeze
78
+ TASMANIASTANDARDTIME ||= "TASMANIASTANDARDTIME".freeze
79
+ MAGADANSTANDARDTIME ||= "MAGADANSTANDARDTIME".freeze
80
+ VLADIVOSTOKSTANDARDTIME ||= "VLADIVOSTOKSTANDARDTIME".freeze
81
+ RUSSIATIMEZONE10 ||= "RUSSIATIMEZONE10".freeze
82
+ CENTRALPACIFICSTANDARDTIME ||= "CENTRALPACIFICSTANDARDTIME".freeze
83
+ RUSSIATIMEZONE11 ||= "RUSSIATIMEZONE11".freeze
84
+ NEWZEALANDSTANDARDTIME ||= "NEWZEALANDSTANDARDTIME".freeze
85
+ UTC12 ||= "UTC+12".freeze
86
+ UTC13 ||= "UTC+13".freeze
87
+ FIJISTANDARDTIME ||= "FIJISTANDARDTIME".freeze
88
+ KAMCHATKASTANDARDTIME ||= "KAMCHATKASTANDARDTIME".freeze
89
+ TONGASTANDARDTIME ||= "TONGASTANDARDTIME".freeze
90
+ SAMOASTANDARDTIME ||= "SAMOASTANDARDTIME".freeze
91
+ LINEISLANDSSTANDARDTIME ||= "LINEISLANDSSTANDARDTIME".freeze
92
+ AZORESSTANDARDTIME ||= "AZORESSTANDARDTIME".freeze
93
+ CAPEVERDESTANDARDTIME ||= "CAPEVERDESTANDARDTIME".freeze
94
+ UTC02 ||= "UTC02".freeze
95
+ MIDATLANTICSTANDARDTIME ||= "MIDATLANTICSTANDARDTIME".freeze
96
+ ESOUTHAMERICASTANDARDTIME ||= "ESOUTHAMERICASTANDARDTIME".freeze
97
+ ARGENTINASTANDARDTIME ||= "ARGENTINASTANDARDTIME".freeze
98
+ SAEASTERNSTANDARDTIME ||= "SAEASTERNSTANDARDTIME".freeze
99
+ GREENLANDSTANDARDTIME ||= "GREENLANDSTANDARDTIME".freeze
100
+ MONTEVIDEOSTANDARDTIME ||= "MONTEVIDEOSTANDARDTIME".freeze
101
+ BAHIASTANDARDTIME ||= "BAHIASTANDARDTIME".freeze
102
+ NEWFOUNDLANDSTANDARDTIME ||= "NEWFOUNDLANDSTANDARDTIME".freeze
103
+ PARAGUAYSTANDARDTIME ||= "PARAGUAYSTANDARDTIME".freeze
104
+ ATLANTICSTANDARDTIME ||= "ATLANTICSTANDARDTIME".freeze
105
+ CENTRALBRAZILIANSTANDARDTIME ||= "CENTRALBRAZILIANSTANDARDTIME".freeze
106
+ SAWESTERNSTANDARDTIME ||= "SAWESTERNSTANDARDTIME".freeze
107
+ PACIFICSASTANDARDTIME ||= "PACIFICSASTANDARDTIME".freeze
108
+ VENEZUELASTANDARDTIME ||= "VENEZUELASTANDARDTIME".freeze
109
+ SAPACIFICSTANDARDTIME ||= "SAPACIFICSTANDARDTIME".freeze
110
+ EASTERNSTANDARDTIME ||= "EASTERNSTANDARDTIME".freeze
111
+ USEASTERNSTANDARDTIME ||= "USEASTERNSTANDARDTIME".freeze
112
+ CENTRALAMERICASTANDARDTIME ||= "CENTRALAMERICASTANDARDTIME".freeze
113
+ CENTRALSTANDARDTIME ||= "CENTRALSTANDARDTIME".freeze
114
+ CENTRALSTANDARDTIME_MEXICO ||= "CENTRALSTANDARDTIME(MEXICO)".freeze
115
+ CANADACENTRALSTANDARDTIME ||= "CANADACENTRALSTANDARDTIME".freeze
116
+ USMOUNTAINSTANDARDTIME ||= "USMOUNTAINSTANDARDTIME".freeze
117
+ MOUNTAINSTANDARDTIME_MEXICO ||= "MOUNTAINSTANDARDTIME(MEXICO)".freeze
118
+ MOUNTAINSTANDARDTIME ||= "MOUNTAINSTANDARDTIME".freeze
119
+ PACIFICSTANDARDTIME_MEXICO ||= "PACIFICSTANDARDTIME(MEXICO)".freeze
120
+ PACIFICSTANDARDTIME ||= "PACIFICSTANDARDTIME".freeze
121
+ ALASKANSTANDARDTIME ||= "ALASKANSTANDARDTIME".freeze
122
+ HAWAIIANSTANDARDTIME ||= "HAWAIIANSTANDARDTIME".freeze
123
+ UTC11 ||= "UTC11".freeze
124
+ DATELINESTANDARDTIME ||= "DATELINESTANDARDTIME".freeze
125
+ EASTERISLANDSTANDARDTIME ||= "EASTERISLANDSTANDARDTIME".freeze
126
126
 
127
127
  # Builds the enum from string
128
128
  # @param [String] The enum value in the form of the string
@@ -30,9 +30,9 @@ module XeroRuby::Accounting
30
30
 
31
31
  # The status of a tracking category
32
32
  attr_accessor :status
33
- ACTIVE = "ACTIVE".freeze
34
- ARCHIVED = "ARCHIVED".freeze
35
- DELETED = "DELETED".freeze
33
+ ACTIVE ||= "ACTIVE".freeze
34
+ ARCHIVED ||= "ARCHIVED".freeze
35
+ DELETED ||= "DELETED".freeze
36
36
 
37
37
  # See Tracking Options
38
38
  attr_accessor :options
@@ -24,9 +24,9 @@ module XeroRuby::Accounting
24
24
 
25
25
  # The status of a tracking option
26
26
  attr_accessor :status
27
- ACTIVE = "ACTIVE".freeze
28
- ARCHIVED = "ARCHIVED".freeze
29
- DELETED = "DELETED".freeze
27
+ ACTIVE ||= "ACTIVE".freeze
28
+ ARCHIVED ||= "ARCHIVED".freeze
29
+ DELETED ||= "DELETED".freeze
30
30
 
31
31
  # Filter by a tracking category e.g. 297c2dc5-cc47-4afd-8ec8-74990b8761e9
32
32
  attr_accessor :tracking_category_id
@@ -36,13 +36,13 @@ module XeroRuby::Accounting
36
36
 
37
37
  # User role that defines permissions in Xero and via API (READONLY, INVOICEONLY, STANDARD, FINANCIALADVISER, etc)
38
38
  attr_accessor :organisation_role
39
- READONLY = "READONLY".freeze
40
- INVOICEONLY = "INVOICEONLY".freeze
41
- STANDARD = "STANDARD".freeze
42
- FINANCIALADVISER = "FINANCIALADVISER".freeze
43
- MANAGEDCLIENT = "MANAGEDCLIENT".freeze
44
- CASHBOOKCLIENT = "CASHBOOKCLIENT".freeze
45
- UNKNOWN = "UNKNOWN".freeze
39
+ READONLY ||= "READONLY".freeze
40
+ INVOICEONLY ||= "INVOICEONLY".freeze
41
+ STANDARD ||= "STANDARD".freeze
42
+ FINANCIALADVISER ||= "FINANCIALADVISER".freeze
43
+ MANAGEDCLIENT ||= "MANAGEDCLIENT".freeze
44
+ CASHBOOKCLIENT ||= "CASHBOOKCLIENT".freeze
45
+ UNKNOWN ||= "UNKNOWN".freeze
46
46
 
47
47
  class EnumAttributeValidator
48
48
  attr_reader :datatype
@@ -22,10 +22,11 @@ module XeroRuby::AppStore
22
22
  # The name of the plan. It is used in the invoice line item description.
23
23
  attr_accessor :name
24
24
 
25
- # Status of the plan. Available statuses are ACTIVE, PENDING_ACTIVATION.
25
+ # Status of the plan. Available statuses are ACTIVE, CANCELED, and PENDING_ACTIVATION.
26
26
  attr_accessor :status
27
- ACTIVE = "ACTIVE".freeze
28
- PENDING_ACTIVATION = "PENDING_ACTIVATION".freeze
27
+ ACTIVE ||= "ACTIVE".freeze
28
+ CANCELED ||= "CANCELED".freeze
29
+ PENDING_ACTIVATION ||= "PENDING_ACTIVATION".freeze
29
30
 
30
31
  # List of the subscription items belonging to the plan. It does not include cancelled subscription items.
31
32
  attr_accessor :subscription_items
@@ -135,7 +136,7 @@ module XeroRuby::AppStore
135
136
  return false if @id.nil?
136
137
  return false if @name.nil?
137
138
  return false if @status.nil?
138
- status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "PENDING_ACTIVATION"])
139
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PENDING_ACTIVATION"])
139
140
  return false unless status_validator.valid?(@status)
140
141
  return false if @subscription_items.nil?
141
142
  true
@@ -144,7 +145,7 @@ module XeroRuby::AppStore
144
145
  # Custom attribute writer method checking allowed values (enum).
145
146
  # @param [Object] status Object to be assigned
146
147
  def status=(status)
147
- validator = EnumAttributeValidator.new('String', ["ACTIVE", "PENDING_ACTIVATION"])
148
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PENDING_ACTIVATION"])
148
149
  unless validator.valid?(status)
149
150
  fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
150
151
  end
@@ -22,10 +22,17 @@ module XeroRuby::AppStore
22
22
  # The name of the product
23
23
  attr_accessor :name
24
24
 
25
- # The pricing model of the product: * FIXED: Customers are charged a fixed amount for each billing period * PER_SEAT: Customers are charged based on the number of units they purchase
25
+ # The unit of the per seat product. e.g. \"user\", \"organisation\", \"SMS\", etc
26
+ attr_accessor :seat_unit
27
+
28
+ # The pricing model of the product: * FIXED: Customers are charged a fixed amount for each billing period * PER_SEAT: Customers are charged based on the number of units they purchase * METERED: Customers are charged per use of this product
26
29
  attr_accessor :type
27
- FIXED = "FIXED".freeze
28
- PER_SEAT = "PER_SEAT".freeze
30
+ FIXED ||= "FIXED".freeze
31
+ PER_SEAT ||= "PER_SEAT".freeze
32
+ METERED ||= "METERED".freeze
33
+
34
+ # The unit of the usage product. e.g. \"user\", \"minutes\", \"SMS\", etc
35
+ attr_accessor :usage_unit
29
36
 
30
37
  class EnumAttributeValidator
31
38
  attr_reader :datatype
@@ -54,7 +61,9 @@ module XeroRuby::AppStore
54
61
  {
55
62
  :'id' => :'id',
56
63
  :'name' => :'name',
57
- :'type' => :'type'
64
+ :'seat_unit' => :'seatUnit',
65
+ :'type' => :'type',
66
+ :'usage_unit' => :'usageUnit'
58
67
  }
59
68
  end
60
69
 
@@ -63,7 +72,9 @@ module XeroRuby::AppStore
63
72
  {
64
73
  :'id' => :'String',
65
74
  :'name' => :'String',
66
- :'type' => :'String'
75
+ :'seat_unit' => :'String',
76
+ :'type' => :'String',
77
+ :'usage_unit' => :'String'
67
78
  }
68
79
  end
69
80
 
@@ -90,9 +101,17 @@ module XeroRuby::AppStore
90
101
  self.name = attributes[:'name']
91
102
  end
92
103
 
104
+ if attributes.key?(:'seat_unit')
105
+ self.seat_unit = attributes[:'seat_unit']
106
+ end
107
+
93
108
  if attributes.key?(:'type')
94
109
  self.type = attributes[:'type']
95
110
  end
111
+
112
+ if attributes.key?(:'usage_unit')
113
+ self.usage_unit = attributes[:'usage_unit']
114
+ end
96
115
  end
97
116
 
98
117
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -105,7 +124,7 @@ module XeroRuby::AppStore
105
124
  # Check to see if the all the properties in the model are valid
106
125
  # @return true if the model is valid
107
126
  def valid?
108
- type_validator = EnumAttributeValidator.new('String', ["FIXED", "PER_SEAT"])
127
+ type_validator = EnumAttributeValidator.new('String', ["FIXED", "PER_SEAT", "METERED"])
109
128
  return false unless type_validator.valid?(@type)
110
129
  true
111
130
  end
@@ -113,7 +132,7 @@ module XeroRuby::AppStore
113
132
  # Custom attribute writer method checking allowed values (enum).
114
133
  # @param [Object] type Object to be assigned
115
134
  def type=(type)
116
- validator = EnumAttributeValidator.new('String', ["FIXED", "PER_SEAT"])
135
+ validator = EnumAttributeValidator.new('String', ["FIXED", "PER_SEAT", "METERED"])
117
136
  unless validator.valid?(type)
118
137
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
119
138
  end
@@ -127,7 +146,9 @@ module XeroRuby::AppStore
127
146
  self.class == o.class &&
128
147
  id == o.id &&
129
148
  name == o.name &&
130
- type == o.type
149
+ seat_unit == o.seat_unit &&
150
+ type == o.type &&
151
+ usage_unit == o.usage_unit
131
152
  end
132
153
 
133
154
  # @see the `==` method
@@ -139,7 +160,7 @@ module XeroRuby::AppStore
139
160
  # Calculates hash code according to all attributes.
140
161
  # @return [Integer] Hash code
141
162
  def hash
142
- [id, name, type].hash
163
+ [id, name, seat_unit, type, usage_unit].hash
143
164
  end
144
165
 
145
166
  # Builds the object from hash
@@ -36,10 +36,35 @@ module XeroRuby::AppStore
36
36
 
37
37
  # Status of the subscription. Available statuses are ACTIVE, CANCELED, and PAST_DUE.
38
38
  attr_accessor :status
39
+ ACTIVE ||= "ACTIVE".freeze
40
+ CANCELED ||= "CANCELED".freeze
41
+ PAST_DUE ||= "PAST_DUE".freeze
39
42
 
40
43
  # Boolean used to indicate if the subscription is in test mode
41
44
  attr_accessor :test_mode
42
45
 
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
43
68
  # Attribute mapping from ruby-style variable name to JSON key.
44
69
  def self.attribute_map
45
70
  {
@@ -158,9 +183,21 @@ module XeroRuby::AppStore
158
183
  return false if @plans.nil?
159
184
  return false if @start_date.nil?
160
185
  return false if @status.nil?
186
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PAST_DUE"])
187
+ return false unless status_validator.valid?(@status)
161
188
  true
162
189
  end
163
190
 
191
+ # Custom attribute writer method checking allowed values (enum).
192
+ # @param [Object] status Object to be assigned
193
+ def status=(status)
194
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PAST_DUE"])
195
+ unless validator.valid?(status)
196
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
197
+ end
198
+ @status = status
199
+ end
200
+
164
201
  # Checks equality by comparing each attribute.
165
202
  # @param [Object] Object to be compared
166
203
  def ==(o)
@@ -28,12 +28,43 @@ module XeroRuby::AppStore
28
28
 
29
29
  attr_accessor :product
30
30
 
31
+ # The quantity of the item. For a fixed product, it is 1. For a per-seat product, it is a positive integer. For metered products, it is always null.
32
+ attr_accessor :quantity
33
+
31
34
  # Date the subscription started, or will start. Note: this could be in the future for downgrades or reduced number of seats that haven't taken effect yet.
32
35
  attr_accessor :start_date
33
36
 
37
+ # Status of the subscription item. Available statuses are ACTIVE, CANCELED, and PENDING_ACTIVATION.
38
+ attr_accessor :status
39
+ ACTIVE ||= "ACTIVE".freeze
40
+ CANCELED ||= "CANCELED".freeze
41
+ PENDING_ACTIVATION ||= "PENDING_ACTIVATION".freeze
42
+
34
43
  # If the subscription is a test subscription
35
44
  attr_accessor :test_mode
36
45
 
46
+ class EnumAttributeValidator
47
+ attr_reader :datatype
48
+ attr_reader :allowable_values
49
+
50
+ def initialize(datatype, allowable_values)
51
+ @allowable_values = allowable_values.map do |value|
52
+ case datatype.to_s
53
+ when /Integer/i
54
+ value.to_i
55
+ when /Float/i
56
+ value.to_f
57
+ else
58
+ value
59
+ end
60
+ end
61
+ end
62
+
63
+ def valid?(value)
64
+ !value || allowable_values.include?(value)
65
+ end
66
+ end
67
+
37
68
  # Attribute mapping from ruby-style variable name to JSON key.
38
69
  def self.attribute_map
39
70
  {
@@ -41,7 +72,9 @@ module XeroRuby::AppStore
41
72
  :'id' => :'id',
42
73
  :'price' => :'price',
43
74
  :'product' => :'product',
75
+ :'quantity' => :'quantity',
44
76
  :'start_date' => :'startDate',
77
+ :'status' => :'status',
45
78
  :'test_mode' => :'testMode'
46
79
  }
47
80
  end
@@ -53,7 +86,9 @@ module XeroRuby::AppStore
53
86
  :'id' => :'String',
54
87
  :'price' => :'Price',
55
88
  :'product' => :'Product',
89
+ :'quantity' => :'Integer',
56
90
  :'start_date' => :'DateTime',
91
+ :'status' => :'String',
57
92
  :'test_mode' => :'Boolean'
58
93
  }
59
94
  end
@@ -89,10 +124,18 @@ module XeroRuby::AppStore
89
124
  self.product = attributes[:'product']
90
125
  end
91
126
 
127
+ if attributes.key?(:'quantity')
128
+ self.quantity = attributes[:'quantity']
129
+ end
130
+
92
131
  if attributes.key?(:'start_date')
93
132
  self.start_date = attributes[:'start_date']
94
133
  end
95
134
 
135
+ if attributes.key?(:'status')
136
+ self.status = attributes[:'status']
137
+ end
138
+
96
139
  if attributes.key?(:'test_mode')
97
140
  self.test_mode = attributes[:'test_mode']
98
141
  end
@@ -118,6 +161,10 @@ module XeroRuby::AppStore
118
161
  invalid_properties.push('invalid value for "start_date", start_date cannot be nil.')
119
162
  end
120
163
 
164
+ if @status.nil?
165
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
166
+ end
167
+
121
168
  invalid_properties
122
169
  end
123
170
 
@@ -128,9 +175,22 @@ module XeroRuby::AppStore
128
175
  return false if @price.nil?
129
176
  return false if @product.nil?
130
177
  return false if @start_date.nil?
178
+ return false if @status.nil?
179
+ status_validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PENDING_ACTIVATION"])
180
+ return false unless status_validator.valid?(@status)
131
181
  true
132
182
  end
133
183
 
184
+ # Custom attribute writer method checking allowed values (enum).
185
+ # @param [Object] status Object to be assigned
186
+ def status=(status)
187
+ validator = EnumAttributeValidator.new('String', ["ACTIVE", "CANCELED", "PENDING_ACTIVATION"])
188
+ unless validator.valid?(status)
189
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
190
+ end
191
+ @status = status
192
+ end
193
+
134
194
  # Checks equality by comparing each attribute.
135
195
  # @param [Object] Object to be compared
136
196
  def ==(o)
@@ -140,7 +200,9 @@ module XeroRuby::AppStore
140
200
  id == o.id &&
141
201
  price == o.price &&
142
202
  product == o.product &&
203
+ quantity == o.quantity &&
143
204
  start_date == o.start_date &&
205
+ status == o.status &&
144
206
  test_mode == o.test_mode
145
207
  end
146
208
 
@@ -153,7 +215,7 @@ module XeroRuby::AppStore
153
215
  # Calculates hash code according to all attributes.
154
216
  # @return [Integer] Hash code
155
217
  def hash
156
- [end_date, id, price, product, start_date, test_mode].hash
218
+ [end_date, id, price, product, quantity, start_date, status, test_mode].hash
157
219
  end
158
220
 
159
221
  # Builds the object from hash
@@ -14,9 +14,9 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Assets
16
16
  class AssetStatus
17
- DRAFT = "Draft".freeze
18
- REGISTERED = "Registered".freeze
19
- DISPOSED = "Disposed".freeze
17
+ DRAFT ||= "Draft".freeze
18
+ REGISTERED ||= "Registered".freeze
19
+ DISPOSED ||= "Disposed".freeze
20
20
 
21
21
  # Builds the enum from string
22
22
  # @param [String] The enum value in the form of the string
@@ -14,9 +14,9 @@ require 'date'
14
14
 
15
15
  module XeroRuby::Assets
16
16
  class AssetStatusQueryParam
17
- DRAFT = "DRAFT".freeze
18
- REGISTERED = "REGISTERED".freeze
19
- DISPOSED = "DISPOSED".freeze
17
+ DRAFT ||= "DRAFT".freeze
18
+ REGISTERED ||= "REGISTERED".freeze
19
+ DISPOSED ||= "DISPOSED".freeze
20
20
 
21
21
  # Builds the enum from string
22
22
  # @param [String] The enum value in the form of the string