My project depends on Sunspot, which in turn depends on progress_bar. progress_bar defines a class (outside of any module/namespace) called ProgressBar.
My test code depends on minitest-reporters, which in turn depends on ruby-progressbar. ruby-progressbar defines a class (also outside of any module/namespace) called ProgressBar.
Being new to Ruby, it took me an embarassing amount of time to track down the fact that the two ProgressBar classes were conflicting. I know how to namespace my own code to prevent such problems, but is there any way to resolve such a collision in 3rd party code?
Update:
The owner of minitest-reporters very kindly replaced his usage of the (apparently abandoned) ProgressBar with yet another progress library, PowerBar. So this addressed my problem. But guess what- PowerBar also pollutes the global namespace! This just seems pathological in Ruby…
There’s really not more you can do.