guard/guard-rspec — pull request #217 by 907th (2013-11-19 10:28:24+00:00)
Title: Respect guard notifier + Many more refactorings

My first motivation was to force guard-rspec to use native Guard notifications settings.
E.g. I want to use only Tmux notification with custom settings:
```ruby
# Guardfile
notification :tmux, color_location: 'status-left-fg'
```
But as you know current version of guard-rspec's formatter for RSpec uses `Guard::Notification#notify` without worrying about user notifications config (from Guardfile).

So I decided to use next strategy:
1. Save rspec results summary in `./tmp/rspec_guard_result` file along with failed paths, and then
2. read that summary back in Runner and show notifications from here (in running Guard, not from RSpec formatter).

It seemed not big improvement, but actually it led me to many more refactorings. This is summary:
* Extract options management to `Guard::RSpec::Options` class.
Now all options are processed by `Guard::RSpec` with help of that class and then passed to Runner, Command, etc.
* Split single `Inspector` class to subclasses `FocusedInspector`,
`KeepingInspector`, `SimpleInsector` with base class `Inspectors::Base`.
Instanciate inspector using `Inspectors::Factory` in Runner.
That allows us to move logic of `focus_on_failed` and `keep_failed`
to `FocusedInspector` and `KeepingInspector` accordingly.
* Move all notifications code to separate class `Guard::RSpec::Notifier`.

Yes, I understand that there is too many modifications for single fix, but I spent several days for it and I'm sure that it was not for nothing.

I tried to test all my code well and don't remove existing test cases (except when it is a clear need). So now I'm waiting for your feedback )