Rentvine
This gem is a wrapper for the Rentvine API.
Installation
Add this line to your application's Gemfile:
gem 'rentvine'And then execute:
$ bundle install
Or install it yourself as:
$ gem install rentvine
Usage
TODO: Write usage instructions here
Development
Local Development using RVM
You will need to add a .env file to the root of the project with the following variables:
RENTVINE_ACCOUNT_CODE=your_account_code
RENTVINE_API_KEY=your_api_key
RENTVINE_API_SECRET=your_api_secret
After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.
Local Development using Docker
You can also use Docker to develop the gem. To do this, you will need to have Docker installed on your machine.
To get started, you will need to build the Docker image:
docker compose build
After the image is built, you can run the following command to start the container. Note that you will want to do this in its own terminal window so you can attach to the container.
docker compose up
You will see "Attaching to rentvine" in the output. This means the container is running and you can now run the following command to attach to the container:
docker exec -it rentvine bash
To stop the container, you can run the following command:
docker compose down
Rebuild Gemfile.lock
docker compose run rentvine bundle install
Implemented Endpoints
-
Export
- Leases
- Export Lease:
GET /leases/export
- Export Lease:
- Properties
- Export Properties
GET /properties/export
- Export Properties
- Units
- Export Units
GET /properties/units/export
- Export Units
- Applications
- Export Applications
GET /screenings/application/export
- Export Applications
- Leases
-
Accounting
- Accounts
- List
GET /accounting/accounts
- List
- Bills
- List
GET /accounting/bills - Create
POST /accounting/bills - View
GET /accounting/bills/:bill_id
- List
- Ledgers
- List
GET /accounting/ledgers - Search
GET /accounting/ledgers/search
- List
- Transactions
- Search
GET /accounting/transactions/search
- Search
- Transaction Entries
- Search
GET /accounting/transactions/entries/search
- Search
- Diagnostics
- Unused Vendor Credits
GET /accounting/diagnostics/unused-vendor-credits - Suppressed Fee Balance Mismatch
GET /accounting/diagnostics/suppressed-fee-balance-mismatch - Negative Bank Accounts
GET /accounting/diagnostics/negative-bank-accounts - Reserve Not Met By Ledger
GET /accounting/diagnostics/reserve-not-met - Escrow Mismatch By Ledger
GET /accounting/diagnostics/escrow-mismatch - Prepayment Mismatch By Ledger
/accounting/diagnostics/prepayment-mismatch - Unused Prepayments
GET /accounting/diagnostics/unused-prepayments - Bank Account Reconcialiation Lapse
GET /accounting/diagnostics/bank-account-reconciliation-lapse - Vendor Insurance Lapse
GET /accounting/diagnostics/vendor-insurance-lapse - Credit Debit Mismatch
GET /accounting/diagnostics/credit-debit-mismatch - Manager Ledger Balances
GET /accounting/diagnostics/manager-ledger-balance
- Unused Vendor Credits
- Accounts
-
Contacts
- Owners
- List
GET /owners/search
- List
- Tenants
- List
GET /tenants/search
- List
- Vendors
- List
GET /vendors/search
- List
- Associations
- List
GET /associations/search
- List
- Owners
-
Files
- Files
- List
GET /files - View
GET /files/:file_id - Upload
POST /files - Delete
DELETE /files/:file_id
- List
- Files
-
Leases
- Leases
- List
GET /leases - View
GET /leases/:lease_id
- List
- Leases
-
Maintenance
- Work Orders
- List
GET /maintenance/work-orders - Create
POST /maintenance/work-orders - View
GET /maintenance/work-orders/:work_order_id
- List
- Work Order Statuses
- List
GET /maintenance/work-orders/statuses - Create
POST /maintenance/work-orders/statuses - View
GET /maintenance/work-orders/statuses/:work_order_id
- List
- Vendor Trades
- List
GET /maintenance/vendor-trades - Create
POST /maintenance/vendor-trades - View
GET /maintenance/vendor-trades/:work_order_id
- List
- Inspections
- List
GET /maintenance/inspections - Create
POST /maintenance/inspections - View
GET /maintenance/inspections/:work_order_id
- List
- Work Orders
-
Portfolios
- Portfolios
- List
GET /portfolios/search
- List
- Portfolios
-
Properties
- Properties
- List
GET /properties - Create
POST /properties - View
GET /properties/:property_id - Update
POST /properties/:property_id - Delete
DELETE /properties/:property_id - Deactiveate
POST /properties/:property_id/deactivate - Activate
POST /properties/:property_id/activate
- List
- Units
- List
GET /properties/:property_id/units - View
GET /properties/:property_id/units/:unit_id
- List
- Properties
TODO Endpoints
All known endpoints have been implemented. If you know of any endpoints that are not listed above, please open an issue or a pull request.
Helper Object Type
Object Types is under the API documentation.
You can access the options type helper as a hash by calling Rentvine::OBJECT_TYPES.
This will return a hash of all the object types and their corresponding values.
Limitations
In order to use the Rentvine API you must first have a Rentvine account. At this time, Rentvine does offer a sandbox environment for testing, but you will need to reach out to them to see about getting it. This gem can be used with both the sandbox and production environments.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/Launch-Engine/rentvine. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the rentvine project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.