xero-ruby 3.3.0 → 3.9.0

Sign up to get free protection for your applications and to get access to all the features.
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