Cellect

A scalable subject selector for Panoptes

Build Status Test Coverage Code Climate Gem Version

Available as

Cellect::Server

An actor based system that provides an API around subject selection actions. Server nodes are discovered via Attention.

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 operations for server awareness and API communication.

API timeouts can be set with

  Cellect::Client::Connection.timeout = 5 # seconds

Building

  1. Install Boost V1.55+: OS X: brew update && brew install boost, Ubuntu: sudo apt-get update && sudo apt-get install libboost-all-dev
  2. 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 Redis server to run the specs.

Run the specs with rake

Start server:

rackup # uses config.ru file

Versions

See .travis.yml for supported ruby versions