Sha256: 35879805054492c7ff5b7aa9e1519c1375726121d6c1cc604a45294d7ca1070e

Contents?: true

Size: 1.62 KB

Versions: 1

Compression:

Stored size: 1.62 KB

Contents

## Method Log

Trace the history of an individual method in a git repository.

This is a work-in-progress and nowhere near production-ready.

### Dependencies

* Ruby >= v2.0.0 (just because I'm using named parameters)
* The [rugged](https://github.com/libgit2/rugged) Ruby gem (listed as dependency in gemspec)
* The [libgit2](https://github.com/libgit2/libgit2) C library (included as part of rugged gem)

### Install

    gem install method_log

### Run

    method_log <method-signature> # e.g. Foo::Bar#baz

### Todo

* Support earlier versions of Ruby (it ought to be possible to support down to v1.9.3 fairly easily)
* Investigate whether parser gem can only parse source code written using the current Ruby version
  * It would be nice to have a better error message if parsing fails
* Support for Rspec tests
* Default to looking for commits in current git branch
* Maybe add as new git command or extension to existing command e.g. `git log`
* Optimise search for method definitions:
  * First look in file where method was last defined
* By default stop when method disappears from history
* Find "similar" method implementations e.g. by comparing ASTs of implementations

### Credits

Written by [James Mead](http://jamesmead.org) and the other members of [Go Free Range](http://gofreerange.com).

Thanks to Michael Feathers for some ideas in [delta-flora](https://github.com/michaelfeathers/delta-flora).

Thanks to [TICOSA](http://ticosa.org/) for giving me the impetus to do something about an idea I'd been kicking around for a while.

### License

Released under the [MIT License](https://github.com/freerange/method_log/blob/master/LICENSE).

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
method_log-0.0.5 README.md