plexus/yaks — pull request #27 by plexus (2014-09-04 16:03:31+00:00)
Title: Runner/Pipeline, hooks, 100% mutcov

This commit contains a major refactoring, making it explicit that Yaks is essentially a pipeline of several transformation steps: map, format, serialize. (currently also primitivize, but that should become part of serialize I think).

One thing that now became easy to do was to put a generic system of hooks into place, e.g.

```ruby
yaks = Yaks.new do
around :serialize do |data|
# do some timing
yield(data)
end

after :map do |resource|
# e.g. add extra links to the resource
end

skip :serialize # bring back old behavior, return arrays/hashes, not serialized json
end
```

This PR also contains a few improvements of the YARD docs (not too many yet), and, :trumpet: brings us to 100% mutation coverage.

This is enough functionality to bump to 0.5.0 I think. Just need to update the Changelog, README, and breaking changes message.