alainravet/todo_next

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Goal::Tdd

A small DSL that converts free text into pending tests/specs.

## Installation

Add this line to your application's Gemfile:

    gem 'todo_next'

And then execute:

    $ bundle

## Usage

Create a first spec with a todo_next skeleton:

```shell
$ cd <project>
$ todo_next stack
    # => <project>/spec/stack_spec.rb was created.
$ cat spec/stack_spec.rb
    # =>
```
```ruby
    require 'rubygems'
    require 'rspec'
    require 'todo_next'

    todo_next(<<TEXT)
        A Foobar
          √ is white by default
            ex: puts Foobar.new.colour  # => 'white'
          * can be resized
            example:
              foobar.resize!(+10, -2)
          - can be reset
          truthiness()
            is always true
            is never false
          (add more tests)
    TEXT

        # √ == passed   => same as a comment line
        # * == current  => leading char - '*' - is kept
    # example blocks (ex:, example:) are ignored, like comments.

    #describe "<what you're testing>" do
    #  specify 'this should happen' do
    #    .. some code
    #  end
```
This text is equivalent to :

```ruby
        describe "A Foobar" do
          it '* can be resized'
          it 'can be reset'
          describe 'truthiness()' do
            it 'is always true'
            it 'is never false'
          end
          it '(add more tests)'
        end
```

![screenshot1](https://github.com/alainravet/todo_next/raw/master/doc/screenshot_1.png)
![screenshot1](https://github.com/alainravet/todo_next/raw/master/doc/screenshot_2.png)

## Contributing

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/alainravet/todo_next)