Never have an implicit dependency in your gem. If you gem depends on gem 'foo' and 'foo' depends on gem 'bar' and hence lets say you did not specify 'bar' as a dependency in your gem because you assumed it will be brought in by 'foo' - is a grave mistake. Two things can go wrong:
a. gem 'foo' may stop depending on 'bar' b. gem 'foo' may change version of 'bar' it depends on and things can go south.