crossfilter-rails

Crossfilter is a JavaScript library for exploring large multivariate datasets in the browser. Crossfilter supports extremely fast (<30ms) interaction with coordinated views, even with datasets containing a million or more records; we built it to power analytics for Square Register, allowing merchants to slice and dice their payment history fluidly.

Since most interactions only involve a single dimension, and then only small adjustments are made to the filter values, incremental filtering and reducing is significantly faster than starting from scratch. Crossfilter uses sorted indexes (and a few bit-twiddling hacks) to make this possible, dramatically increasing the perfor­mance of live histograms and top-K lists. Crossfilter is available under the Apache License.

Installation

Add the following to your gemfile:

gem 'crossfilter-rails'

And then execute:

$ bundle

Add the following directive to your JavaScript manifest file (application.js):

//= require crossfilter

HighSecurity

To ensure that you're including a gem with original code, you can install this gem using a HighSecurity policy.

gem cert --add <(curl -Ls https://gist.github.com/bai/5150087/raw/public_cert.pem)
bundle install --trust-policy HighSecurity

Or, if you don't use bundler:

gem install crossfilter-rails -P HighSecurity

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request