Cellect
A scalable subject selector for Panoptes
Available as
- cellect-server
- cellect-client
- cellect(combined)
Cellect::Server
An actor based system that provides an API around subject selection actions. Server nodes are discovered via ZooKeeper.
Cellect::Server::Adapters
An adapter provides an API for defining the data to be used with the system.
We're overriding the default adapter with a customization in cellect_panoptes.
Cellect::Client
Provides a mix of asynchronous and synchronous operations for server awareness and API communication.
Building
- Install Boost V1.55+: OS X:
brew update && brew install boost, Ubuntu:sudo apt-get update && sudo apt-get install libboost-all-dev - Install gem dependencies:
bundle(See Note)
Note
To install rice your Ruby must be compiled with shared libraries enabled, from the rice docs:
- rvm:
rvm reinstall [version] -- --enable-shared - rbenv:
CONFIGURE_OPTS="--enable-shared" rbenv install [version]
Testing
- You'll need a local Zookeeper server to run the specs (they will auto start / stop the server for you).
brew install zookeeper- Note: this may require a Java Runtime (JRE) install,
brew cask install java
Run the specs with rake
Start server:
rackup # uses config.ru file
Versions
See .travis.yml for supported ruby versions