propertyware 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/ci.yml +27 -0
- data/.github/workflows/publish.yml +48 -0
- data/.gitignore +39 -0
- data/.openapi-generator/FILES +375 -0
- data/.openapi-generator/VERSION +1 -0
- data/.openapi-generator/templates/ruby-client/gemspec.mustache +37 -0
- data/.openapi-generator/templates/ruby-client/partial_model_generic.mustache +371 -0
- data/.openapi-generator/templates/ruby-client/rubocop.mustache +124 -0
- data/.openapi-generator-ignore +23 -0
- data/.rspec +2 -0
- data/.rubocop.yml +124 -0
- data/CUSTOMIZATIONS.md +11 -0
- data/DOCS.md +673 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +76 -0
- data/README.md +93 -0
- data/Rakefile +10 -0
- data/bin/CUSTOMIZATIONS.md +11 -0
- data/bin/README.md +93 -0
- data/bin/config.yml +7 -0
- data/bin/fix_json.rb +59 -0
- data/bin/propertyware.json +1 -0
- data/bin/rebuild.sh +31 -0
- data/docs/Account.md +84 -0
- data/docs/AccountingApi.md +1235 -0
- data/docs/Address.md +28 -0
- data/docs/Amenity.md +24 -0
- data/docs/AutoJournalEntry.md +46 -0
- data/docs/AutoPayment.md +42 -0
- data/docs/Bank.md +52 -0
- data/docs/BankDeposit.md +32 -0
- data/docs/BasicVendor.md +40 -0
- data/docs/Bill.md +54 -0
- data/docs/BillPaid.md +24 -0
- data/docs/BillPay.md +20 -0
- data/docs/BillPayment.md +46 -0
- data/docs/BillSplit.md +42 -0
- data/docs/BillsApi.md +1391 -0
- data/docs/Building.md +116 -0
- data/docs/BuildingsApi.md +1037 -0
- data/docs/Campaign.md +60 -0
- data/docs/CampaignSource.md +26 -0
- data/docs/Charge.md +36 -0
- data/docs/ChargeTx.md +52 -0
- data/docs/Check.md +48 -0
- data/docs/CheckSplit.md +30 -0
- data/docs/Comment.md +28 -0
- data/docs/Contact.md +74 -0
- data/docs/ContactsApi.md +783 -0
- data/docs/Conversation.md +36 -0
- data/docs/CreditCardAccount.md +18 -0
- data/docs/CurrentAsset.md +30 -0
- data/docs/CurrentLiability.md +30 -0
- data/docs/CustomField.md +24 -0
- data/docs/Discount.md +40 -0
- data/docs/Document.md +40 -0
- data/docs/DocumentsApi.md +267 -0
- data/docs/Entry.md +34 -0
- data/docs/Equity.md +32 -0
- data/docs/ErrorResponse.md +22 -0
- data/docs/Expense.md +32 -0
- data/docs/GLItem.md +40 -0
- data/docs/HealthCheckApi.md +86 -0
- data/docs/Income.md +34 -0
- data/docs/Inspection.md +46 -0
- data/docs/InspectionArea.md +22 -0
- data/docs/InspectionItem.md +24 -0
- data/docs/InspectionsApi.md +193 -0
- data/docs/JournalEntry.md +36 -0
- data/docs/JournalEntrySplit.md +24 -0
- data/docs/JournalEntrySplitResponse.md +24 -0
- data/docs/LateFeeRule.md +26 -0
- data/docs/Lease.md +76 -0
- data/docs/LeaseClause.md +22 -0
- data/docs/LeaseContact.md +36 -0
- data/docs/LeasesApi.md +3319 -0
- data/docs/ManagementFee.md +30 -0
- data/docs/ManagementSettings.md +26 -0
- data/docs/Marketing.md +62 -0
- data/docs/NonCurrentAsset.md +26 -0
- data/docs/NonCurrentLiability.md +30 -0
- data/docs/NonOperatingExpense.md +32 -0
- data/docs/NonOperatingInome.md +32 -0
- data/docs/Note.md +28 -0
- data/docs/Owner.md +38 -0
- data/docs/OwnerContribution.md +44 -0
- data/docs/OwnerDraw.md +44 -0
- data/docs/Payment.md +50 -0
- data/docs/PaymentCharge.md +36 -0
- data/docs/Portfolio.md +60 -0
- data/docs/PortfoliosApi.md +701 -0
- data/docs/PropertyManager.md +26 -0
- data/docs/Prospect.md +114 -0
- data/docs/ProspectsApi.md +789 -0
- data/docs/RESTAPIBulkErrorResponse.md +22 -0
- data/docs/RESTAPIBulkSuccessResponse.md +18 -0
- data/docs/RESTAPIError.md +20 -0
- data/docs/Refund.md +44 -0
- data/docs/ResponseEntity.md +20 -0
- data/docs/SaveAccount.md +52 -0
- data/docs/SaveAddress.md +28 -0
- data/docs/SaveAdjustment.md +26 -0
- data/docs/SaveAutoCharge.md +28 -0
- data/docs/SaveBankDeposit.md +20 -0
- data/docs/SaveBill.md +42 -0
- data/docs/SaveBillPayment.md +30 -0
- data/docs/SaveBillSplit.md +36 -0
- data/docs/SaveBuilding.md +84 -0
- data/docs/SaveCharge.md +28 -0
- data/docs/SaveCheck.md +30 -0
- data/docs/SaveCheckSplit.md +30 -0
- data/docs/SaveComment.md +18 -0
- data/docs/SaveContact.md +60 -0
- data/docs/SaveConversation.md +20 -0
- data/docs/SaveCredit.md +26 -0
- data/docs/SaveDiscount.md +28 -0
- data/docs/SaveJournalEntrySplit.md +22 -0
- data/docs/SaveLease.md +50 -0
- data/docs/SaveLeaseJournalEntry.md +26 -0
- data/docs/SaveOwner.md +36 -0
- data/docs/SaveOwnerContribution.md +34 -0
- data/docs/SaveOwnerDraw.md +34 -0
- data/docs/SavePayment.md +34 -0
- data/docs/SavePortfolio.md +38 -0
- data/docs/SaveProspect.md +76 -0
- data/docs/SaveProspectContact.md +36 -0
- data/docs/SaveRefund.md +34 -0
- data/docs/SaveUnit.md +60 -0
- data/docs/SaveVendor.md +46 -0
- data/docs/SaveWorkOrder.md +36 -0
- data/docs/SaveWorkOrderTask.md +30 -0
- data/docs/SplitPaid.md +34 -0
- data/docs/SplitPay.md +20 -0
- data/docs/Task.md +42 -0
- data/docs/Transaction.md +54 -0
- data/docs/Unit.md +96 -0
- data/docs/UnitsApi.md +875 -0
- data/docs/UpdateLeaseJournalEntry.md +26 -0
- data/docs/Vendor.md +76 -0
- data/docs/VendorsApi.md +617 -0
- data/docs/WorkOrder.md +78 -0
- data/docs/WorkOrdersApi.md +883 -0
- data/lib/propertyware/api/accounting_api.rb +1041 -0
- data/lib/propertyware/api/bills_api.rb +1182 -0
- data/lib/propertyware/api/buildings_api.rb +863 -0
- data/lib/propertyware/api/contacts_api.rb +666 -0
- data/lib/propertyware/api/documents_api.rb +235 -0
- data/lib/propertyware/api/health_check_api.rb +79 -0
- data/lib/propertyware/api/inspections_api.rb +172 -0
- data/lib/propertyware/api/leases_api.rb +2787 -0
- data/lib/propertyware/api/portfolios_api.rb +599 -0
- data/lib/propertyware/api/prospects_api.rb +671 -0
- data/lib/propertyware/api/units_api.rb +740 -0
- data/lib/propertyware/api/vendors_api.rb +522 -0
- data/lib/propertyware/api/work_orders_api.rb +763 -0
- data/lib/propertyware/api_client.rb +428 -0
- data/lib/propertyware/api_error.rb +58 -0
- data/lib/propertyware/configuration.rb +392 -0
- data/lib/propertyware/models/account.rb +549 -0
- data/lib/propertyware/models/address.rb +269 -0
- data/lib/propertyware/models/amenity.rb +249 -0
- data/lib/propertyware/models/auto_journal_entry.rb +358 -0
- data/lib/propertyware/models/auto_payment.rb +338 -0
- data/lib/propertyware/models/bank.rb +389 -0
- data/lib/propertyware/models/bank_deposit.rb +289 -0
- data/lib/propertyware/models/basic_vendor.rb +330 -0
- data/lib/propertyware/models/bill.rb +401 -0
- data/lib/propertyware/models/bill_paid.rb +250 -0
- data/lib/propertyware/models/bill_pay.rb +230 -0
- data/lib/propertyware/models/bill_payment.rb +361 -0
- data/lib/propertyware/models/bill_split.rb +339 -0
- data/lib/propertyware/models/building.rb +782 -0
- data/lib/propertyware/models/campaign.rb +430 -0
- data/lib/propertyware/models/campaign_source.rb +258 -0
- data/lib/propertyware/models/charge.rb +318 -0
- data/lib/propertyware/models/charge_tx.rb +401 -0
- data/lib/propertyware/models/check.rb +425 -0
- data/lib/propertyware/models/check_split.rb +284 -0
- data/lib/propertyware/models/comment.rb +269 -0
- data/lib/propertyware/models/contact.rb +546 -0
- data/lib/propertyware/models/conversation.rb +345 -0
- data/lib/propertyware/models/credit_card_account.rb +219 -0
- data/lib/propertyware/models/current_asset.rb +279 -0
- data/lib/propertyware/models/current_liability.rb +279 -0
- data/lib/propertyware/models/custom_field.rb +249 -0
- data/lib/propertyware/models/discount.rb +339 -0
- data/lib/propertyware/models/document.rb +362 -0
- data/lib/propertyware/models/entry.rb +297 -0
- data/lib/propertyware/models/equity.rb +289 -0
- data/lib/propertyware/models/error_response.rb +237 -0
- data/lib/propertyware/models/expense.rb +289 -0
- data/lib/propertyware/models/gl_item.rb +330 -0
- data/lib/propertyware/models/income.rb +299 -0
- data/lib/propertyware/models/inspection.rb +361 -0
- data/lib/propertyware/models/inspection_area.rb +241 -0
- data/lib/propertyware/models/inspection_item.rb +249 -0
- data/lib/propertyware/models/journal_entry.rb +311 -0
- data/lib/propertyware/models/journal_entry_split.rb +264 -0
- data/lib/propertyware/models/journal_entry_split_response.rb +263 -0
- data/lib/propertyware/models/late_fee_rule.rb +258 -0
- data/lib/propertyware/models/lease.rb +515 -0
- data/lib/propertyware/models/lease_clause.rb +238 -0
- data/lib/propertyware/models/lease_contact.rb +309 -0
- data/lib/propertyware/models/management_fee.rb +279 -0
- data/lib/propertyware/models/management_settings.rb +261 -0
- data/lib/propertyware/models/marketing.rb +439 -0
- data/lib/propertyware/models/non_current_asset.rb +259 -0
- data/lib/propertyware/models/non_current_liability.rb +279 -0
- data/lib/propertyware/models/non_operating_expense.rb +289 -0
- data/lib/propertyware/models/non_operating_inome.rb +289 -0
- data/lib/propertyware/models/note.rb +267 -0
- data/lib/propertyware/models/owner.rb +318 -0
- data/lib/propertyware/models/owner_contribution.rb +418 -0
- data/lib/propertyware/models/owner_draw.rb +398 -0
- data/lib/propertyware/models/payment.rb +423 -0
- data/lib/propertyware/models/payment_charge.rb +358 -0
- data/lib/propertyware/models/portfolio.rb +479 -0
- data/lib/propertyware/models/property_manager.rb +259 -0
- data/lib/propertyware/models/prospect.rb +701 -0
- data/lib/propertyware/models/refund.rb +384 -0
- data/lib/propertyware/models/response_entity.rb +260 -0
- data/lib/propertyware/models/restapi_bulk_error_response.rb +237 -0
- data/lib/propertyware/models/restapi_bulk_success_response.rb +217 -0
- data/lib/propertyware/models/restapi_error.rb +226 -0
- data/lib/propertyware/models/save_account.rb +398 -0
- data/lib/propertyware/models/save_address.rb +274 -0
- data/lib/propertyware/models/save_adjustment.rb +269 -0
- data/lib/propertyware/models/save_auto_charge.rb +328 -0
- data/lib/propertyware/models/save_bank_deposit.rb +239 -0
- data/lib/propertyware/models/save_bill.rb +356 -0
- data/lib/propertyware/models/save_bill_payment.rb +314 -0
- data/lib/propertyware/models/save_bill_split.rb +319 -0
- data/lib/propertyware/models/save_building.rb +653 -0
- data/lib/propertyware/models/save_charge.rb +289 -0
- data/lib/propertyware/models/save_check.rb +291 -0
- data/lib/propertyware/models/save_check_split.rb +289 -0
- data/lib/propertyware/models/save_comment.rb +224 -0
- data/lib/propertyware/models/save_contact.rb +472 -0
- data/lib/propertyware/models/save_conversation.rb +273 -0
- data/lib/propertyware/models/save_credit.rb +271 -0
- data/lib/propertyware/models/save_discount.rb +289 -0
- data/lib/propertyware/models/save_journal_entry_split.rb +254 -0
- data/lib/propertyware/models/save_lease.rb +444 -0
- data/lib/propertyware/models/save_lease_journal_entry.rb +276 -0
- data/lib/propertyware/models/save_owner.rb +318 -0
- data/lib/propertyware/models/save_owner_contribution.rb +373 -0
- data/lib/propertyware/models/save_owner_draw.rb +334 -0
- data/lib/propertyware/models/save_payment.rb +373 -0
- data/lib/propertyware/models/save_portfolio.rb +379 -0
- data/lib/propertyware/models/save_prospect.rb +511 -0
- data/lib/propertyware/models/save_prospect_contact.rb +318 -0
- data/lib/propertyware/models/save_refund.rb +334 -0
- data/lib/propertyware/models/save_unit.rb +492 -0
- data/lib/propertyware/models/save_vendor.rb +379 -0
- data/lib/propertyware/models/save_work_order.rb +345 -0
- data/lib/propertyware/models/save_work_order_task.rb +284 -0
- data/lib/propertyware/models/split_paid.rb +298 -0
- data/lib/propertyware/models/split_pay.rb +228 -0
- data/lib/propertyware/models/task.rb +339 -0
- data/lib/propertyware/models/transaction.rb +433 -0
- data/lib/propertyware/models/unit.rb +670 -0
- data/lib/propertyware/models/update_lease_journal_entry.rb +276 -0
- data/lib/propertyware/models/vendor.rb +511 -0
- data/lib/propertyware/models/work_order.rb +557 -0
- data/lib/propertyware/version.rb +15 -0
- data/lib/propertyware.rb +158 -0
- data/openapitools.json +7 -0
- data/propertyware.gemspec +39 -0
- data/spec/api/accounting_api_spec.rb +239 -0
- data/spec/api/bills_api_spec.rb +260 -0
- data/spec/api/buildings_api_spec.rb +199 -0
- data/spec/api/contacts_api_spec.rb +159 -0
- data/spec/api/documents_api_spec.rb +77 -0
- data/spec/api/health_check_api_spec.rb +46 -0
- data/spec/api/inspections_api_spec.rb +68 -0
- data/spec/api/leases_api_spec.rb +579 -0
- data/spec/api/portfolios_api_spec.rb +147 -0
- data/spec/api/prospects_api_spec.rb +162 -0
- data/spec/api/units_api_spec.rb +176 -0
- data/spec/api/vendors_api_spec.rb +134 -0
- data/spec/api/work_orders_api_spec.rb +180 -0
- data/spec/api_client_spec.rb +223 -0
- data/spec/configuration_spec.rb +82 -0
- data/spec/models/account_spec.rb +232 -0
- data/spec/models/address_spec.rb +64 -0
- data/spec/models/amenity_spec.rb +52 -0
- data/spec/models/auto_journal_entry_spec.rb +118 -0
- data/spec/models/auto_payment_spec.rb +106 -0
- data/spec/models/bank_deposit_spec.rb +76 -0
- data/spec/models/bank_spec.rb +136 -0
- data/spec/models/basic_vendor_spec.rb +100 -0
- data/spec/models/bill_paid_spec.rb +52 -0
- data/spec/models/bill_pay_spec.rb +40 -0
- data/spec/models/bill_payment_spec.rb +118 -0
- data/spec/models/bill_spec.rb +142 -0
- data/spec/models/bill_split_spec.rb +106 -0
- data/spec/models/building_spec.rb +344 -0
- data/spec/models/campaign_source_spec.rb +58 -0
- data/spec/models/campaign_spec.rb +160 -0
- data/spec/models/charge_spec.rb +88 -0
- data/spec/models/charge_tx_spec.rb +136 -0
- data/spec/models/check_spec.rb +128 -0
- data/spec/models/check_split_spec.rb +70 -0
- data/spec/models/comment_spec.rb +64 -0
- data/spec/models/contact_spec.rb +210 -0
- data/spec/models/conversation_spec.rb +92 -0
- data/spec/models/credit_card_account_spec.rb +34 -0
- data/spec/models/current_asset_spec.rb +70 -0
- data/spec/models/current_liability_spec.rb +70 -0
- data/spec/models/custom_field_spec.rb +52 -0
- data/spec/models/discount_spec.rb +100 -0
- data/spec/models/document_spec.rb +104 -0
- data/spec/models/entry_spec.rb +82 -0
- data/spec/models/equity_spec.rb +76 -0
- data/spec/models/error_response_spec.rb +46 -0
- data/spec/models/expense_spec.rb +76 -0
- data/spec/models/gl_item_spec.rb +100 -0
- data/spec/models/income_spec.rb +82 -0
- data/spec/models/inspection_area_spec.rb +46 -0
- data/spec/models/inspection_item_spec.rb +52 -0
- data/spec/models/inspection_spec.rb +118 -0
- data/spec/models/journal_entry_spec.rb +88 -0
- data/spec/models/journal_entry_split_response_spec.rb +52 -0
- data/spec/models/journal_entry_split_spec.rb +52 -0
- data/spec/models/late_fee_rule_spec.rb +58 -0
- data/spec/models/lease_clause_spec.rb +46 -0
- data/spec/models/lease_contact_spec.rb +88 -0
- data/spec/models/lease_spec.rb +208 -0
- data/spec/models/management_fee_spec.rb +70 -0
- data/spec/models/management_settings_spec.rb +58 -0
- data/spec/models/marketing_spec.rb +166 -0
- data/spec/models/non_current_asset_spec.rb +58 -0
- data/spec/models/non_current_liability_spec.rb +70 -0
- data/spec/models/non_operating_expense_spec.rb +76 -0
- data/spec/models/non_operating_inome_spec.rb +76 -0
- data/spec/models/note_spec.rb +64 -0
- data/spec/models/owner_contribution_spec.rb +116 -0
- data/spec/models/owner_draw_spec.rb +116 -0
- data/spec/models/owner_spec.rb +94 -0
- data/spec/models/payment_charge_spec.rb +92 -0
- data/spec/models/payment_spec.rb +134 -0
- data/spec/models/portfolio_spec.rb +168 -0
- data/spec/models/property_manager_spec.rb +58 -0
- data/spec/models/prospect_spec.rb +322 -0
- data/spec/models/refund_spec.rb +112 -0
- data/spec/models/response_entity_spec.rb +44 -0
- data/spec/models/restapi_bulk_error_response_spec.rb +46 -0
- data/spec/models/restapi_bulk_success_response_spec.rb +34 -0
- data/spec/models/restapi_error_spec.rb +40 -0
- data/spec/models/save_account_spec.rb +136 -0
- data/spec/models/save_address_spec.rb +64 -0
- data/spec/models/save_adjustment_spec.rb +58 -0
- data/spec/models/save_auto_charge_spec.rb +68 -0
- data/spec/models/save_bank_deposit_spec.rb +40 -0
- data/spec/models/save_bill_payment_spec.rb +74 -0
- data/spec/models/save_bill_spec.rb +106 -0
- data/spec/models/save_bill_split_spec.rb +88 -0
- data/spec/models/save_building_spec.rb +248 -0
- data/spec/models/save_charge_spec.rb +64 -0
- data/spec/models/save_check_spec.rb +70 -0
- data/spec/models/save_check_split_spec.rb +70 -0
- data/spec/models/save_comment_spec.rb +34 -0
- data/spec/models/save_contact_spec.rb +164 -0
- data/spec/models/save_conversation_spec.rb +44 -0
- data/spec/models/save_credit_spec.rb +58 -0
- data/spec/models/save_discount_spec.rb +64 -0
- data/spec/models/save_journal_entry_split_spec.rb +46 -0
- data/spec/models/save_lease_journal_entry_spec.rb +58 -0
- data/spec/models/save_lease_spec.rb +134 -0
- data/spec/models/save_owner_contribution_spec.rb +86 -0
- data/spec/models/save_owner_draw_spec.rb +82 -0
- data/spec/models/save_owner_spec.rb +88 -0
- data/spec/models/save_payment_spec.rb +86 -0
- data/spec/models/save_portfolio_spec.rb +102 -0
- data/spec/models/save_prospect_contact_spec.rb +88 -0
- data/spec/models/save_prospect_spec.rb +208 -0
- data/spec/models/save_refund_spec.rb +82 -0
- data/spec/models/save_unit_spec.rb +164 -0
- data/spec/models/save_vendor_spec.rb +118 -0
- data/spec/models/save_work_order_spec.rb +92 -0
- data/spec/models/save_work_order_task_spec.rb +70 -0
- data/spec/models/split_paid_spec.rb +82 -0
- data/spec/models/split_pay_spec.rb +40 -0
- data/spec/models/task_spec.rb +106 -0
- data/spec/models/transaction_spec.rb +146 -0
- data/spec/models/unit_spec.rb +280 -0
- data/spec/models/update_lease_journal_entry_spec.rb +58 -0
- data/spec/models/vendor_spec.rb +208 -0
- data/spec/models/work_order_spec.rb +218 -0
- data/spec/spec_helper.rb +111 -0
- metadata +609 -0
data/Gemfile
ADDED
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,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
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)
|