lsegal/yard — pull request #762 by iamvery (2014-04-15 22:51:44+00:00)
Title: Move global `log` method into YARD namespace

## Background
I recently ran into [a bug](https://gist.github.com/iamvery/10763416) when using YARD with Savon 2.0's "block" syntax. Savon's block implementation (which is referred to as a ["little hack"](http://savonrb.com/version2/client.html)) presumably relies on some metaprogramming. When `yard` is loaded, Savon's `log` configuration invokes YARD's default logger rather than triggering the internals of Savon.

I came to the conclusion that YARD probably shouldn't pollute the top level namespace with a `log` method. I did see #641 which seemed to agree with my logic with a caveat directed at "discoverability". I'm not confident I understand the concern, but I'm offering an alternate implementation for your consideration.

## Implementation

I opted to implement this as a namespaced module which may be included/extended wherever logging is needed. Perhaps that's not the best longterm solution, but I like this as a first pass to reduce thrash on the existing code. All specs are green for me locally on Ruby 2.1.1

Please let me know what you think. I'm happy to maintain this PR until it's acceptable :+1: