PlaceOS Resource
Abstraction over RethinkORM changefeeds
Implementation
PlaceOS::Resource(T) is a layer over RethinkORM models, providing an abstract interface to a table's changefeed.
abstract def process_resource(action : Action, resource : T)
process_resource(action : Action, resource : T) is the only abstract method one must implement.
On startup, the entire table is iterated asynchronously, yielding :created events for each model.
After the initial pass, Action::Created, Action::Deleted, and Action::Updated events on the table are processed as they are received.
Action::Updated
The model received with a :updated event has the changes applied in the form of standard active-model attribute changes information.
def on_reconnect
A non-abstract def. In its stock form, on_reconnect is a noop.
This method can be overwritten in inheriting classes to perform actions after a changefeed is recovered.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Caspian Baska - creator and maintainer