https://github.com/thekompanee/fuubar
The instafailing RSpec progress bar formatter
https://github.com/thekompanee/fuubar
Keywords
byebug pry rspec
Keywords from Contributors
activerecord activejob mvc rubygem crash-reporting progressbar rack cucumber rubocop flash-messages
Last synced: about 4 hours ago
JSON representation
Repository metadata
The instafailing RSpec progress bar formatter
- Host: GitHub
- URL: https://github.com/thekompanee/fuubar
- Owner: thekompanee
- License: mit
- Created: 2010-11-15T13:18:58.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2022-02-12T13:29:51.000Z (almost 4 years ago)
- Last Synced: 2025-12-20T22:00:01.423Z (20 days ago)
- Topics: byebug, pry, rspec
- Language: Ruby
- Homepage: http://jeffkreeftmeijer.com/2010/fuubar-the-instafailing-rspec-progress-bar-formatter/
- Size: 306 KB
- Stars: 961
- Watchers: 9
- Forks: 66
- Open Issues: 3
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
- Code of conduct: CODE-OF-CONDUCT.md
README.md
Fuubar
fuubar is an instafailing RSpec formatter that uses
a progress bar instead of a string of letters and dots as feedback.

Installation
gem install fuubar
# or in your Gemfile
gem 'fuubar'
Usage
In order to use fuubar, you have three options.
Option 1: Invoke It Manually Via The Command Line
rspec --format Fuubar --color
Option 2: Add It To Your Local .rspec File
# .rspec
--format Fuubar
--color
Option 3: Add It To Your spec_helper.rb
# spec/spec_helper.rb
RSpec.configure do |config|
config.add_formatter 'Fuubar'
end
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 ruby-progressbar documentation for details on all of the options
you can pass in.
Example
Let's say for example that you would like to change the format of the bar. You
would do that like so:
# spec/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
Hiding Pending/Skipped Spec Summary
By default fuubar follows RSpec's lead and will dump out a summary of all of the
pending specs in the suite once the test run is over. This is a good idea
because the additional noise is a nudge to fix those tests. We realize however
that not all teams have the luxury of implementing all of the pending specs and
therefore fuubar gives you the option of supressing that summary.
Example
# spec/spec_helper.rb
RSpec.configure do |config|
config.fuubar_output_pending_results = false
end
Enabling Auto-Refresh
By default fuubar refreshes the bar only between each spec.
You can enable an auto-refresh feature that will keep refreshing the bar (and
therefore the ETA) every second.
You can enable the feature as follows:
# spec/spec_helper.rb
RSpec.configure do |config|
config.fuubar_auto_refresh = true
end
Undesirable Effects
Unfortunately this option doesn't play well with things like debuggers, as
having a bar show up every second would be undesireable (which is why the
feature is disabled by default). Depending on what you are using, you may be
given ways to work around this problem.
Pry
Pry provides hooks that can be used to disable fuubar during a debugging
session, you could for example add the following to your spec helper:
# spec/spec_helper.rb
Pry.config.hooks.add_hook(:before_session, :disable_fuubar_auto_refresh) do |_output, _binding, _pry|
RSpec.configuration.fuubar_auto_refresh = false
end
Pry.config.hooks.add_hook(:after_session, :restore_fuubar_auto_refresh) do |_output, _binding, _pry|
RSpec.configuration.fuubar_auto_refresh = true
end
Byebug
Unfortunately byebug does not provide hooks, so your best bet is to
disable auto-refresh manually before calling byebug.
RSpec.configuration.fuubar_auto_refresh = false
byebug
Security
fuubar is cryptographically signed. To be sure the gem you install hasn’t been
tampered with, follow these steps:
-
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) -
Install fuubar telling it to use security checks when possible.
gem install fuubar -P MediumSecurity
Note: The
MediumSecuritytrust profile will verify signed gems, but
allow the installation of unsigned dependencies.This is necessary because fuubar has a dependency on RSpec which isn't signed,
and therefore we cannot useHighSecurity, which requires signed gems.
Credits
fuubar was written by Jeff Felchner and Jeff
Kreeftmeijer

