Yelly likes to yell. To make the magic happen for simple cases just invoke him ala:
bundle exec rspec --require=yelly_the_yellingist_formatter.rb --format=YellyTheYellingistFormatter spec/models/your_file_here_spec.rb
In closing, >:O
| require 'rspec/core/formatters/documentation_formatter' | |
| class YellyTheYellingistFormatter < RSpec::Core::Formatters::DocumentationFormatter | |
| def example_passed(example) | |
| dabble_in_that_which_should_not_be_dabbled('yes!', example) | |
| super(example) | |
| shout!('yes!', example) | |
| end | |
| def example_failed(example) | |
| dabble_in_that_which_should_not_be_dabbled('no!', example) | |
| super(example) | |
| shout!('no!', example) | |
| end | |
| def example_pending(example) | |
| dabble_in_that_which_should_not_be_dabbled('meh', example) | |
| super(example) | |
| shout!('meh', example) | |
| end | |
| private | |
| def dabble_in_that_which_should_not_be_dabbled(say_what_now, example) | |
| example.metadata[:description] = "#{say_what_now.upcase} - #{example.metadata[:description]}" | |
| end | |
| def shout!(say_what_now, example) | |
| return unless you_got_the_pipes? | |
| system("say", say_what_now) | |
| end | |
| def you_got_the_pipes? | |
| @pipes_present ||= system('which say > /dev/null') | |
| end | |
| end |