This library is the code behind the
flying-sphinx gem. Its sole purpose is to connect Thinking Sphinx to the Flying Sphinx Heroku addon – and so you can just use Thinking Sphinx as normal on Heroku-hosted sites.
Installation and Usage
This is all covered pretty well on the Flying Sphinx site, but if you’re reading this on Github, you’re probably keen on using this repository as the source instead of the gem. Here’s the code snippet for your
gem 'flying-sphinx', :git => 'git://github.com/flying-sphinx/flying-sphinx.git', :branch => 'master', :ref => '6b691c2b43'
Compatibility and Limitations
Flying Sphinx is built with support for Rails 2.3.6 and beyond. Sadly, earlier versions of Rails aren’t supported due to a requirement of a recent version of Rack deep in the dependency tree.
It works from Ruby 1.8.7 onwards, and on both Heroku’s Bamboo and Cedar stacks. You do need to use it with Heroku at this point – allowing others hosting elsewhere to use Flying Sphinx is something I’m considering, but it’s not possible right now.
There are limitations with Heroku’s setup and Sphinx/Thinking Sphinx functionality – again, the official documentation covers this, so have a read there.
Patches are indeed welcome – though I understand it’s a little tricky to test them thoroughly. It’s best to give your changes a spin on your Heroku app that’s running Flying Sphinx (and if you don’t have one of those, I’m a little confused as to why you’re contributing).
API documentation is required – consider this paragraph a placeholder for that.
In the meantime, please keep in mind the following:
- Write tests using RSpec
- Keep your commits in a separate branch
- Don’t change the version or History file in your feature branch – makes merging changes much easier.
- Josh Kalderimis for switching the API calls to Faraday, improving the specs, a ton of debugging, and encouraging a versioned API.
- Paolo Perrotta and Matthew Zikherman for updating dependencies for faraday_middleware.
Copyright © 2011-2012 Pat Allan, released under an MIT licence.