order_cloud 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +476 -0
  4. data/Rakefile +31 -0
  5. data/docs/AccessToken.md +10 -0
  6. data/docs/Address.md +20 -0
  7. data/docs/AddressApi.md +520 -0
  8. data/docs/AddressAssignment.md +12 -0
  9. data/docs/AdminAddressApi.md +324 -0
  10. data/docs/AdminCompany.md +10 -0
  11. data/docs/AdminModelOnView.md +7 -0
  12. data/docs/AdminUserApi.md +323 -0
  13. data/docs/ApprovalRule.md +20 -0
  14. data/docs/ApprovalRuleApi.md +342 -0
  15. data/docs/BaseSpec.md +15 -0
  16. data/docs/Buyer.md +11 -0
  17. data/docs/BuyerAddress.md +11 -0
  18. data/docs/BuyerApi.md +324 -0
  19. data/docs/BuyerCreditCard.md +9 -0
  20. data/docs/BuyerProduct.md +9 -0
  21. data/docs/BuyerSpec.md +9 -0
  22. data/docs/Category.md +15 -0
  23. data/docs/CategoryApi.md +684 -0
  24. data/docs/CategoryAssignment.md +10 -0
  25. data/docs/CategoryProductAssignment.md +10 -0
  26. data/docs/CostCenter.md +11 -0
  27. data/docs/CostCenterApi.md +516 -0
  28. data/docs/CostCenterAssignment.md +10 -0
  29. data/docs/CreditCard.md +15 -0
  30. data/docs/CreditCardApi.md +516 -0
  31. data/docs/CreditCardAssignment.md +10 -0
  32. data/docs/EmailTemplate.md +12 -0
  33. data/docs/EmailTemplateApi.md +223 -0
  34. data/docs/File.md +10 -0
  35. data/docs/FileApi.md +162 -0
  36. data/docs/ImpersonateTokenRequest.md +9 -0
  37. data/docs/Inventory.md +12 -0
  38. data/docs/LineItem.md +23 -0
  39. data/docs/LineItemApi.md +478 -0
  40. data/docs/LineItemSpec.md +11 -0
  41. data/docs/ListAddress.md +9 -0
  42. data/docs/ListAddressAssignment.md +9 -0
  43. data/docs/ListAdminCompany.md +9 -0
  44. data/docs/ListApiClient.md +9 -0
  45. data/docs/ListApprovalRule.md +9 -0
  46. data/docs/ListBuyer.md +9 -0
  47. data/docs/ListBuyerAddress.md +9 -0
  48. data/docs/ListBuyerCreditCard.md +9 -0
  49. data/docs/ListBuyerProduct.md +9 -0
  50. data/docs/ListBuyerSpec.md +9 -0
  51. data/docs/ListCategory.md +9 -0
  52. data/docs/ListCategoryAssignment.md +9 -0
  53. data/docs/ListCategoryProductAssignment.md +9 -0
  54. data/docs/ListCostCenter.md +9 -0
  55. data/docs/ListCostCenterAssignment.md +9 -0
  56. data/docs/ListCreditCard.md +9 -0
  57. data/docs/ListCreditCardAssignment.md +9 -0
  58. data/docs/ListDevAccessibleCompany.md +9 -0
  59. data/docs/ListFile.md +9 -0
  60. data/docs/ListInventory.md +9 -0
  61. data/docs/ListLineItem.md +9 -0
  62. data/docs/ListOrder.md +9 -0
  63. data/docs/ListOrderApproval.md +9 -0
  64. data/docs/ListOrderPromotion.md +9 -0
  65. data/docs/ListPayment.md +9 -0
  66. data/docs/ListPriceSchedule.md +9 -0
  67. data/docs/ListProduct.md +9 -0
  68. data/docs/ListProductAssignment.md +9 -0
  69. data/docs/ListPromotion.md +9 -0
  70. data/docs/ListPromotionAssignment.md +9 -0
  71. data/docs/ListSecurityProfile.md +9 -0
  72. data/docs/ListSecurityProfileAssignment.md +9 -0
  73. data/docs/ListShipment.md +9 -0
  74. data/docs/ListSpec.md +9 -0
  75. data/docs/ListSpecOption.md +9 -0
  76. data/docs/ListSpecProductAssignment.md +9 -0
  77. data/docs/ListSpendingAccount.md +9 -0
  78. data/docs/ListSpendingAccountAssignment.md +9 -0
  79. data/docs/ListUser.md +9 -0
  80. data/docs/ListUserGroup.md +9 -0
  81. data/docs/ListUserGroupAssignment.md +9 -0
  82. data/docs/ListVariant.md +9 -0
  83. data/docs/ListWebHook.md +9 -0
  84. data/docs/ListWebHookRoute.md +9 -0
  85. data/docs/ListXpIndex.md +9 -0
  86. data/docs/MeApi.md +1488 -0
  87. data/docs/Meta.md +12 -0
  88. data/docs/Order.md +31 -0
  89. data/docs/OrderApi.md +1277 -0
  90. data/docs/OrderApproval.md +16 -0
  91. data/docs/OrderPromotion.md +8 -0
  92. data/docs/PasswordReset.md +10 -0
  93. data/docs/PasswordResetApi.md +109 -0
  94. data/docs/PasswordResetRequest.md +11 -0
  95. data/docs/Payment.md +16 -0
  96. data/docs/PaymentApi.md +601 -0
  97. data/docs/PaymentTransaction.md +15 -0
  98. data/docs/PingResponse.md +8 -0
  99. data/docs/PriceBreak.md +9 -0
  100. data/docs/PriceSchedule.md +18 -0
  101. data/docs/PriceScheduleApi.md +429 -0
  102. data/docs/Product.md +22 -0
  103. data/docs/ProductApi.md +1115 -0
  104. data/docs/ProductAssignment.md +13 -0
  105. data/docs/Promotion.md +21 -0
  106. data/docs/PromotionApi.md +495 -0
  107. data/docs/PromotionAssignment.md +11 -0
  108. data/docs/SecurityProfile.md +11 -0
  109. data/docs/SecurityProfileApi.md +290 -0
  110. data/docs/SecurityProfileAssignment.md +11 -0
  111. data/docs/Shipment.md +14 -0
  112. data/docs/ShipmentApi.md +459 -0
  113. data/docs/ShipmentItem.md +10 -0
  114. data/docs/Spec.md +8 -0
  115. data/docs/SpecApi.md +816 -0
  116. data/docs/SpecOption.md +14 -0
  117. data/docs/SpecProductAssignment.md +10 -0
  118. data/docs/SpendingAccount.md +15 -0
  119. data/docs/SpendingAccountApi.md +516 -0
  120. data/docs/SpendingAccountAssignment.md +11 -0
  121. data/docs/User.md +17 -0
  122. data/docs/UserApi.md +399 -0
  123. data/docs/UserGroup.md +11 -0
  124. data/docs/UserGroupApi.md +508 -0
  125. data/docs/UserGroupAssignment.md +9 -0
  126. data/docs/Variant.md +12 -0
  127. data/docs/WebHook.md +18 -0
  128. data/docs/WebHookRoute.md +10 -0
  129. data/docs/XpIndex.md +9 -0
  130. data/git_push.sh +67 -0
  131. data/lib/order_cloud.rb +176 -0
  132. data/lib/order_cloud/api/address_api.rb +628 -0
  133. data/lib/order_cloud/api/admin_address_api.rb +397 -0
  134. data/lib/order_cloud/api/admin_user_api.rb +396 -0
  135. data/lib/order_cloud/api/approval_rule_api.rb +421 -0
  136. data/lib/order_cloud/api/buyer_api.rb +397 -0
  137. data/lib/order_cloud/api/category_api.rb +817 -0
  138. data/lib/order_cloud/api/cost_center_api.rb +622 -0
  139. data/lib/order_cloud/api/credit_card_api.rb +622 -0
  140. data/lib/order_cloud/api/email_template_api.rb +283 -0
  141. data/lib/order_cloud/api/file_api.rb +206 -0
  142. data/lib/order_cloud/api/line_item_api.rb +583 -0
  143. data/lib/order_cloud/api/me_api.rb +1747 -0
  144. data/lib/order_cloud/api/order_api.rb +1509 -0
  145. data/lib/order_cloud/api/password_reset_api.rb +150 -0
  146. data/lib/order_cloud/api/payment_api.rb +728 -0
  147. data/lib/order_cloud/api/price_schedule_api.rb +519 -0
  148. data/lib/order_cloud/api/product_api.rb +1311 -0
  149. data/lib/order_cloud/api/promotion_api.rb +596 -0
  150. data/lib/order_cloud/api/security_profile_api.rb +361 -0
  151. data/lib/order_cloud/api/shipment_api.rb +558 -0
  152. data/lib/order_cloud/api/spec_api.rb +965 -0
  153. data/lib/order_cloud/api/spending_account_api.rb +622 -0
  154. data/lib/order_cloud/api/user_api.rb +488 -0
  155. data/lib/order_cloud/api/user_group_api.rb +613 -0
  156. data/lib/order_cloud/api_auth.rb +99 -0
  157. data/lib/order_cloud/api_client.rb +385 -0
  158. data/lib/order_cloud/api_error.rb +47 -0
  159. data/lib/order_cloud/configuration.rb +244 -0
  160. data/lib/order_cloud/models/access_token.rb +217 -0
  161. data/lib/order_cloud/models/address.rb +307 -0
  162. data/lib/order_cloud/models/address_assignment.rb +235 -0
  163. data/lib/order_cloud/models/admin_company.rb +217 -0
  164. data/lib/order_cloud/models/admin_model_on_view.rb +190 -0
  165. data/lib/order_cloud/models/approval_rule.rb +307 -0
  166. data/lib/order_cloud/models/base_spec.rb +262 -0
  167. data/lib/order_cloud/models/buyer.rb +226 -0
  168. data/lib/order_cloud/models/buyer_address.rb +226 -0
  169. data/lib/order_cloud/models/buyer_credit_card.rb +208 -0
  170. data/lib/order_cloud/models/buyer_product.rb +208 -0
  171. data/lib/order_cloud/models/buyer_spec.rb +210 -0
  172. data/lib/order_cloud/models/category.rb +262 -0
  173. data/lib/order_cloud/models/category_assignment.rb +217 -0
  174. data/lib/order_cloud/models/category_product_assignment.rb +217 -0
  175. data/lib/order_cloud/models/cost_center.rb +226 -0
  176. data/lib/order_cloud/models/cost_center_assignment.rb +217 -0
  177. data/lib/order_cloud/models/credit_card.rb +262 -0
  178. data/lib/order_cloud/models/credit_card_assignment.rb +217 -0
  179. data/lib/order_cloud/models/email_template.rb +235 -0
  180. data/lib/order_cloud/models/file.rb +217 -0
  181. data/lib/order_cloud/models/impersonate_token_request.rb +208 -0
  182. data/lib/order_cloud/models/inventory.rb +235 -0
  183. data/lib/order_cloud/models/line_item.rb +336 -0
  184. data/lib/order_cloud/models/line_item_spec.rb +226 -0
  185. data/lib/order_cloud/models/list_address.rb +210 -0
  186. data/lib/order_cloud/models/list_address_assignment.rb +210 -0
  187. data/lib/order_cloud/models/list_admin_company.rb +210 -0
  188. data/lib/order_cloud/models/list_api_client.rb +210 -0
  189. data/lib/order_cloud/models/list_approval_rule.rb +210 -0
  190. data/lib/order_cloud/models/list_buyer.rb +210 -0
  191. data/lib/order_cloud/models/list_buyer_address.rb +210 -0
  192. data/lib/order_cloud/models/list_buyer_credit_card.rb +210 -0
  193. data/lib/order_cloud/models/list_buyer_product.rb +210 -0
  194. data/lib/order_cloud/models/list_buyer_spec.rb +210 -0
  195. data/lib/order_cloud/models/list_category.rb +210 -0
  196. data/lib/order_cloud/models/list_category_assignment.rb +210 -0
  197. data/lib/order_cloud/models/list_category_product_assignment.rb +210 -0
  198. data/lib/order_cloud/models/list_cost_center.rb +210 -0
  199. data/lib/order_cloud/models/list_cost_center_assignment.rb +210 -0
  200. data/lib/order_cloud/models/list_credit_card.rb +210 -0
  201. data/lib/order_cloud/models/list_credit_card_assignment.rb +210 -0
  202. data/lib/order_cloud/models/list_dev_accessible_company.rb +210 -0
  203. data/lib/order_cloud/models/list_file.rb +210 -0
  204. data/lib/order_cloud/models/list_inventory.rb +210 -0
  205. data/lib/order_cloud/models/list_line_item.rb +210 -0
  206. data/lib/order_cloud/models/list_order.rb +210 -0
  207. data/lib/order_cloud/models/list_order_approval.rb +210 -0
  208. data/lib/order_cloud/models/list_order_promotion.rb +210 -0
  209. data/lib/order_cloud/models/list_payment.rb +210 -0
  210. data/lib/order_cloud/models/list_price_schedule.rb +210 -0
  211. data/lib/order_cloud/models/list_product.rb +210 -0
  212. data/lib/order_cloud/models/list_product_assignment.rb +210 -0
  213. data/lib/order_cloud/models/list_promotion.rb +210 -0
  214. data/lib/order_cloud/models/list_promotion_assignment.rb +210 -0
  215. data/lib/order_cloud/models/list_security_profile.rb +210 -0
  216. data/lib/order_cloud/models/list_security_profile_assignment.rb +210 -0
  217. data/lib/order_cloud/models/list_shipment.rb +210 -0
  218. data/lib/order_cloud/models/list_spec.rb +210 -0
  219. data/lib/order_cloud/models/list_spec_option.rb +210 -0
  220. data/lib/order_cloud/models/list_spec_product_assignment.rb +210 -0
  221. data/lib/order_cloud/models/list_spending_account.rb +210 -0
  222. data/lib/order_cloud/models/list_spending_account_assignment.rb +210 -0
  223. data/lib/order_cloud/models/list_user.rb +210 -0
  224. data/lib/order_cloud/models/list_user_group.rb +210 -0
  225. data/lib/order_cloud/models/list_user_group_assignment.rb +210 -0
  226. data/lib/order_cloud/models/list_variant.rb +210 -0
  227. data/lib/order_cloud/models/list_web_hook.rb +210 -0
  228. data/lib/order_cloud/models/list_web_hook_route.rb +210 -0
  229. data/lib/order_cloud/models/list_xp_index.rb +210 -0
  230. data/lib/order_cloud/models/meta.rb +237 -0
  231. data/lib/order_cloud/models/order.rb +406 -0
  232. data/lib/order_cloud/models/order_approval.rb +271 -0
  233. data/lib/order_cloud/models/order_promotion.rb +199 -0
  234. data/lib/order_cloud/models/password_reset.rb +217 -0
  235. data/lib/order_cloud/models/password_reset_request.rb +226 -0
  236. data/lib/order_cloud/models/payment.rb +273 -0
  237. data/lib/order_cloud/models/payment_transaction.rb +262 -0
  238. data/lib/order_cloud/models/ping_response.rb +199 -0
  239. data/lib/order_cloud/models/price_break.rb +208 -0
  240. data/lib/order_cloud/models/price_schedule.rb +291 -0
  241. data/lib/order_cloud/models/product.rb +325 -0
  242. data/lib/order_cloud/models/product_assignment.rb +244 -0
  243. data/lib/order_cloud/models/promotion.rb +316 -0
  244. data/lib/order_cloud/models/promotion_assignment.rb +226 -0
  245. data/lib/order_cloud/models/security_profile.rb +228 -0
  246. data/lib/order_cloud/models/security_profile_assignment.rb +226 -0
  247. data/lib/order_cloud/models/shipment.rb +255 -0
  248. data/lib/order_cloud/models/shipment_item.rb +217 -0
  249. data/lib/order_cloud/models/spec.rb +199 -0
  250. data/lib/order_cloud/models/spec_option.rb +253 -0
  251. data/lib/order_cloud/models/spec_product_assignment.rb +217 -0
  252. data/lib/order_cloud/models/spending_account.rb +262 -0
  253. data/lib/order_cloud/models/spending_account_assignment.rb +226 -0
  254. data/lib/order_cloud/models/user.rb +280 -0
  255. data/lib/order_cloud/models/user_group.rb +226 -0
  256. data/lib/order_cloud/models/user_group_assignment.rb +208 -0
  257. data/lib/order_cloud/models/variant.rb +235 -0
  258. data/lib/order_cloud/models/web_hook.rb +289 -0
  259. data/lib/order_cloud/models/web_hook_route.rb +217 -0
  260. data/lib/order_cloud/models/xp_index.rb +208 -0
  261. data/lib/order_cloud/version.rb +26 -0
  262. data/order_cloud.gemspec +56 -0
  263. data/spec/api/address_api_spec.rb +179 -0
  264. data/spec/api/admin_address_api_spec.rb +125 -0
  265. data/spec/api/admin_user_api_spec.rb +125 -0
  266. data/spec/api/approval_rule_api_spec.rb +131 -0
  267. data/spec/api/buyer_api_spec.rb +125 -0
  268. data/spec/api/category_api_spec.rb +221 -0
  269. data/spec/api/cost_center_api_spec.rb +177 -0
  270. data/spec/api/credit_card_api_spec.rb +177 -0
  271. data/spec/api/email_template_api_spec.rb +100 -0
  272. data/spec/api/file_api_spec.rb +83 -0
  273. data/spec/api/line_item_api_spec.rb +167 -0
  274. data/spec/api/me_api_spec.rb +431 -0
  275. data/spec/api/order_api_spec.rb +375 -0
  276. data/spec/api/password_reset_api_spec.rb +71 -0
  277. data/spec/api/payment_api_spec.rb +199 -0
  278. data/spec/api/price_schedule_api_spec.rb +151 -0
  279. data/spec/api/product_api_spec.rb +330 -0
  280. data/spec/api/promotion_api_spec.rb +170 -0
  281. data/spec/api/security_profile_api_spec.rb +120 -0
  282. data/spec/api/shipment_api_spec.rb +161 -0
  283. data/spec/api/spec_api_spec.rb +250 -0
  284. data/spec/api/spending_account_api_spec.rb +177 -0
  285. data/spec/api/user_api_spec.rb +146 -0
  286. data/spec/api/user_group_api_spec.rb +174 -0
  287. data/spec/api_auth_spec.rb +165 -0
  288. data/spec/api_client_spec.rb +237 -0
  289. data/spec/configuration_spec.rb +80 -0
  290. data/spec/models/access_token_spec.rb +65 -0
  291. data/spec/models/address_assignment_spec.rb +77 -0
  292. data/spec/models/address_spec.rb +125 -0
  293. data/spec/models/admin_company_spec.rb +65 -0
  294. data/spec/models/admin_model_on_view_spec.rb +47 -0
  295. data/spec/models/approval_rule_spec.rb +125 -0
  296. data/spec/models/base_spec_spec.rb +95 -0
  297. data/spec/models/buyer_address_spec.rb +71 -0
  298. data/spec/models/buyer_credit_card_spec.rb +59 -0
  299. data/spec/models/buyer_product_spec.rb +59 -0
  300. data/spec/models/buyer_spec.rb +71 -0
  301. data/spec/models/buyer_spec_spec.rb +59 -0
  302. data/spec/models/category_assignment_spec.rb +65 -0
  303. data/spec/models/category_product_assignment_spec.rb +65 -0
  304. data/spec/models/category_spec.rb +95 -0
  305. data/spec/models/cost_center_assignment_spec.rb +65 -0
  306. data/spec/models/cost_center_spec.rb +71 -0
  307. data/spec/models/credit_card_assignment_spec.rb +65 -0
  308. data/spec/models/credit_card_spec.rb +95 -0
  309. data/spec/models/email_template_spec.rb +77 -0
  310. data/spec/models/file_spec.rb +65 -0
  311. data/spec/models/impersonate_token_request_spec.rb +59 -0
  312. data/spec/models/inventory_spec.rb +77 -0
  313. data/spec/models/line_item_spec.rb +143 -0
  314. data/spec/models/line_item_spec_spec.rb +71 -0
  315. data/spec/models/list_address_assignment_spec.rb +59 -0
  316. data/spec/models/list_address_spec.rb +59 -0
  317. data/spec/models/list_admin_company_spec.rb +59 -0
  318. data/spec/models/list_api_client_spec.rb +59 -0
  319. data/spec/models/list_approval_rule_spec.rb +59 -0
  320. data/spec/models/list_buyer_address_spec.rb +59 -0
  321. data/spec/models/list_buyer_credit_card_spec.rb +59 -0
  322. data/spec/models/list_buyer_product_spec.rb +59 -0
  323. data/spec/models/list_buyer_spec.rb +59 -0
  324. data/spec/models/list_buyer_spec_spec.rb +59 -0
  325. data/spec/models/list_category_assignment_spec.rb +59 -0
  326. data/spec/models/list_category_product_assignment_spec.rb +59 -0
  327. data/spec/models/list_category_spec.rb +59 -0
  328. data/spec/models/list_cost_center_assignment_spec.rb +59 -0
  329. data/spec/models/list_cost_center_spec.rb +59 -0
  330. data/spec/models/list_credit_card_assignment_spec.rb +59 -0
  331. data/spec/models/list_credit_card_spec.rb +59 -0
  332. data/spec/models/list_dev_accessible_company_spec.rb +59 -0
  333. data/spec/models/list_file_spec.rb +59 -0
  334. data/spec/models/list_inventory_spec.rb +59 -0
  335. data/spec/models/list_line_item_spec.rb +59 -0
  336. data/spec/models/list_order_approval_spec.rb +59 -0
  337. data/spec/models/list_order_promotion_spec.rb +59 -0
  338. data/spec/models/list_order_spec.rb +59 -0
  339. data/spec/models/list_payment_spec.rb +59 -0
  340. data/spec/models/list_price_schedule_spec.rb +59 -0
  341. data/spec/models/list_product_assignment_spec.rb +59 -0
  342. data/spec/models/list_product_spec.rb +59 -0
  343. data/spec/models/list_promotion_assignment_spec.rb +59 -0
  344. data/spec/models/list_promotion_spec.rb +59 -0
  345. data/spec/models/list_security_profile_assignment_spec.rb +59 -0
  346. data/spec/models/list_security_profile_spec.rb +59 -0
  347. data/spec/models/list_shipment_spec.rb +59 -0
  348. data/spec/models/list_spec_option_spec.rb +59 -0
  349. data/spec/models/list_spec_product_assignment_spec.rb +59 -0
  350. data/spec/models/list_spec_spec.rb +59 -0
  351. data/spec/models/list_spending_account_assignment_spec.rb +59 -0
  352. data/spec/models/list_spending_account_spec.rb +59 -0
  353. data/spec/models/list_user_group_assignment_spec.rb +59 -0
  354. data/spec/models/list_user_group_spec.rb +59 -0
  355. data/spec/models/list_user_spec.rb +59 -0
  356. data/spec/models/list_variant_spec.rb +59 -0
  357. data/spec/models/list_web_hook_route_spec.rb +59 -0
  358. data/spec/models/list_web_hook_spec.rb +59 -0
  359. data/spec/models/list_xp_index_spec.rb +59 -0
  360. data/spec/models/meta_spec.rb +77 -0
  361. data/spec/models/order_approval_spec.rb +101 -0
  362. data/spec/models/order_promotion_spec.rb +53 -0
  363. data/spec/models/order_spec.rb +191 -0
  364. data/spec/models/password_reset_request_spec.rb +71 -0
  365. data/spec/models/password_reset_spec.rb +65 -0
  366. data/spec/models/payment_spec.rb +101 -0
  367. data/spec/models/payment_transaction_spec.rb +95 -0
  368. data/spec/models/ping_response_spec.rb +53 -0
  369. data/spec/models/price_break_spec.rb +59 -0
  370. data/spec/models/price_schedule_spec.rb +113 -0
  371. data/spec/models/product_assignment_spec.rb +83 -0
  372. data/spec/models/product_spec.rb +137 -0
  373. data/spec/models/promotion_assignment_spec.rb +71 -0
  374. data/spec/models/promotion_spec.rb +131 -0
  375. data/spec/models/security_profile_assignment_spec.rb +71 -0
  376. data/spec/models/security_profile_spec.rb +71 -0
  377. data/spec/models/shipment_item_spec.rb +65 -0
  378. data/spec/models/shipment_spec.rb +89 -0
  379. data/spec/models/spec_option_spec.rb +89 -0
  380. data/spec/models/spec_product_assignment_spec.rb +65 -0
  381. data/spec/models/spec_spec.rb +53 -0
  382. data/spec/models/spending_account_assignment_spec.rb +71 -0
  383. data/spec/models/spending_account_spec.rb +95 -0
  384. data/spec/models/user_group_assignment_spec.rb +59 -0
  385. data/spec/models/user_group_spec.rb +71 -0
  386. data/spec/models/user_spec.rb +107 -0
  387. data/spec/models/variant_spec.rb +77 -0
  388. data/spec/models/web_hook_route_spec.rb +65 -0
  389. data/spec/models/web_hook_spec.rb +113 -0
  390. data/spec/models/xp_index_spec.rb +59 -0
  391. data/spec/spec_helper.rb +122 -0
  392. metadata +757 -0
