propertyware 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (392) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +27 -0
  3. data/.github/workflows/publish.yml +48 -0
  4. data/.gitignore +39 -0
  5. data/.openapi-generator/FILES +375 -0
  6. data/.openapi-generator/VERSION +1 -0
  7. data/.openapi-generator/templates/ruby-client/gemspec.mustache +37 -0
  8. data/.openapi-generator/templates/ruby-client/partial_model_generic.mustache +371 -0
  9. data/.openapi-generator/templates/ruby-client/rubocop.mustache +124 -0
  10. data/.openapi-generator-ignore +23 -0
  11. data/.rspec +2 -0
  12. data/.rubocop.yml +124 -0
  13. data/CUSTOMIZATIONS.md +11 -0
  14. data/DOCS.md +673 -0
  15. data/Gemfile +9 -0
  16. data/Gemfile.lock +76 -0
  17. data/README.md +93 -0
  18. data/Rakefile +10 -0
  19. data/bin/CUSTOMIZATIONS.md +11 -0
  20. data/bin/README.md +93 -0
  21. data/bin/config.yml +7 -0
  22. data/bin/fix_json.rb +59 -0
  23. data/bin/propertyware.json +1 -0
  24. data/bin/rebuild.sh +31 -0
  25. data/docs/Account.md +84 -0
  26. data/docs/AccountingApi.md +1235 -0
  27. data/docs/Address.md +28 -0
  28. data/docs/Amenity.md +24 -0
  29. data/docs/AutoJournalEntry.md +46 -0
  30. data/docs/AutoPayment.md +42 -0
  31. data/docs/Bank.md +52 -0
  32. data/docs/BankDeposit.md +32 -0
  33. data/docs/BasicVendor.md +40 -0
  34. data/docs/Bill.md +54 -0
  35. data/docs/BillPaid.md +24 -0
  36. data/docs/BillPay.md +20 -0
  37. data/docs/BillPayment.md +46 -0
  38. data/docs/BillSplit.md +42 -0
  39. data/docs/BillsApi.md +1391 -0
  40. data/docs/Building.md +116 -0
  41. data/docs/BuildingsApi.md +1037 -0
  42. data/docs/Campaign.md +60 -0
  43. data/docs/CampaignSource.md +26 -0
  44. data/docs/Charge.md +36 -0
  45. data/docs/ChargeTx.md +52 -0
  46. data/docs/Check.md +48 -0
  47. data/docs/CheckSplit.md +30 -0
  48. data/docs/Comment.md +28 -0
  49. data/docs/Contact.md +74 -0
  50. data/docs/ContactsApi.md +783 -0
  51. data/docs/Conversation.md +36 -0
  52. data/docs/CreditCardAccount.md +18 -0
  53. data/docs/CurrentAsset.md +30 -0
  54. data/docs/CurrentLiability.md +30 -0
  55. data/docs/CustomField.md +24 -0
  56. data/docs/Discount.md +40 -0
  57. data/docs/Document.md +40 -0
  58. data/docs/DocumentsApi.md +267 -0
  59. data/docs/Entry.md +34 -0
  60. data/docs/Equity.md +32 -0
  61. data/docs/ErrorResponse.md +22 -0
  62. data/docs/Expense.md +32 -0
  63. data/docs/GLItem.md +40 -0
  64. data/docs/HealthCheckApi.md +86 -0
  65. data/docs/Income.md +34 -0
  66. data/docs/Inspection.md +46 -0
  67. data/docs/InspectionArea.md +22 -0
  68. data/docs/InspectionItem.md +24 -0
  69. data/docs/InspectionsApi.md +193 -0
  70. data/docs/JournalEntry.md +36 -0
  71. data/docs/JournalEntrySplit.md +24 -0
  72. data/docs/JournalEntrySplitResponse.md +24 -0
  73. data/docs/LateFeeRule.md +26 -0
  74. data/docs/Lease.md +76 -0
  75. data/docs/LeaseClause.md +22 -0
  76. data/docs/LeaseContact.md +36 -0
  77. data/docs/LeasesApi.md +3319 -0
  78. data/docs/ManagementFee.md +30 -0
  79. data/docs/ManagementSettings.md +26 -0
  80. data/docs/Marketing.md +62 -0
  81. data/docs/NonCurrentAsset.md +26 -0
  82. data/docs/NonCurrentLiability.md +30 -0
  83. data/docs/NonOperatingExpense.md +32 -0
  84. data/docs/NonOperatingInome.md +32 -0
  85. data/docs/Note.md +28 -0
  86. data/docs/Owner.md +38 -0
  87. data/docs/OwnerContribution.md +44 -0
  88. data/docs/OwnerDraw.md +44 -0
  89. data/docs/Payment.md +50 -0
  90. data/docs/PaymentCharge.md +36 -0
  91. data/docs/Portfolio.md +60 -0
  92. data/docs/PortfoliosApi.md +701 -0
  93. data/docs/PropertyManager.md +26 -0
  94. data/docs/Prospect.md +114 -0
  95. data/docs/ProspectsApi.md +789 -0
  96. data/docs/RESTAPIBulkErrorResponse.md +22 -0
  97. data/docs/RESTAPIBulkSuccessResponse.md +18 -0
  98. data/docs/RESTAPIError.md +20 -0
  99. data/docs/Refund.md +44 -0
  100. data/docs/ResponseEntity.md +20 -0
  101. data/docs/SaveAccount.md +52 -0
  102. data/docs/SaveAddress.md +28 -0
  103. data/docs/SaveAdjustment.md +26 -0
  104. data/docs/SaveAutoCharge.md +28 -0
  105. data/docs/SaveBankDeposit.md +20 -0
  106. data/docs/SaveBill.md +42 -0
  107. data/docs/SaveBillPayment.md +30 -0
  108. data/docs/SaveBillSplit.md +36 -0
  109. data/docs/SaveBuilding.md +84 -0
  110. data/docs/SaveCharge.md +28 -0
  111. data/docs/SaveCheck.md +30 -0
  112. data/docs/SaveCheckSplit.md +30 -0
  113. data/docs/SaveComment.md +18 -0
  114. data/docs/SaveContact.md +60 -0
  115. data/docs/SaveConversation.md +20 -0
  116. data/docs/SaveCredit.md +26 -0
  117. data/docs/SaveDiscount.md +28 -0
  118. data/docs/SaveJournalEntrySplit.md +22 -0
  119. data/docs/SaveLease.md +50 -0
  120. data/docs/SaveLeaseJournalEntry.md +26 -0
  121. data/docs/SaveOwner.md +36 -0
  122. data/docs/SaveOwnerContribution.md +34 -0
  123. data/docs/SaveOwnerDraw.md +34 -0
  124. data/docs/SavePayment.md +34 -0
  125. data/docs/SavePortfolio.md +38 -0
  126. data/docs/SaveProspect.md +76 -0
  127. data/docs/SaveProspectContact.md +36 -0
  128. data/docs/SaveRefund.md +34 -0
  129. data/docs/SaveUnit.md +60 -0
  130. data/docs/SaveVendor.md +46 -0
  131. data/docs/SaveWorkOrder.md +36 -0
  132. data/docs/SaveWorkOrderTask.md +30 -0
  133. data/docs/SplitPaid.md +34 -0
  134. data/docs/SplitPay.md +20 -0
  135. data/docs/Task.md +42 -0
  136. data/docs/Transaction.md +54 -0
  137. data/docs/Unit.md +96 -0
  138. data/docs/UnitsApi.md +875 -0
  139. data/docs/UpdateLeaseJournalEntry.md +26 -0
  140. data/docs/Vendor.md +76 -0
  141. data/docs/VendorsApi.md +617 -0
  142. data/docs/WorkOrder.md +78 -0
  143. data/docs/WorkOrdersApi.md +883 -0
  144. data/lib/propertyware/api/accounting_api.rb +1041 -0
  145. data/lib/propertyware/api/bills_api.rb +1182 -0
  146. data/lib/propertyware/api/buildings_api.rb +863 -0
  147. data/lib/propertyware/api/contacts_api.rb +666 -0
  148. data/lib/propertyware/api/documents_api.rb +235 -0
  149. data/lib/propertyware/api/health_check_api.rb +79 -0
  150. data/lib/propertyware/api/inspections_api.rb +172 -0
  151. data/lib/propertyware/api/leases_api.rb +2787 -0
  152. data/lib/propertyware/api/portfolios_api.rb +599 -0
  153. data/lib/propertyware/api/prospects_api.rb +671 -0
  154. data/lib/propertyware/api/units_api.rb +740 -0
  155. data/lib/propertyware/api/vendors_api.rb +522 -0
  156. data/lib/propertyware/api/work_orders_api.rb +763 -0
  157. data/lib/propertyware/api_client.rb +428 -0
  158. data/lib/propertyware/api_error.rb +58 -0
  159. data/lib/propertyware/configuration.rb +392 -0
  160. data/lib/propertyware/models/account.rb +549 -0
  161. data/lib/propertyware/models/address.rb +269 -0
  162. data/lib/propertyware/models/amenity.rb +249 -0
  163. data/lib/propertyware/models/auto_journal_entry.rb +358 -0
  164. data/lib/propertyware/models/auto_payment.rb +338 -0
  165. data/lib/propertyware/models/bank.rb +389 -0
  166. data/lib/propertyware/models/bank_deposit.rb +289 -0
  167. data/lib/propertyware/models/basic_vendor.rb +330 -0
  168. data/lib/propertyware/models/bill.rb +401 -0
  169. data/lib/propertyware/models/bill_paid.rb +250 -0
  170. data/lib/propertyware/models/bill_pay.rb +230 -0
  171. data/lib/propertyware/models/bill_payment.rb +361 -0
  172. data/lib/propertyware/models/bill_split.rb +339 -0
  173. data/lib/propertyware/models/building.rb +782 -0
  174. data/lib/propertyware/models/campaign.rb +430 -0
  175. data/lib/propertyware/models/campaign_source.rb +258 -0
  176. data/lib/propertyware/models/charge.rb +318 -0
  177. data/lib/propertyware/models/charge_tx.rb +401 -0
  178. data/lib/propertyware/models/check.rb +425 -0
  179. data/lib/propertyware/models/check_split.rb +284 -0
  180. data/lib/propertyware/models/comment.rb +269 -0
  181. data/lib/propertyware/models/contact.rb +546 -0
  182. data/lib/propertyware/models/conversation.rb +345 -0
  183. data/lib/propertyware/models/credit_card_account.rb +219 -0
  184. data/lib/propertyware/models/current_asset.rb +279 -0
  185. data/lib/propertyware/models/current_liability.rb +279 -0
  186. data/lib/propertyware/models/custom_field.rb +249 -0
  187. data/lib/propertyware/models/discount.rb +339 -0
  188. data/lib/propertyware/models/document.rb +362 -0
  189. data/lib/propertyware/models/entry.rb +297 -0
  190. data/lib/propertyware/models/equity.rb +289 -0
  191. data/lib/propertyware/models/error_response.rb +237 -0
  192. data/lib/propertyware/models/expense.rb +289 -0
  193. data/lib/propertyware/models/gl_item.rb +330 -0
  194. data/lib/propertyware/models/income.rb +299 -0
  195. data/lib/propertyware/models/inspection.rb +361 -0
  196. data/lib/propertyware/models/inspection_area.rb +241 -0
  197. data/lib/propertyware/models/inspection_item.rb +249 -0
  198. data/lib/propertyware/models/journal_entry.rb +311 -0
  199. data/lib/propertyware/models/journal_entry_split.rb +264 -0
  200. data/lib/propertyware/models/journal_entry_split_response.rb +263 -0
  201. data/lib/propertyware/models/late_fee_rule.rb +258 -0
  202. data/lib/propertyware/models/lease.rb +515 -0
  203. data/lib/propertyware/models/lease_clause.rb +238 -0
  204. data/lib/propertyware/models/lease_contact.rb +309 -0
  205. data/lib/propertyware/models/management_fee.rb +279 -0
  206. data/lib/propertyware/models/management_settings.rb +261 -0
  207. data/lib/propertyware/models/marketing.rb +439 -0
  208. data/lib/propertyware/models/non_current_asset.rb +259 -0
  209. data/lib/propertyware/models/non_current_liability.rb +279 -0
  210. data/lib/propertyware/models/non_operating_expense.rb +289 -0
  211. data/lib/propertyware/models/non_operating_inome.rb +289 -0
  212. data/lib/propertyware/models/note.rb +267 -0
  213. data/lib/propertyware/models/owner.rb +318 -0
  214. data/lib/propertyware/models/owner_contribution.rb +418 -0
  215. data/lib/propertyware/models/owner_draw.rb +398 -0
  216. data/lib/propertyware/models/payment.rb +423 -0
  217. data/lib/propertyware/models/payment_charge.rb +358 -0
  218. data/lib/propertyware/models/portfolio.rb +479 -0
  219. data/lib/propertyware/models/property_manager.rb +259 -0
  220. data/lib/propertyware/models/prospect.rb +701 -0
  221. data/lib/propertyware/models/refund.rb +384 -0
  222. data/lib/propertyware/models/response_entity.rb +260 -0
  223. data/lib/propertyware/models/restapi_bulk_error_response.rb +237 -0
  224. data/lib/propertyware/models/restapi_bulk_success_response.rb +217 -0
  225. data/lib/propertyware/models/restapi_error.rb +226 -0
  226. data/lib/propertyware/models/save_account.rb +398 -0
  227. data/lib/propertyware/models/save_address.rb +274 -0
  228. data/lib/propertyware/models/save_adjustment.rb +269 -0
  229. data/lib/propertyware/models/save_auto_charge.rb +328 -0
  230. data/lib/propertyware/models/save_bank_deposit.rb +239 -0
  231. data/lib/propertyware/models/save_bill.rb +356 -0
  232. data/lib/propertyware/models/save_bill_payment.rb +314 -0
  233. data/lib/propertyware/models/save_bill_split.rb +319 -0
  234. data/lib/propertyware/models/save_building.rb +653 -0
  235. data/lib/propertyware/models/save_charge.rb +289 -0
  236. data/lib/propertyware/models/save_check.rb +291 -0
  237. data/lib/propertyware/models/save_check_split.rb +289 -0
  238. data/lib/propertyware/models/save_comment.rb +224 -0
  239. data/lib/propertyware/models/save_contact.rb +472 -0
  240. data/lib/propertyware/models/save_conversation.rb +273 -0
  241. data/lib/propertyware/models/save_credit.rb +271 -0
  242. data/lib/propertyware/models/save_discount.rb +289 -0
  243. data/lib/propertyware/models/save_journal_entry_split.rb +254 -0
  244. data/lib/propertyware/models/save_lease.rb +444 -0
  245. data/lib/propertyware/models/save_lease_journal_entry.rb +276 -0
  246. data/lib/propertyware/models/save_owner.rb +318 -0
  247. data/lib/propertyware/models/save_owner_contribution.rb +373 -0
  248. data/lib/propertyware/models/save_owner_draw.rb +334 -0
  249. data/lib/propertyware/models/save_payment.rb +373 -0
  250. data/lib/propertyware/models/save_portfolio.rb +379 -0
  251. data/lib/propertyware/models/save_prospect.rb +511 -0
  252. data/lib/propertyware/models/save_prospect_contact.rb +318 -0
  253. data/lib/propertyware/models/save_refund.rb +334 -0
  254. data/lib/propertyware/models/save_unit.rb +492 -0
  255. data/lib/propertyware/models/save_vendor.rb +379 -0
  256. data/lib/propertyware/models/save_work_order.rb +345 -0
  257. data/lib/propertyware/models/save_work_order_task.rb +284 -0
  258. data/lib/propertyware/models/split_paid.rb +298 -0
  259. data/lib/propertyware/models/split_pay.rb +228 -0
  260. data/lib/propertyware/models/task.rb +339 -0
  261. data/lib/propertyware/models/transaction.rb +433 -0
  262. data/lib/propertyware/models/unit.rb +670 -0
  263. data/lib/propertyware/models/update_lease_journal_entry.rb +276 -0
  264. data/lib/propertyware/models/vendor.rb +511 -0
  265. data/lib/propertyware/models/work_order.rb +557 -0
  266. data/lib/propertyware/version.rb +15 -0
  267. data/lib/propertyware.rb +158 -0
  268. data/openapitools.json +7 -0
  269. data/propertyware.gemspec +39 -0
  270. data/spec/api/accounting_api_spec.rb +239 -0
  271. data/spec/api/bills_api_spec.rb +260 -0
  272. data/spec/api/buildings_api_spec.rb +199 -0
  273. data/spec/api/contacts_api_spec.rb +159 -0
  274. data/spec/api/documents_api_spec.rb +77 -0
  275. data/spec/api/health_check_api_spec.rb +46 -0
  276. data/spec/api/inspections_api_spec.rb +68 -0
  277. data/spec/api/leases_api_spec.rb +579 -0
  278. data/spec/api/portfolios_api_spec.rb +147 -0
  279. data/spec/api/prospects_api_spec.rb +162 -0
  280. data/spec/api/units_api_spec.rb +176 -0
  281. data/spec/api/vendors_api_spec.rb +134 -0
  282. data/spec/api/work_orders_api_spec.rb +180 -0
  283. data/spec/api_client_spec.rb +223 -0
  284. data/spec/configuration_spec.rb +82 -0
  285. data/spec/models/account_spec.rb +232 -0
  286. data/spec/models/address_spec.rb +64 -0
  287. data/spec/models/amenity_spec.rb +52 -0
  288. data/spec/models/auto_journal_entry_spec.rb +118 -0
  289. data/spec/models/auto_payment_spec.rb +106 -0
  290. data/spec/models/bank_deposit_spec.rb +76 -0
  291. data/spec/models/bank_spec.rb +136 -0
  292. data/spec/models/basic_vendor_spec.rb +100 -0
  293. data/spec/models/bill_paid_spec.rb +52 -0
  294. data/spec/models/bill_pay_spec.rb +40 -0
  295. data/spec/models/bill_payment_spec.rb +118 -0
  296. data/spec/models/bill_spec.rb +142 -0
  297. data/spec/models/bill_split_spec.rb +106 -0
  298. data/spec/models/building_spec.rb +344 -0
  299. data/spec/models/campaign_source_spec.rb +58 -0
  300. data/spec/models/campaign_spec.rb +160 -0
  301. data/spec/models/charge_spec.rb +88 -0
  302. data/spec/models/charge_tx_spec.rb +136 -0
  303. data/spec/models/check_spec.rb +128 -0
  304. data/spec/models/check_split_spec.rb +70 -0
  305. data/spec/models/comment_spec.rb +64 -0
  306. data/spec/models/contact_spec.rb +210 -0
  307. data/spec/models/conversation_spec.rb +92 -0
  308. data/spec/models/credit_card_account_spec.rb +34 -0
  309. data/spec/models/current_asset_spec.rb +70 -0
  310. data/spec/models/current_liability_spec.rb +70 -0
  311. data/spec/models/custom_field_spec.rb +52 -0
  312. data/spec/models/discount_spec.rb +100 -0
  313. data/spec/models/document_spec.rb +104 -0
  314. data/spec/models/entry_spec.rb +82 -0
  315. data/spec/models/equity_spec.rb +76 -0
  316. data/spec/models/error_response_spec.rb +46 -0
  317. data/spec/models/expense_spec.rb +76 -0
  318. data/spec/models/gl_item_spec.rb +100 -0
  319. data/spec/models/income_spec.rb +82 -0
  320. data/spec/models/inspection_area_spec.rb +46 -0
  321. data/spec/models/inspection_item_spec.rb +52 -0
  322. data/spec/models/inspection_spec.rb +118 -0
  323. data/spec/models/journal_entry_spec.rb +88 -0
  324. data/spec/models/journal_entry_split_response_spec.rb +52 -0
  325. data/spec/models/journal_entry_split_spec.rb +52 -0
  326. data/spec/models/late_fee_rule_spec.rb +58 -0
  327. data/spec/models/lease_clause_spec.rb +46 -0
  328. data/spec/models/lease_contact_spec.rb +88 -0
  329. data/spec/models/lease_spec.rb +208 -0
  330. data/spec/models/management_fee_spec.rb +70 -0
  331. data/spec/models/management_settings_spec.rb +58 -0
  332. data/spec/models/marketing_spec.rb +166 -0
  333. data/spec/models/non_current_asset_spec.rb +58 -0
  334. data/spec/models/non_current_liability_spec.rb +70 -0
  335. data/spec/models/non_operating_expense_spec.rb +76 -0
  336. data/spec/models/non_operating_inome_spec.rb +76 -0
  337. data/spec/models/note_spec.rb +64 -0
  338. data/spec/models/owner_contribution_spec.rb +116 -0
  339. data/spec/models/owner_draw_spec.rb +116 -0
  340. data/spec/models/owner_spec.rb +94 -0
  341. data/spec/models/payment_charge_spec.rb +92 -0
  342. data/spec/models/payment_spec.rb +134 -0
  343. data/spec/models/portfolio_spec.rb +168 -0
  344. data/spec/models/property_manager_spec.rb +58 -0
  345. data/spec/models/prospect_spec.rb +322 -0
  346. data/spec/models/refund_spec.rb +112 -0
  347. data/spec/models/response_entity_spec.rb +44 -0
  348. data/spec/models/restapi_bulk_error_response_spec.rb +46 -0
  349. data/spec/models/restapi_bulk_success_response_spec.rb +34 -0
  350. data/spec/models/restapi_error_spec.rb +40 -0
  351. data/spec/models/save_account_spec.rb +136 -0
  352. data/spec/models/save_address_spec.rb +64 -0
  353. data/spec/models/save_adjustment_spec.rb +58 -0
  354. data/spec/models/save_auto_charge_spec.rb +68 -0
  355. data/spec/models/save_bank_deposit_spec.rb +40 -0
  356. data/spec/models/save_bill_payment_spec.rb +74 -0
  357. data/spec/models/save_bill_spec.rb +106 -0
  358. data/spec/models/save_bill_split_spec.rb +88 -0
  359. data/spec/models/save_building_spec.rb +248 -0
  360. data/spec/models/save_charge_spec.rb +64 -0
  361. data/spec/models/save_check_spec.rb +70 -0
  362. data/spec/models/save_check_split_spec.rb +70 -0
  363. data/spec/models/save_comment_spec.rb +34 -0
  364. data/spec/models/save_contact_spec.rb +164 -0
  365. data/spec/models/save_conversation_spec.rb +44 -0
  366. data/spec/models/save_credit_spec.rb +58 -0
  367. data/spec/models/save_discount_spec.rb +64 -0
  368. data/spec/models/save_journal_entry_split_spec.rb +46 -0
  369. data/spec/models/save_lease_journal_entry_spec.rb +58 -0
  370. data/spec/models/save_lease_spec.rb +134 -0
  371. data/spec/models/save_owner_contribution_spec.rb +86 -0
  372. data/spec/models/save_owner_draw_spec.rb +82 -0
  373. data/spec/models/save_owner_spec.rb +88 -0
  374. data/spec/models/save_payment_spec.rb +86 -0
  375. data/spec/models/save_portfolio_spec.rb +102 -0
  376. data/spec/models/save_prospect_contact_spec.rb +88 -0
  377. data/spec/models/save_prospect_spec.rb +208 -0
  378. data/spec/models/save_refund_spec.rb +82 -0
  379. data/spec/models/save_unit_spec.rb +164 -0
  380. data/spec/models/save_vendor_spec.rb +118 -0
  381. data/spec/models/save_work_order_spec.rb +92 -0
  382. data/spec/models/save_work_order_task_spec.rb +70 -0
  383. data/spec/models/split_paid_spec.rb +82 -0
  384. data/spec/models/split_pay_spec.rb +40 -0
  385. data/spec/models/task_spec.rb +106 -0
  386. data/spec/models/transaction_spec.rb +146 -0
  387. data/spec/models/unit_spec.rb +280 -0
  388. data/spec/models/update_lease_journal_entry_spec.rb +58 -0
  389. data/spec/models/vendor_spec.rb +208 -0
  390. data/spec/models/work_order_spec.rb +218 -0
  391. data/spec/spec_helper.rb +111 -0
  392. metadata +609 -0
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,76 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ propertyware (1.0.5)
5
+ faraday (>= 1.0.1, < 3.0)
6
+ faraday-multipart
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ast (2.4.2)
12
+ byebug (11.1.3)
13
+ coderay (1.1.3)
14
+ diff-lcs (1.5.0)
15
+ faraday (2.7.10)
16
+ faraday-net_http (>= 2.0, < 3.1)
17
+ ruby2_keywords (>= 0.0.4)
18
+ faraday-multipart (1.0.4)
19
+ multipart-post (~> 2)
20
+ faraday-net_http (3.0.2)
21
+ jaro_winkler (1.5.4)
22
+ method_source (1.0.0)
23
+ multipart-post (2.3.0)
24
+ parallel (1.23.0)
25
+ parser (3.2.2.3)
26
+ ast (~> 2.4.1)
27
+ racc
28
+ pry (0.13.1)
29
+ coderay (~> 1.1)
30
+ method_source (~> 1.0)
31
+ pry-byebug (3.9.0)
32
+ byebug (~> 11.0)
33
+ pry (~> 0.13.0)
34
+ psych (4.0.3)
35
+ stringio
36
+ racc (1.4.16)
37
+ rainbow (3.1.1)
38
+ rake (13.0.6)
39
+ rspec (3.10.0)
40
+ rspec-core (~> 3.10.0)
41
+ rspec-expectations (~> 3.10.0)
42
+ rspec-mocks (~> 3.10.0)
43
+ rspec-core (3.10.1)
44
+ rspec-support (~> 3.10.0)
45
+ rspec-expectations (3.10.1)
46
+ diff-lcs (>= 1.2.0, < 2.0)
47
+ rspec-support (~> 3.10.0)
48
+ rspec-mocks (3.10.2)
49
+ diff-lcs (>= 1.2.0, < 2.0)
50
+ rspec-support (~> 3.10.0)
51
+ rspec-support (3.10.3)
52
+ rubocop (0.66.0)
53
+ jaro_winkler (~> 1.5.1)
54
+ parallel (~> 1.10)
55
+ parser (>= 2.5, != 2.5.1.1)
56
+ psych (>= 3.1.0)
57
+ rainbow (>= 2.2.2, < 4.0)
58
+ ruby-progressbar (~> 1.7)
59
+ unicode-display_width (>= 1.4.0, < 1.6)
60
+ ruby-progressbar (1.13.0)
61
+ ruby2_keywords (0.0.5)
62
+ stringio (3.0.1)
63
+ unicode-display_width (1.5.0)
64
+
65
+ PLATFORMS
66
+ ruby
67
+
68
+ DEPENDENCIES
69
+ propertyware!
70
+ pry-byebug
71
+ rake (~> 13.0.1)
72
+ rspec (~> 3.6, >= 3.6.0)
73
+ rubocop (~> 0.66.0)
74
+
75
+ BUNDLED WITH
76
+ 2.1.4
data/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # Propertyware
2
+
3
+ A Ruby client library for interacting with the [Propertyware API](https://app.propertyware.com/pw/apidocs), created and maintained by LeadSimple. This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
4
+
5
+ **DO NOT EDIT THIS README**. Edit the one in `bin/README.md` instead and rerun the `rebuild.sh` file, see below.
6
+
7
+ ## Getting Started
8
+
9
+ 1. Add this gem to your dependencies
10
+
11
+ ```ruby
12
+ # In your .gemspec, if any
13
+ s.add_runtime_dependency "propertyware", "~> 1.0.0"
14
+
15
+ # In your Gemfile
16
+ gem "propertyware"
17
+ ```
18
+
19
+ 2. Get a Propertyware API client ID and secret in your Propertyware portal.
20
+
21
+ ### Usage Examples
22
+
23
+ You can configure the gem in two ways.
24
+
25
+ #### Global Configuration
26
+
27
+ All requests will use a single API key. Use this when you only expect to make requests on behalf of one Propertyware account.
28
+
29
+ ```ruby
30
+ # Load the gem
31
+ require 'propertyware'
32
+
33
+ # Setup authorization
34
+ Propertyware.configure do |config|
35
+ # Configure API key username: clientId
36
+ config.username = 'YOUR API CLIENT ID'
37
+
38
+ # Configure API key authorization: clientSecret
39
+ config.password = 'YOUR API CLIENT SECRET'
40
+ end
41
+
42
+ # Configure your Partner ID header
43
+ api_client = Propertyware::ApiClient.new
44
+ api_client.default_headers['X-Propertyware-System-ID'] = 'YOUR PARTNER ID'
45
+
46
+ api_instance = Propertyware::UnitsApi.new
47
+
48
+ begin
49
+ # Get all units
50
+ result = api_instance.units_get(query_params: {filters: {"LastUpdatedAtFrom" => '2020-12-15T16:30:46Z'}})
51
+ p result
52
+ rescue Propertyware::ApiError => e
53
+ puts "Exception when calling UnitsApi->units_get: #{e}"
54
+ end
55
+ ```
56
+
57
+ #### Per-Request Configuration
58
+
59
+ If you need to make requests on behalf of several Propertyware accounts, then you will want to configure each request individually. Here's an example of how to do that:
60
+
61
+ ```ruby
62
+ require "propertyware"
63
+
64
+ # Create a configuration object, configuring credentials
65
+ config = Propertyware::Configuration.new do
66
+ config.api_key["clientId"] = "<CLIENT_ID>"
67
+ config.api_key["clientSecret"] = "<CLIENT_SECRET>"
68
+ config.api_key["organizationId"] = "<ORGANIZATION_ID>"
69
+ endl
70
+
71
+ # Build an API client
72
+ api_client = Propertyware::ApiClient.new(config)
73
+
74
+ # Hit their API
75
+ buildings_api = Propertyware::BuildingsApi.new(api_client)
76
+ buildings_api.get_buildings(query_params: {filters: {"lastModifiedDateTimeStart" => '2020-12-15T16:30:46Z'}})
77
+ # => [<Propertyware::Property ...>]
78
+ ```
79
+
80
+ ## Documentation
81
+
82
+ Read the [generated docs here](/DOCS.md). They're actually pretty good!
83
+
84
+ ## Customizations
85
+
86
+ Besides using OpenAPI Generator, we have some overrides to their templates, to make things easier in our side. You can find about them [here](./CUSTOMIZATIONS.md).
87
+
88
+ ## How to Regenerate This Library
89
+
90
+ 1. Download a new `swagger.json` file from the [Propertyware docs](https://app.propertyware.com/pw/apidocs/) by clicking the "Download" button
91
+ 2. Replace the `bin/propertyware.json` file with it
92
+ 3. Increment the `gemVersion` key in `bin/config.yml`
93
+ 4. Run `bin/rebuild.sh` to rebuild everything
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task default: :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
@@ -0,0 +1,11 @@
1
+ # Customizations
2
+
3
+ To satisfy our needs, we sometimes update some of OpenAPI Generator templates. This is a list of all of them, and the version where they were introduced.
4
+
5
+ These customizations reside in the `.openapi-generator/templates/ruby-client` folder.
6
+
7
+ ## Changelog
8
+
9
+ ### v1.0.0
10
+
11
+ - In case we receive an enum with an invalid value, we are adding the received value in the error message to make debugging (and further contacting Propertyware) easier. Update done, at the time of this commit, at `./.openapi-generator/templates/ruby-client/partial_model_generic.mustache:L281`.
data/bin/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # Propertyware
2
+
3
+ A Ruby client library for interacting with the [Propertyware API](https://app.propertyware.com/pw/apidocs), created and maintained by LeadSimple. This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
4
+
5
+ **DO NOT EDIT THIS README**. Edit the one in `bin/README.md` instead and rerun the `rebuild.sh` file, see below.
6
+
7
+ ## Getting Started
8
+
9
+ 1. Add this gem to your dependencies
10
+
11
+ ```ruby
12
+ # In your .gemspec, if any
13
+ s.add_runtime_dependency "propertyware", "~> 1.0.0"
14
+
15
+ # In your Gemfile
16
+ gem "propertyware"
17
+ ```
18
+
19
+ 2. Get a Propertyware API client ID and secret in your Propertyware portal.
20
+
21
+ ### Usage Examples
22
+
23
+ You can configure the gem in two ways.
24
+
25
+ #### Global Configuration
26
+
27
+ All requests will use a single API key. Use this when you only expect to make requests on behalf of one Propertyware account.
28
+
29
+ ```ruby
30
+ # Load the gem
31
+ require 'propertyware'
32
+
33
+ # Setup authorization
34
+ Propertyware.configure do |config|
35
+ # Configure API key username: clientId
36
+ config.username = 'YOUR API CLIENT ID'
37
+
38
+ # Configure API key authorization: clientSecret
39
+ config.password = 'YOUR API CLIENT SECRET'
40
+ end
41
+
42
+ # Configure your Partner ID header
43
+ api_client = Propertyware::ApiClient.new
44
+ api_client.default_headers['X-Propertyware-System-ID'] = 'YOUR PARTNER ID'
45
+
46
+ api_instance = Propertyware::UnitsApi.new
47
+
48
+ begin
49
+ # Get all units
50
+ result = api_instance.units_get(query_params: {filters: {"LastUpdatedAtFrom" => '2020-12-15T16:30:46Z'}})
51
+ p result
52
+ rescue Propertyware::ApiError => e
53
+ puts "Exception when calling UnitsApi->units_get: #{e}"
54
+ end
55
+ ```
56
+
57
+ #### Per-Request Configuration
58
+
59
+ If you need to make requests on behalf of several Propertyware accounts, then you will want to configure each request individually. Here's an example of how to do that:
60
+
61
+ ```ruby
62
+ require "propertyware"
63
+
64
+ # Create a configuration object, configuring credentials
65
+ config = Propertyware::Configuration.new do
66
+ config.api_key["clientId"] = "<CLIENT_ID>"
67
+ config.api_key["clientSecret"] = "<CLIENT_SECRET>"
68
+ config.api_key["organizationId"] = "<ORGANIZATION_ID>"
69
+ endl
70
+
71
+ # Build an API client
72
+ api_client = Propertyware::ApiClient.new(config)
73
+
74
+ # Hit their API
75
+ buildings_api = Propertyware::BuildingsApi.new(api_client)
76
+ buildings_api.get_buildings(query_params: {filters: {"lastModifiedDateTimeStart" => '2020-12-15T16:30:46Z'}})
77
+ # => [<Propertyware::Property ...>]
78
+ ```
79
+
80
+ ## Documentation
81
+
82
+ Read the [generated docs here](/DOCS.md). They're actually pretty good!
83
+
84
+ ## Customizations
85
+
86
+ Besides using OpenAPI Generator, we have some overrides to their templates, to make things easier in our side. You can find about them [here](./CUSTOMIZATIONS.md).
87
+
88
+ ## How to Regenerate This Library
89
+
90
+ 1. Download a new `swagger.json` file from the [Propertyware docs](https://app.propertyware.com/pw/apidocs/) by clicking the "Download" button
91
+ 2. Replace the `bin/propertyware.json` file with it
92
+ 3. Increment the `gemVersion` key in `bin/config.yml`
93
+ 4. Run `bin/rebuild.sh` to rebuild everything
data/bin/config.yml ADDED
@@ -0,0 +1,7 @@
1
+ additionalProperties:
2
+ moduleName: Propertyware
3
+ gemAuthor: LeadSimple
4
+ gemHomepage: https://github.com/LeadSimple/propertyware
5
+ gemDescription: API client library for Propertyware
6
+ gemRequiredRubyVersion: "> 2.6.0"
7
+ gemVersion: 1.0.5
data/bin/fix_json.rb ADDED
@@ -0,0 +1,59 @@
1
+ require 'pry'
2
+ require 'json'
3
+
4
+ file = File.read('bin/propertyware.json')
5
+ data = JSON.parse(file)
6
+
7
+ # For some reason, the validator fails to properly parse the contact URL,
8
+ # so we are simply removing it becase it has no effect in the final SDK anyway
9
+ data['info']['contact'].delete('url')
10
+
11
+ # The operation IDs - which are used to generate the SDK method names - are
12
+ # in a weird format where they have a `Using<METHOD>` suffix. We are removing
13
+ # that suffix here to simplify the SDK method names.
14
+ data['paths'].each do |_path_name, methods|
15
+ methods.each do |_method_name, method|
16
+ method['operationId'] = method['operationId'].gsub(/Using[A-Z]+$/, '')
17
+ end
18
+ end
19
+
20
+ # This enum is failing to be parsed, because the values are actually capitalized
21
+ # They are properly capitalized in SaveBuilding#propertyType, but not in Building#propertyType
22
+ #
23
+ # The reason why we simply copy the data instead of capitalizing it, is because there are some
24
+ # inconsistencies and simply capitalizing doesn't work. For example, the `propertyType` enum
25
+ # in `SaveBuilding` has a `DU_FOUR_PLEX` value, but the `Building` enum has a `Du/Fourplex` value.
26
+ data['components']['schemas']['Building']['properties']['propertyType']['enum'] =
27
+ data['components']['schemas']['SaveBuilding']['properties']['propertyType']['enum']
28
+
29
+ # The API does not include the Authorization part on their JSON, so we add it ourselves
30
+ data['security'] = [{ "clientId": [] }, { "clientSecret": [] }, { "organizationId": [] }]
31
+ data['components']['securitySchemes'] = {
32
+ "clientId": {
33
+ "type": "apiKey",
34
+ "in": "header",
35
+ "name": "x-propertyware-client-id"
36
+ },
37
+ "clientSecret": {
38
+ "type": "apiKey",
39
+ "in": "header",
40
+ "name": "x-propertyware-client-secret"
41
+ },
42
+ "organizationId": {
43
+ "type": "apiKey",
44
+ "in": "header",
45
+ "name": "x-propertyware-system-id"
46
+ }
47
+ }
48
+
49
+ # Guarantee we automatically set HTTPS as the schema
50
+ data['servers'][0] = { "url": "https://api.propertyware.com/pw/api/rest/v1" } unless data['servers'].first['url'].start_with?("https://")
51
+
52
+ # All models have an extra `DTO` suffix, which we are removing here for simplicity sake.
53
+ # To simplify, we are acting directly in the output string, which is not ideal, but it's simpler
54
+ # than handling all cases using `#each` calls
55
+ data_json = data.to_json
56
+ data_json = data_json.gsub(/DTOs? */i, '')
57
+
58
+ # Save it back to the file
59
+ File.write('bin/propertyware.json', data_json)