Driveshaft is a Sinatra application built to turn Google Spreadsheets and Google Documents into JSON with the click of a button.
For the full user guide, please refer to the documentation. Or, if you're somewhat familiar with Ruby applications and Google Authentication / S3, use this quickstart guide to get up and running.
Deploy instantly with Heroku.
Be sure to have the following system dependencies installed:
# Git, Ruby, Node $ brew install git node ruby # Bundler $ gem install bundler
Clone the repository and resolve app dependencies
$ git clone firstname.lastname@example.org:newsdev/driveshaft.git $ cd driveshaft $ npm install $ bundle install
Driveshaft uses environmental variables for configuration. Set the following variables either at runtime on the commandline, or in your
Create a service account to authenticate against the Google API. You will need to set up a Google Developers Project with the Drive API enabled. Then create a set of credentials. Choose a service account key, and download the contents as JSON.
Store the JSON file on your computer (or your deployed environment), and set
GOOGLE_APPLICATION_CREDENTIALS to the filepath where it is stored.
Required for S3 access. Use credentials that have access to any S3 buckets you wish to use.
AWS_ACCESS_KEY_ID="****" AWS_SECRET_ACCESS_KEY="****" AWS_REGION="us-east-1"
DRIVESHAFT_SETTINGS_MAX_VERSIONS="5" # set to a maximum number of previous file versions to keep on S3 DRIVESHAFT_SETTINGS_INDEX_FOLDER="****" # a Google Team Drive folder ID
Run the app locally
Documentation is available on the
gh-pages branch. To view or contribute to the docs, checkout that branch, and run the following to start the documentation server:
gem install jekyll jekyll server
Questions / comments / feature requests / concerns? Please use the Issues page.
The documentation and code are licensed under the Apache License, Version 2.0.
Copyright 2015 The New York Times Company.