<commit_before># Deep Thought Heroku Deployer

Deep Thought deployer for Heroku.<commit_msg>Add documentation<commit_after># Deep Thought Heroku Deployer

Deploy to Heroku with Deep Thought.

## Install it

    gem install deep_thought-heroku

## Require it

In your Deep Thought's `config.ru`:

    require "deep_thought"
    require "deep_thought-heroku"

    DeepThought.setup(ENV)

    run DeepThought.app

## .deepthought.yml it

In your Heroku-bound projects, set the `deploy_type` to "heroku":

    deploy_type: heroku

Additionally, the Heroku deployer needs the remote repos for each environment's Heroku app:

    heroku:
      environments:
        development: <EMAIL>:development.git
        staging: <EMAIL>:staging.git
        production: <EMAIL>:production.git

## Use it

Pretty much Deep Thought as usual - deploy any branch to any environment.

As of right now, deploy actions do not do anything. In the roadmap is to map actions to `heroku run` tasks.

The only deploy variable recognized right now is "force" - setting `force = true` will do a force push to Heroku.

## Hack it

Find an issue? Want to make the deployer more robust?

Set it up:

    script/bootstrap

Create an `.env`:

    echo RACK_ENV=development > .env

Set up the databases (PostgreSQL):

    createuser deep_thought
    createdb -O deep_thought -E utf8 deep_thought_development
    createdb -O deep_thought -E utf8 deep_thought_test
    rake db:migrate

Test it:

    script/test

## Contribute it

1. Fork
2. Create
3. Code
4. Test
5. Push
6. Submit
7. Yay!
{'fraction_non_alphanumeric': 0.07087628865979381, 'fraction_numerical': 0.005798969072164949, 'mean_word_length': 3.4371428571428573, 'pattern_counts': {'":': 1, '<': 6, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7159225', 'n_tokens_mistral': 504, 'n_tokens_neox': 469, 'n_words': 190}