fuubar is maintained and funded by The Kompanee, Ltd.
The names and logos for The Kompanee are trademarks of The Kompanee, Ltd.
License
fuubar is Copyright © 2010-2021 Jeff Kreeftmeijer and Jeff Felchner. It is
free software, and may be redistributed under the terms specified in the
LICENSE file.
Owner metadata
- Name: The Kompanee
- Login: thekompanee
- Email:
- Kind: organization
- Description:
- Website: https://thekompanee.com
- Location: Austin, TX
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/22733083?v=4
- Repositories: 5
- Last ynced at: 2024-03-26T00:24:23.979Z
- Profile URL: https://github.com/thekompanee
GitHub Events
Total
- Watch event: 9
- Pull request event: 1
- Fork event: 2
Last Year
- Watch event: 5
- Fork event: 1
Committers metadata
Last synced: 1 day ago
Total Commits: 257
Total Committers: 25
Avg Commits per committer: 10.28
Development Distribution Score (DDS): 0.304
Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0
| Name | Commits | |
|---|---|---|
| Jeff Felchner | a****t@t****m | 179 |
| Jeff Kreeftmeijer | j****f@k****l | 45 |
| Kohei Suzuki | e****t@g****m | 3 |
| ojab | o****b@o****u | 3 |
| Thomas Drake-Brockman | t****b@t****u | 2 |
| Brad Wilson | b****n@b****u | 2 |
| Daniel Bayerlein | d****n@g****m | 2 |
| Elia Schito | e****a@s****e | 2 |
| Luke van der Hoeven | h****t@g****m | 2 |
| Thomas Walpole | t****e@g****m | 2 |
| Alex Koppel | a****t@a****m | 1 |
| Aleksei Gusev | a****v@g****m | 1 |
| David Stosik | d****y@g****m | 1 |
| Derek Kniffin | d****n@g****m | 1 |
| Hasnain Bukhari | s****5@g****m | 1 |
| Iain Hecker | i****n@i****l | 1 |
| Nicolas Leger | n****r | 1 |
| Olivier Lacan | hi@o****m | 1 |
| Omer Katz | o****w@g****m | 1 |
| Todd Eichel | t****d@t****m | 1 |
| James Buckley | d****2@m****m | 1 |
| Brad Carson | b****d@p****m | 1 |
| Andrew Lim | a****y@c****m | 1 |
| Vlad Bokov | r****m@m****u | 1 |
| nash | y****h@g****m | 1 |
Committer domains:
- mail.ru: 1
- custora.com: 1
- pixelwavedesign.com: 1
- malteseplatypus.com: 1
- toddeichel.com: 1
- olivierlacan.com: 1
- iain.nl: 1
- alexkoppel.com: 1
- schito.me: 1
- blake.com.au: 1
- thefrontiergroup.com.au: 1
- ojab.ru: 1
- kreeftmeijer.nl: 1
- thekompanee.com: 1
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 62
Total pull requests: 39
Average time to close issues: 4 months
Average time to close pull requests: 2 months
Total issue authors: 50
Total pull request authors: 34
Average comments per issue: 5.05
Average comments per pull request: 3.87
Merged pull request: 11
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 2
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 1
Past year pull request authors: 1
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jmuheim (5)
- jeffkreeftmeijer (4)
- rmzelle (3)
- jfelchner (3)
- christiannelson (2)
- rgaufman (1)
- ikalashniuk (1)
- KidkArolis (1)
- cassiomarques (1)
- iain (1)
- tispratik (1)
- waldofe (1)
- dougireton (1)
- wjbuys (1)
- manavortex (1)
Top Pull Request Authors
- jfelchner (3)
- andrew (2)
- twalpole (2)
- BukhariH (2)
- xtian (1)
- plukevdh (1)
- robertodecurnex (1)
- DarthSim (1)
- iain (1)
- dkniffin (1)
- manafire (1)
- eagletmt (1)
- phyllisstein (1)
- nashby (1)
- hron (1)
Top Issue Labels
- outdated (60)
Top Pull Request Labels
- outdated (36)
Package metadata
- Total packages: 3
-
Total downloads:
- rubygems: 136,599,275 total
- Total docker downloads: 957,005,508
- Total dependent packages: 581 (may contain duplicates)
- Total dependent repositories: 7,575 (may contain duplicates)
- Total versions: 66
- Total maintainers: 2
gem.coop: fuubar
the instafailing RSpec progress bar formatter
- Homepage: https://github.com/thekompanee/fuubar
- Documentation: http://www.rubydoc.info/gems/fuubar/
- Licenses: MIT
- Latest release: 2.5.1 (published about 5 years ago)
- Last Synced: 2026-01-08T17:07:23.044Z (1 day ago)
- Versions: 32
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 68,291,662 Total
- Docker Downloads: 478,502,754
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 0.156%
- Docker downloads count: 0.214%
- Downloads: 0.409%
- Maintainers (2)
rubygems.org: fuubar
the instafailing RSpec progress bar formatter
- Homepage: https://github.com/thekompanee/fuubar
- Documentation: http://www.rubydoc.info/gems/fuubar/
- Licenses: MIT
- Latest release: 2.5.1 (published about 5 years ago)
- Last Synced: 2026-01-09T15:41:53.515Z (about 11 hours ago)
- Versions: 32
- Dependent Packages: 581
- Dependent Repositories: 7,575
- Downloads: 68,307,613 Total
- Docker Downloads: 478,502,754
-
Rankings:
- Dependent packages count: 0.079%
- Docker downloads count: 0.261%
- Dependent repos count: 0.371%
- Downloads: 0.397%
- Average: 1.053%
- Stargazers count: 1.956%
- Forks count: 3.255%
- Maintainers (2)
proxy.golang.org: github.com/thekompanee/fuubar
- Homepage:
- Documentation: https://pkg.go.dev/github.com/thekompanee/fuubar#section-documentation
- Licenses: mit
- Latest release: v1.3.3 (published over 11 years ago)
- Last Synced: 2026-01-08T04:05:27.864Z (2 days ago)
- Versions: 2
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 2.094%
- Forks count: 3.079%
- Average: 6.378%
- Dependent packages count: 9.56%
- Dependent repos count: 10.779%
Dependencies
- awesome_print ~> 1.7 development
- rubocop ~> 1.6 development
- rubocop-performance ~> 1.9 development
- rubocop-rspec ~> 2.1 development
- ast 2.4.1
- awesome_print 1.8.0
- diff-lcs 1.3
- fuubar 2.5.1
- parallel 1.20.1
- parser 2.7.2.0
- rainbow 3.0.0
- regexp_parser 2.0.1
- rexml 3.2.4
- rspec 3.8.0
- rspec-core 3.8.0
- rspec-expectations 3.8.3
- rspec-mocks 3.8.0
- rspec-support 3.8.0
- rubocop 1.6.1
- rubocop-ast 1.3.0
- rubocop-performance 1.9.1
- rubocop-rspec 2.1.0
- ruby-progressbar 1.10.0
- unicode-display_width 1.7.0
- rspec ~> 3.7 development
- rspec-core ~> 3.0
- ruby-progressbar ~> 1.4
- awesome_print ~> 1.7 development
- awesome_print 1.8.0
- diff-lcs 1.4.4
- fuubar 2.5.1
- rspec 3.10.0
- rspec-core 3.10.0
- rspec-expectations 3.10.0
- rspec-mocks 3.10.0
- rspec-support 3.10.0
- ruby-progressbar 1.11.0
- rspec ~> 3.7 development
- rspec-core ~> 3.0
- ruby-progressbar ~> 1.4
- awesome_print ~> 1.7 development
- rubocop ~> 1.6 development
- rubocop-performance ~> 1.9 development
- rubocop-rspec ~> 2.1 development
- ast 2.4.1
- awesome_print 1.8.0
- diff-lcs 1.3
- fuubar 2.5.1
- parallel 1.20.1
- parser 2.7.2.0
- rainbow 3.0.0
- regexp_parser 2.0.1
- rexml 3.2.4
- rspec 3.8.0
- rspec-core 3.8.0
- rspec-expectations 3.8.3
- rspec-mocks 3.8.0
- rspec-support 3.8.0
- rubocop 1.6.1
- rubocop-ast 1.3.0
- rubocop-performance 1.9.1
- rubocop-rspec 2.1.0
- ruby-progressbar 1.10.0
- unicode-display_width 1.7.0
- rspec ~> 3.7 development
- rspec-core ~> 3.0
- ruby-progressbar ~> 1.4
Score: 30.902720227773887