This is a collection of handy tools to make your life developing against the Greyscale.io platform easy and delightful.
Add this line to your application's Gemfile:
gem 'greyscale_rails'
And then execute:
$ bundle
Or install it yourself as:
$ gem install greyscale_rails
There are a few things this gem provides
GreyscaleRecord is the default ORM for the Greyscale.io platform and there's some configuration that needs to happen, but it's somewhat verbose. To spare you the pain of reading all those docs, you can configure everything in a single yaml file: greyscale.yml
Here's what it looks like
development:
driver: yaml
data_root: db/fixtures
live_reload: true
test:
driver: yaml
data_root: test/db/fixtures
# in progress. For now production should use yaml or your own API with drivers
production:
driver: greyscale
data_root: http://api.greyscale.io
revision_root: http://revisions.greyscale.io
app_id: <APP_ID>
app_key: <APP_KEY>
Here's what all the fields are:
driver
: tells the application to load the proper data fetcher. The options areyaml
: will load yaml files from your local file system folder, specified bydata_root
greyscale
: will load data from a remote server that complies to the Greyscale.io API standard (in progress)
data_root
: the root path of the source from which you want to load your datarevision_root
: the root path of the source from which you load data previewslive_reload
: reloads the data from source on every page load. Not recommended in production.app_id
: Your app's Greyscale.io API idapp_key
: Your app's Greyscale.io API key
This is a module that's loaded into Application Controller that detects a revision key in params[:revision]
, and automatically applies the patch for the duration of the call.
NOTE: it applies it to GreycaleRecord::Base
's data store, so if you have more than one store that you are using, this may not work as well as you hope.
Contribution directions go here.
The gem is available as open source under the terms of the MIT License.