<commit_before>= Methadone - kick the bash habit and start your command line apps off right

Author::  <NAME> (mailto:davetron5000 at g mail dot com)
Copyright:: Copyright (c) 2011 by <NAME>
License:: Distributes under the Apache License, see LICENSE.txt in the source distro

{<img src="https://secure.travis-ci.org/davetron5000/methadone.png" alt="Build Status" />}[http://travis-ci.org/davetron5000/methadone]

A smattering of tools to make your command-line apps easily awesome; kick the bash habit without sacrificing any of the power.

The goal of this project is to make it as easy as possible to write awesome and powerful command-line applications.

Toward that end, this gem provides:

* A command-line app to bootstrap a new command-line app.
* A lightweight DSL to create your command-line interface, that loses none of <tt>OptionParser</tt>'s power.
* A simplified means of running external commands that has better error handling and diagnostics.
* Simplified zero-config logging that is a better-than-<tt>puts</tt> <tt>puts</tt>.
* Cucumber Steps, built on Aruba, to allow you to test-drive your command-line app development.

== Tutorial

http://a1.mzstatic.com/us/r30/Publication/v4/2c/f7/90/2cf7902f-f709-9125-c73d-87311216527d/MethadoneTutorial.225x225-75.jpg

{Tutorial for your iPad}[http://itunes.apple.com/us/book/kick-bash-habit-ruby-methadone/id515825242?ls=1] - This is a *free* iBooks interactive ebook that contains a step-by-step tutorial on making an awesome app with Methadone, including screencasts.

== Links

* {Source on Github}[http://github.com/davetron5000/methadone]
* RDoc[http://davetron5000.github.com/methadone/rdoc]

== Platforms

* The build runs on Travis for:
  * MRI Ruby 1.8.7
  * MRI Ruby 1.9.2
  * MRI Ruby 1.9.3
  * RBX
  * REE
  * JRuby in both 1.8 and 1.9 mode

It should work on 2.0.0 but there's a weird bundler issue where some of the aruba tests fail in odd ways.

== Bootstrapping a new CLI App

The +methadone+ command-line app will bootstrap a new command-line app, setting up a proper gem structure, unit tests, and cucumber-based tests with aruba:

    $ methadone --help
    Usage: methadone [options] app_name
            --force                      Overwrite files if they exist
    $ methadone newgem
    $ cd newgem
    $ bundle
    $ rake
    1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
    1 scenario (1 passed)
    3 steps (3 passed)
    $ cat features/newgem.feature
    Feature: My bootstrapped app kinda works
      In order to get going on coding my awesome app
      I want to have aruba and cucumber setup
      So I don't have to do it myself

      Scenario: App just runs
        When I run `newgem --help`
        Then the exit status should be 0<commit_msg>update README to current build matrix<commit_after>= Methadone - kick the bash habit and start your command line apps off right

Author::  <NAME> (mailto:davetron5000 at g mail dot com)
Copyright:: Copyright (c) 2011 by <NAME>
License:: Distributes under the Apache License, see LICENSE.txt in the source distro

{<img src="https://secure.travis-ci.org/davetron5000/methadone.png" alt="Build Status" />}[http://travis-ci.org/davetron5000/methadone]

A smattering of tools to make your command-line apps easily awesome; kick the bash habit without sacrificing any of the power.

The goal of this project is to make it as easy as possible to write awesome and powerful command-line applications.

Toward that end, this gem provides:

* A command-line app to bootstrap a new command-line app.
* A lightweight DSL to create your command-line interface, that loses none of <tt>OptionParser</tt>'s power.
* A simplified means of running external commands that has better error handling and diagnostics.
* Simplified zero-config logging that is a better-than-<tt>puts</tt> <tt>puts</tt>.
* Cucumber Steps, built on Aruba, to allow you to test-drive your command-line app development.

== Tutorial

http://a1.mzstatic.com/us/r30/Publication/v4/2c/f7/90/2cf7902f-f709-9125-c73d-87311216527d/MethadoneTutorial.225x225-75.jpg

{Tutorial for your iPad}[http://itunes.apple.com/us/book/kick-bash-habit-ruby-methadone/id515825242?ls=1] - This is a *free* iBooks interactive ebook that contains a step-by-step tutorial on making an awesome app with Methadone, including screencasts.

== Links

* {Source on Github}[http://github.com/davetron5000/methadone]
* RDoc[http://davetron5000.github.com/methadone/rdoc]

== Platforms

* The build runs on Travis for:
  * MRI Ruby 1.9.2
  * MRI Ruby 1.9.3
  * MRI Ruby 2.0.0
  * MRI Ruby 2.1.0
  * JRuby in both 1.8 and 1.9 mode

It should work on 2.0.0 but there's a weird bundler issue where some of the aruba tests fail in odd ways.

== Bootstrapping a new CLI App

The +methadone+ command-line app will bootstrap a new command-line app, setting up a proper gem structure, unit tests, and cucumber-based tests with aruba:

    $ methadone --help
    Usage: methadone [options] app_name
            --force                      Overwrite files if they exist
    $ methadone newgem
    $ cd newgem
    $ bundle
    $ rake
    1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
    1 scenario (1 passed)
    3 steps (3 passed)
    $ cat features/newgem.feature
    Feature: My bootstrapped app kinda works
      In order to get going on coding my awesome app
      I want to have aruba and cucumber setup
      So I don't have to do it myself

      Scenario: App just runs
        When I run `newgem --help`
        Then the exit status should be 0
{'fraction_non_alphanumeric': 0.08343891402714933, 'fraction_numerical': 0.037104072398190045, 'mean_word_length': 3.4208, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 2, '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': '1485091', 'n_tokens_mistral': 1908, 'n_tokens_neox': 1702, 'n_words': 691}