Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/hanneskaeufler/danger-todoist

Danger plugin to look for todo/fixme comments in pull requests
https://github.com/hanneskaeufler/danger-todoist

automation ci code-review ruby

Last synced: 4 months ago
JSON representation

Danger plugin to look for todo/fixme comments in pull requests

Lists

README

        

[![Gem Version](https://badge.fury.io/rb/danger-todoist.svg)](https://badge.fury.io/rb/danger-todoist)

# danger-todoist

danger-todoist is a [https://danger.systems](https://danger.systems) plugin to automatically notify you of
todos left in the code of a pull/merge request.

## Installation

Add `gem 'danger-todoist'` to your `Gemfile` and start using todoist in your `Dangerfile`.

## Usage

Methods and attributes from this plugin are available in
your `Dangerfile` under the `todoist` namespace.

Ensure, by warning, there are no TODOS left in the modified code

todoist.warn_for_todos

Ensure, by failing the build, no TODOS left in the modified code

todoist.fail_for_todos

Set custom warning message for warning

todoist.message = "Please fix all TODOS"
todoist.warn_for_todos

List every todo item

todoist.warn_for_todos
todoist.print_todos_table

Do anything with the todos. Todos have `text` and `file` properties

todoist.todos.each { |todo| puts todo.text }

#### Attributes

`message` - Message to be shown

`keywords` - Keywords to recognize as todos

#### Methods

`warn_for_todos` - Adds a warning if there are todos found in the modified code

`fail_for_todos` - Adds an error if there are todos found in the modified code

`print_todos_table` - Adds a list of offending files to the danger comment

`todos` - Returns the list of todos in the current diff set

## Development

1. Clone this repo
2. Run `bundle install` to setup dependencies.
3. Run `bundle exec rake spec` to run the tests.
4. Use `bundle exec guard` to automatically have tests run as you make changes.
5. Make your changes.

## Licence

This project is MIT licenced. Parts of the code (see class `Patch`) are heavily
inspired by [ruby-git_diff_parser](https://github.com/packsaddle/ruby-git_diff_parser).