The instafailing RSpec progress bar formatter
Ruby Shell
Clone or download
Permalink
Failed to load latest commit information.
.github Chore: Update to the most recent config files Jul 12, 2018
bin Chore: Add setup script Dec 31, 2017
certs Chore: Update Rubygems Certificate Aug 3, 2018
checksum Chore: Add checksums for fuubar-2.3.2.gem Aug 3, 2018
lib Chore: Rubocop updates Aug 3, 2018
settings Chore: Update config files to latest versions Apr 26, 2016
spec Chore: Rubocop updates Aug 3, 2018
.chamber.pub.pem Chore: Update config files to latest versions Apr 26, 2016
.codeclimate.yml Chore: Update to the most recent config files Jul 12, 2018
.gitignore Chore: Update to the most recent config files Jul 12, 2018
.overcommit.yml Chore: Update to the most recent config files Jul 12, 2018
.rspec Add .rspec to eat my own dogfood Nov 17, 2010
.rubocop.yml Chore: Upgrade Rubocop config Dec 31, 2017
.rubocop_core.yml Chore: Update to the most recent config files Jul 12, 2018
.rubocop_local.yml Chore: Rubocop updates Aug 3, 2018
.rubocop_rspec.yml Chore: Update to the most recent config files Jul 12, 2018
.ruby-version Chore: Update to the most recent config files Jul 12, 2018
.travis.yml Tests: Remove JRuby Builds Aug 3, 2018
CHANGELOG.md Docs: Update CHANGELOG for version 2.3.2 Aug 3, 2018
CODE-OF-CONDUCT.md Chore: Update config files to latest versions Apr 26, 2016
Gemfile Chore: Update gems Aug 3, 2018
Gemfile.lock Chore: Update gems Aug 3, 2018
LICENSE.txt Chore: Update to the most recent config files Aug 15, 2016
README.md Docs: Add Ruby 2.4 to README Dec 31, 2017
fuubar.gemspec Chore: Update gems Aug 3, 2018

README.md

#Fuubar

Gem Version Rubygems Rank Overall Rubygems Rank Daily Rubygems Downloads Build Status Code Climate

Fuubar is an instafailing RSpec formatter that uses a progress bar instead of a string of letters and dots as feedback.

gif.

Supported Rubies

  • MRI Ruby 1.8.7
  • MRI Ruby 1.9.2
  • MRI Ruby 1.9.3
  • MRI Ruby 2.0.x
  • MRI Ruby 2.1.x
  • MRI Ruby 2.2.x
  • MRI Ruby 2.3.x
  • MRI Ruby 2.4.x
  • JRuby (in 1.8 compat mode)
  • JRuby (in 1.9 compat mode)

Installation

First:

gem install fuubar

or in your Gemfile

gem 'fuubar'

Then, when running rspec:

rspec --format Fuubar --color spec

Or, if you want to use Fuubar as your default formatter, simply put the options in your .rspec file:

--format Fuubar
--color

Security

fuubar is cryptographically signed. To be sure the gem you install hasn’t been tampered with:

  • Add my public key (if you haven’t already) as a trusted certificate
gem cert --add <(curl -Ls https://raw.github.com/thekompanee/fuubar/master/certs/thekompanee.pem)
  • gem install fuubar -P MediumSecurity

The MediumSecurity trust profile will verify signed gems, but allow the installation of unsigned dependencies.

This is necessary because not all of fuubar has a dependency on RSpec which isn't signed, so we cannot use HighSecurity.

Advanced Usage

Customizing the Bar

Fuubar exposes an RSpec configuration variable called fuubar_progress_bar_options which, when set will be passed directly to ruby-progressbar which does all the heavy lifting. Take a look at the documentation for details on all of the options you can pass in.

Let's say for example that you would like to change the format of the bar. You would do that like so:

# spec_helper.rb

RSpec.configure do |config|
  config.fuubar_progress_bar_options = { :format => 'My Fuubar! <%B> %p%% %a' }
end

would make it so that, when Fuubar is output, it would look something like:

My Fuubar! <================================                  > 53.44% 00:12:31

Issues

If you have problems, please create a Github issue.

Credits

fuubar was created by Jeff Kreeftmeijer fuubar is maintained by Jeff Kreeftmeijer and The Kompanee, Ltd.

Contributing

Found an issue? Have a great idea? Want to help? Great! Create an issue issue for it, or even better; fork the project and fix the problem yourself. Pull requests are always welcome. :)

License

fuubar is Copyright © 2010-2016 Jeff Kreeftmeijer and Jeff Felchner. It is free software, and may be redistributed under the terms specified in the LICENSE file.