@@ -0,0 +1,217 @@
1
+ =begin
2
+ #OrderCloud
3
+
4
+ #A full ecommerce backend as a service.
5
+
6
+ OpenAPI spec version: 1.0
7
+ Contact: ordercloud@four51.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module OrderCloud
27
+
28
+ class AdminCompany
29
+ attr_accessor :name
30
+
31
+ attr_accessor :id
32
+
33
+ attr_accessor :owner_dev_id
34
+
35
+
36
+ # Attribute mapping from ruby-style variable name to JSON key.
37
+ def self.attribute_map
38
+ {
39
+ :'name' => :'Name',
40
+ :'id' => :'ID',
41
+ :'owner_dev_id' => :'OwnerDevID'
42
+ }
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.swagger_types
47
+ {
48
+ :'name' => :'String',
49
+ :'id' => :'String',
50
+ :'owner_dev_id' => :'Integer'
51
+ }
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ return unless attributes.is_a?(Hash)
58
+
59
+ # convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
61
+
62
+ if attributes.has_key?(:'Name')
63
+ self.name = attributes[:'Name']
64
+ end
65
+
66
+ if attributes.has_key?(:'ID')
67
+ self.id = attributes[:'ID']
68
+ end
69
+
70
+ if attributes.has_key?(:'OwnerDevID')
71
+ self.owner_dev_id = attributes[:'OwnerDevID']
72
+ end
73
+
74
+ end
75
+
76
+ # Show invalid properties with the reasons. Usually used together with valid?
77
+ # @return Array for valid properies with the reasons
78
+ def list_invalid_properties
79
+ invalid_properties = Array.new
80
+ return invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ return true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ name == o.name &&
95
+ id == o.id &&
96
+ owner_dev_id == o.owner_dev_id
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Fixnum] Hash code
107
+ def hash
108
+ [name, id, owner_dev_id].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def build_from_hash(attributes)
115
+ return nil unless attributes.is_a?(Hash)
116
+ self.class.swagger_types.each_pair do |key, type|
117
+ if type =~ /^Array<(.*)>/i
118
+ # check to ensure the input is an array given that the the attribute
119
+ # is documented as an array but the input is not
120
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
121
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
122
+ end
123
+ elsif !attributes[self.class.attribute_map[key]].nil?
124
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
126
+ end
127
+
128
+ self
129
+ end
130
+
131
+ # Deserializes the data based on type
132
+ # @param string type Data type
133
+ # @param string value Value to be deserialized
134
+ # @return [Object] Deserialized data
135
+ def _deserialize(type, value)
136
+ case type.to_sym
137
+ when :DateTime
138
+ DateTime.parse(value)
139
+ when :Date
140
+ Date.parse(value)
141
+ when :String
142
+ value.to_s
143
+ when :Integer
144
+ value.to_i
145
+ when :Float
146
+ value.to_f
147
+ when :BOOLEAN
148
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
149
+ true
150
+ else
151
+ false
152
+ end
153
+ when :Object
154
+ # generic object (usually a Hash), return directly
155
+ value
156
+ when /\AArray<(?<inner_type>.+)>\z/
157
+ inner_type = Regexp.last_match[:inner_type]
158
+ value.map { |v| _deserialize(inner_type, v) }
159
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
160
+ k_type = Regexp.last_match[:k_type]
161
+ v_type = Regexp.last_match[:v_type]
162
+ {}.tap do |hash|
163
+ value.each do |k, v|
164
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
165
+ end
166
+ end
167
+ else # model
168
+ temp_model = OrderCloud.const_get(type).new
169
+ temp_model.build_from_hash(value)
170
+ end
171
+ end
172
+
173
+ # Returns the string representation of the object
174
+ # @return [String] String presentation of the object
175
+ def to_s
176
+ to_hash.to_s
177
+ end
178
+
179
+ # to_body is an alias to to_hash (backward compatibility)
180
+ # @return [Hash] Returns the object in the form of hash
181
+ def to_body
182
+ to_hash
183
+ end
184
+
185
+ # Returns the object in the form of hash
186
+ # @return [Hash] Returns the object in the form of hash
187
+ def to_hash
188
+ hash = {}
189
+ self.class.attribute_map.each_pair do |attr, param|
190
+ value = self.send(attr)
191
+ next if value.nil?
192
+ hash[param] = _to_hash(value)
193
+ end
194
+ hash
195
+ end
196
+
197
+ # Outputs non-array value in the form of hash
198
+ # For object, use to_hash. Otherwise, just return the value
199
+ # @param [Object] value Any valid value
200
+ # @return [Hash] Returns the value in the form of hash
201
+ def _to_hash(value)
202
+ if value.is_a?(Array)
203
+ value.compact.map{ |v| _to_hash(v) }
204
+ elsif value.is_a?(Hash)
205
+ {}.tap do |hash|
206
+ value.each { |k, v| hash[k] = _to_hash(v) }
207
+ end
208
+ elsif value.respond_to? :to_hash
209
+ value.to_hash
210
+ else
211
+ value
212
+ end
213
+ end
214
+
215
+ end
216
+
217
+ end
@@ -0,0 +1,190 @@
1
+ =begin
2
+ #OrderCloud
3
+
4
+ #A full ecommerce backend as a service.
5
+
6
+ OpenAPI spec version: 1.0
7
+ Contact: ordercloud@four51.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module OrderCloud
27
+
28
+ class AdminModelOnView
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.swagger_types
38
+ {
39
+ }
40
+ end
41
+
42
+ # Initializes the object
43
+ # @param [Hash] attributes Model attributes in the form of hash
44
+ def initialize(attributes = {})
45
+ return unless attributes.is_a?(Hash)
46
+
47
+ # convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
49
+
50
+ end
51
+
52
+ # Show invalid properties with the reasons. Usually used together with valid?
53
+ # @return Array for valid properies with the reasons
54
+ def list_invalid_properties
55
+ invalid_properties = Array.new
56
+ return invalid_properties
57
+ end
58
+
59
+ # Check to see if the all the properties in the model are valid
60
+ # @return true if the model is valid
61
+ def valid?
62
+ return true
63
+ end
64
+
65
+ # Checks equality by comparing each attribute.
66
+ # @param [Object] Object to be compared
67
+ def ==(o)
68
+ return true if self.equal?(o)
69
+ self.class == o.class
70
+ end
71
+
72
+ # @see the `==` method
73
+ # @param [Object] Object to be compared
74
+ def eql?(o)
75
+ self == o
76
+ end
77
+
78
+ # Calculates hash code according to all attributes.
79
+ # @return [Fixnum] Hash code
80
+ def hash
81
+ [].hash
82
+ end
83
+
84
+ # Builds the object from hash
85
+ # @param [Hash] attributes Model attributes in the form of hash
86
+ # @return [Object] Returns the model itself
87
+ def build_from_hash(attributes)
88
+ return nil unless attributes.is_a?(Hash)
89
+ self.class.swagger_types.each_pair do |key, type|
90
+ if type =~ /^Array<(.*)>/i
91
+ # check to ensure the input is an array given that the the attribute
92
+ # is documented as an array but the input is not
93
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
94
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
95
+ end
96
+ elsif !attributes[self.class.attribute_map[key]].nil?
97
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
98
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
99
+ end
100
+
101
+ self
102
+ end
103
+
104
+ # Deserializes the data based on type
105
+ # @param string type Data type
106
+ # @param string value Value to be deserialized
107
+ # @return [Object] Deserialized data
108
+ def _deserialize(type, value)
109
+ case type.to_sym
110
+ when :DateTime
111
+ DateTime.parse(value)
112
+ when :Date
113
+ Date.parse(value)
114
+ when :String
115
+ value.to_s
116
+ when :Integer
117
+ value.to_i
118
+ when :Float
119
+ value.to_f
120
+ when :BOOLEAN
121
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
122
+ true
123
+ else
124
+ false
125
+ end
126
+ when :Object
127
+ # generic object (usually a Hash), return directly
128
+ value
129
+ when /\AArray<(?<inner_type>.+)>\z/
130
+ inner_type = Regexp.last_match[:inner_type]
131
+ value.map { |v| _deserialize(inner_type, v) }
132
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
133
+ k_type = Regexp.last_match[:k_type]
134
+ v_type = Regexp.last_match[:v_type]
135
+ {}.tap do |hash|
136
+ value.each do |k, v|
137
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
138
+ end
139
+ end
140
+ else # model
141
+ temp_model = OrderCloud.const_get(type).new
142
+ temp_model.build_from_hash(value)
143
+ end
144
+ end
145
+
146
+ # Returns the string representation of the object
147
+ # @return [String] String presentation of the object
148
+ def to_s
149
+ to_hash.to_s
150
+ end
151
+
152
+ # to_body is an alias to to_hash (backward compatibility)
153
+ # @return [Hash] Returns the object in the form of hash
154
+ def to_body
155
+ to_hash
156
+ end
157
+
158
+ # Returns the object in the form of hash
159
+ # @return [Hash] Returns the object in the form of hash
160
+ def to_hash
161
+ hash = {}
162
+ self.class.attribute_map.each_pair do |attr, param|
163
+ value = self.send(attr)
164
+ next if value.nil?
165
+ hash[param] = _to_hash(value)
166
+ end
167
+ hash
168
+ end
169
+
170
+ # Outputs non-array value in the form of hash
171
+ # For object, use to_hash. Otherwise, just return the value
172
+ # @param [Object] value Any valid value
173
+ # @return [Hash] Returns the value in the form of hash
174
+ def _to_hash(value)
175
+ if value.is_a?(Array)
176
+ value.compact.map{ |v| _to_hash(v) }
177
+ elsif value.is_a?(Hash)
178
+ {}.tap do |hash|
179
+ value.each { |k, v| hash[k] = _to_hash(v) }
180
+ end
181
+ elsif value.respond_to? :to_hash
182
+ value.to_hash
183
+ else
184
+ value
185
+ end
186
+ end
187
+
188
+ end
189
+
190
+ end
@@ -0,0 +1,307 @@
1
+ =begin
2
+ #OrderCloud
3
+
4
+ #A full ecommerce backend as a service.
5
+
6
+ OpenAPI spec version: 1.0
7
+ Contact: ordercloud@four51.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module OrderCloud
27
+
28
+ class ApprovalRule
29
+ attr_accessor :id
30
+
31
+ attr_accessor :name
32
+
33
+ attr_accessor :description
34
+
35
+ attr_accessor :approving_group_id
36
+
37
+ attr_accessor :rule_expression
38
+
39
+ attr_accessor :scope
40
+
41
+ attr_accessor :scope_time_unit
42
+
43
+ attr_accessor :scope_time_number
44
+
45
+ attr_accessor :scope_start_date
46
+
47
+ attr_accessor :expire_after_time_unit
48
+
49
+ attr_accessor :expire_after_number
50
+
51
+ attr_accessor :approve_on_expire
52
+
53
+ attr_accessor :xp
54
+
55
+
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ :'id' => :'ID',
60
+ :'name' => :'Name',
61
+ :'description' => :'Description',
62
+ :'approving_group_id' => :'ApprovingGroupID',
63
+ :'rule_expression' => :'RuleExpression',
64
+ :'scope' => :'Scope',
65
+ :'scope_time_unit' => :'ScopeTimeUnit',
66
+ :'scope_time_number' => :'ScopeTimeNumber',
67
+ :'scope_start_date' => :'ScopeStartDate',
68
+ :'expire_after_time_unit' => :'ExpireAfterTimeUnit',
69
+ :'expire_after_number' => :'ExpireAfterNumber',
70
+ :'approve_on_expire' => :'ApproveOnExpire',
71
+ :'xp' => :'xp'
72
+ }
73
+ end
74
+
75
+ # Attribute type mapping.
76
+ def self.swagger_types
77
+ {
78
+ :'id' => :'String',
79
+ :'name' => :'String',
80
+ :'description' => :'String',
81
+ :'approving_group_id' => :'String',
82
+ :'rule_expression' => :'String',
83
+ :'scope' => :'String',
84
+ :'scope_time_unit' => :'String',
85
+ :'scope_time_number' => :'Integer',
86
+ :'scope_start_date' => :'String',
87
+ :'expire_after_time_unit' => :'String',
88
+ :'expire_after_number' => :'Integer',
89
+ :'approve_on_expire' => :'BOOLEAN',
90
+ :'xp' => :'Object'
91
+ }
92
+ end
93
+
94
+ # Initializes the object
95
+ # @param [Hash] attributes Model attributes in the form of hash
96
+ def initialize(attributes = {})
97
+ return unless attributes.is_a?(Hash)
98
+
99
+ # convert string to symbol for hash key
100
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
101
+
102
+ if attributes.has_key?(:'ID')
103
+ self.id = attributes[:'ID']
104
+ end
105
+
106
+ if attributes.has_key?(:'Name')
107
+ self.name = attributes[:'Name']
108
+ end
109
+
110
+ if attributes.has_key?(:'Description')
111
+ self.description = attributes[:'Description']
112
+ end
113
+
114
+ if attributes.has_key?(:'ApprovingGroupID')
115
+ self.approving_group_id = attributes[:'ApprovingGroupID']
116
+ end
117
+
118
+ if attributes.has_key?(:'RuleExpression')
119
+ self.rule_expression = attributes[:'RuleExpression']
120
+ end
121
+
122
+ if attributes.has_key?(:'Scope')
123
+ self.scope = attributes[:'Scope']
124
+ end
125
+
126
+ if attributes.has_key?(:'ScopeTimeUnit')
127
+ self.scope_time_unit = attributes[:'ScopeTimeUnit']
128
+ end
129
+
130
+ if attributes.has_key?(:'ScopeTimeNumber')
131
+ self.scope_time_number = attributes[:'ScopeTimeNumber']
132
+ end
133
+
134
+ if attributes.has_key?(:'ScopeStartDate')
135
+ self.scope_start_date = attributes[:'ScopeStartDate']
136
+ end
137
+
138
+ if attributes.has_key?(:'ExpireAfterTimeUnit')
139
+ self.expire_after_time_unit = attributes[:'ExpireAfterTimeUnit']
140
+ end
141
+
142
+ if attributes.has_key?(:'ExpireAfterNumber')
143
+ self.expire_after_number = attributes[:'ExpireAfterNumber']
144
+ end
145
+
146
+ if attributes.has_key?(:'ApproveOnExpire')
147
+ self.approve_on_expire = attributes[:'ApproveOnExpire']
148
+ end
149
+
150
+ if attributes.has_key?(:'xp')
151
+ self.xp = attributes[:'xp']
152
+ end
153
+
154
+ end
155
+
156
+ # Show invalid properties with the reasons. Usually used together with valid?
157
+ # @return Array for valid properies with the reasons
158
+ def list_invalid_properties
159
+ invalid_properties = Array.new
160
+ return invalid_properties
161
+ end
162
+
163
+ # Check to see if the all the properties in the model are valid
164
+ # @return true if the model is valid
165
+ def valid?
166
+ return true
167
+ end
168
+
169
+ # Checks equality by comparing each attribute.
170
+ # @param [Object] Object to be compared
171
+ def ==(o)
172
+ return true if self.equal?(o)
173
+ self.class == o.class &&
174
+ id == o.id &&
175
+ name == o.name &&
176
+ description == o.description &&
177
+ approving_group_id == o.approving_group_id &&
178
+ rule_expression == o.rule_expression &&
179
+ scope == o.scope &&
180
+ scope_time_unit == o.scope_time_unit &&
181
+ scope_time_number == o.scope_time_number &&
182
+ scope_start_date == o.scope_start_date &&
183
+ expire_after_time_unit == o.expire_after_time_unit &&
184
+ expire_after_number == o.expire_after_number &&
185
+ approve_on_expire == o.approve_on_expire &&
186
+ xp == o.xp
187
+ end
188
+
189
+ # @see the `==` method
190
+ # @param [Object] Object to be compared
191
+ def eql?(o)
192
+ self == o
193
+ end
194
+
195
+ # Calculates hash code according to all attributes.
196
+ # @return [Fixnum] Hash code
197
+ def hash
198
+ [id, name, description, approving_group_id, rule_expression, scope, scope_time_unit, scope_time_number, scope_start_date, expire_after_time_unit, expire_after_number, approve_on_expire, xp].hash
199
+ end
200
+
201
+ # Builds the object from hash
202
+ # @param [Hash] attributes Model attributes in the form of hash
203
+ # @return [Object] Returns the model itself
204
+ def build_from_hash(attributes)
205
+ return nil unless attributes.is_a?(Hash)
206
+ self.class.swagger_types.each_pair do |key, type|
207
+ if type =~ /^Array<(.*)>/i
208
+ # check to ensure the input is an array given that the the attribute
209
+ # is documented as an array but the input is not
210
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
211
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
212
+ end
213
+ elsif !attributes[self.class.attribute_map[key]].nil?
214
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
215
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
216
+ end
217
+
218
+ self
219
+ end
220
+
221
+ # Deserializes the data based on type
222
+ # @param string type Data type
223
+ # @param string value Value to be deserialized
224
+ # @return [Object] Deserialized data
225
+ def _deserialize(type, value)
226
+ case type.to_sym
227
+ when :DateTime
228
+ DateTime.parse(value)
229
+ when :Date
230
+ Date.parse(value)
231
+ when :String
232
+ value.to_s
233
+ when :Integer
234
+ value.to_i
235
+ when :Float
236
+ value.to_f
237
+ when :BOOLEAN
238
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
239
+ true
240
+ else
241
+ false
242
+ end
243
+ when :Object
244
+ # generic object (usually a Hash), return directly
245
+ value
246
+ when /\AArray<(?<inner_type>.+)>\z/
247
+ inner_type = Regexp.last_match[:inner_type]
248
+ value.map { |v| _deserialize(inner_type, v) }
249
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
250
+ k_type = Regexp.last_match[:k_type]
251
+ v_type = Regexp.last_match[:v_type]
252
+ {}.tap do |hash|
253
+ value.each do |k, v|
254
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
255
+ end
256
+ end
257
+ else # model
258
+ temp_model = OrderCloud.const_get(type).new
259
+ temp_model.build_from_hash(value)
260
+ end
261
+ end
262
+
263
+ # Returns the string representation of the object
264
+ # @return [String] String presentation of the object
265
+ def to_s
266
+ to_hash.to_s
267
+ end
268
+
269
+ # to_body is an alias to to_hash (backward compatibility)
270
+ # @return [Hash] Returns the object in the form of hash
271
+ def to_body
272
+ to_hash
273
+ end
274
+
275
+ # Returns the object in the form of hash
276
+ # @return [Hash] Returns the object in the form of hash
277
+ def to_hash
278
+ hash = {}
279
+ self.class.attribute_map.each_pair do |attr, param|
280
+ value = self.send(attr)
281
+ next if value.nil?
282
+ hash[param] = _to_hash(value)
283
+ end
284
+ hash
285
+ end
286
+
287
+ # Outputs non-array value in the form of hash
288
+ # For object, use to_hash. Otherwise, just return the value
289
+ # @param [Object] value Any valid value
290
+ # @return [Hash] Returns the value in the form of hash
291
+ def _to_hash(value)
292
+ if value.is_a?(Array)
293
+ value.compact.map{ |v| _to_hash(v) }
294
+ elsif value.is_a?(Hash)
295
+ {}.tap do |hash|
296
+ value.each { |k, v| hash[k] = _to_hash(v) }
297
+ end
298
+ elsif value.respond_to? :to_hash
299
+ value.to_hash
300
+ else
301
+ value
302
+ end
303
+ end
304
+
305
+ end
306
+
307
+ end