<commit_before>![http://cl.ly/image/3k1t463x2e0u](http://cl.ly/image/3k1t463x2e0u/content#.png)

Boomerang is a Javascript widget that Heroku Addon Providers embed on their 
single-sign-on pages, giving customers a boomerang back to the Heroku website.
It has no dependencies, a small footprint, and it works over SSL.

## Basic Usage

Drop this snippet on your page and you're good to go.

```js
<script src="https://s3.amazonaws.com/assets.heroku.com/boomerang/boomerang.js"></script>
```

## Advanced Usage

You can prevent Boomerang from automatically displaying by giving your `<body>` 
element a class of `no-boomerang`. This will allow you to instantiate a boomerang object 
manually:

```html
<head>
  <script src="https://s3.amazonaws.com/assets.heroku.com/boomerang/boomerang.js"></script>
  <script>
    document.addEventListener('DOMContentLoaded', function(){
      window.boomerang = new Boomerang({
        addon: 'foo', app: 'bar'
      });
    });
  </script>
</head>

<body class='no-boomerang'></body>
```

## Development

You'll need [node](http://nodejs.org/download/) to hack on this.

```bash
[sudo] npm install -g stylus coffee-script http-server s3
brew install casperjs
export S3_KEY='Amazon S3 Key'
export S3_SECRET='Amazon S3 Secret'
export S3_BUCKET='Amazon S3 Bucket'
```

```bash
cake cut                # Build and sync static files with S3
cake dev                # runs an http server and auto-compiles code changes
cake test               # runs casperjs test suite
```<commit_msg>Update README with foreman instructions for cake cut<commit_after>![http://cl.ly/image/3k1t463x2e0u](http://cl.ly/image/3k1t463x2e0u/content#.png)

Boomerang is a Javascript widget that Heroku Addon Providers embed on their 
single-sign-on pages, giving customers a boomerang back to the Heroku website.
It has no dependencies, a small footprint, and it works over SSL.

## Basic Usage

Drop this snippet on your page and you're good to go.

```js
<script src="https://s3.amazonaws.com/assets.heroku.com/boomerang/boomerang.js"></script>
```

## Advanced Usage

You can prevent Boomerang from automatically displaying by giving your `<body>` 
element a class of `no-boomerang`. This will allow you to instantiate a boomerang object 
manually:

```html
<head>
  <script src="https://s3.amazonaws.com/assets.heroku.com/boomerang/boomerang.js"></script>
  <script>
    document.addEventListener('DOMContentLoaded', function(){
      window.boomerang = new Boomerang({
        addon: 'foo', app: 'bar'
      });
    });
  </script>
</head>

<body class='no-boomerang'></body>
```

## Development

You'll need [node](http://nodejs.org/download/) to hack on this.

```bash
[sudo] npm install -g stylus coffee-script http-server s3
brew install casperjs
cp .env{.sample,}
```

```bash
foreman run cake cut    # Build and sync static files with S3
cake dev                # runs an http server and auto-compiles code changes
cake test               # runs casperjs test suite
```
{'fraction_non_alphanumeric': 0.12119183126883161, 'fraction_numerical': 0.014060930699698694, 'mean_word_length': 3.7731629392971247, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '581074', 'n_tokens_mistral': 1009, 'n_tokens_neox': 944, 'n_words': 311}