<commit_before># Bini [![Build Status](https://secure.travis-ci.org/erniebrodeur/bini.png?branch=master,development)](http://travis-ci.org/erniebrodeur/bini)
This is a collection of snippets that help me in my daily workflow, but don't warrant entire gems/packages.

Consider it a library of useful utilities.

# Directory structure:

* bin
 * This directory contains all the scripts themselves.  This is to limit $PATH polution and make it installable as a gem.

* lib
 * Our supporting members go here, nothing fancy just grouped together in modules based on intended usage.

# Gemfile:

The Gemfile here isn't split up per package, it is just a home for the various components so I can run bundle on new hosts and get what I need.

# Binaries

## Beta:
* jsbeautify: run a json blob through yajl to pretty it up and check for syntax, supports piping.
* cower_glob: download a bunch of stuff from AUR based on a glob string.
* next_background: Indexes directories into couch, then can change links and reset xfce4 backgrounds.

## Alpha:
* dedup: Useful for deduplicating data.
* makepkg_concurrent: go into the ~/cower dir and make everything, all at once, horribly noisy.  Currently isn't concurrent.

# Library notes

* app: Gives some basic application support, and some universal namespacing.  all other components depend on this being loaded first.
* cli: Add option parsing and some support to break in via pry into any app.
* config: Used for config file loading and saving in ~/.config/bini
* filemagic: File detection based on the unix 'file' command to do magic detection.  Currently only returns mime_type.
<commit_msg>Documentation.<commit_after># Bini

A gem to help me rapidly build/deploy a cli.

#### Build Status
<table border="0">
  <tr>
    <td>master</td>
    <td><a href=http://travis-ci.org/erniebrodeur/bini?branch=master><img src="https://secure.travis-ci.org/erniebrodeur/bini.png?branch=master"/></h> </td>
  </tr>
  <tr>
    <td>development</td>
    <td><a href=http://travis-ci.org/erniebrodeur/bini?branch=development><img src="https://secure.travis-ci.org/erniebrodeur/bini.png?branch=development"/></h> </td>
  </tr>
</table>

## Installation

To install:

		% gem install bini

To use inside of an application, add this to the your gemfile:

		% gem 'bini'

and run bundle to make it available:

		% bundle

## Usage

Bini is broken up into a few pieces, always include this first:

```ruby
require 'bini'
```

Optional components can be loaded like this:

```ruby
require 'bini/config'
require 'bini/optparser'
require 'bini/log'
```

### API

Generated documentation is available via ```yard```.

## Testing

In theory, testing is complete, in practice it's a work in progress.


## Contributing

I don't have rules here, more guidelines.

* Try to make the branch name clear, words like feature/issue/bug help.
{'fraction_non_alphanumeric': 0.09901685393258428, 'fraction_numerical': 0.0007022471910112359, 'mean_word_length': 4.227522935779817, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1607452', 'n_tokens_mistral': 897, 'n_tokens_neox': 863, 'n_words': 358}