A gem is a package for Ruby to distribute code in a maintained unit. But that's not all there is to it. A Ruby gem can also contain full documentation and testing. And gems can be further configured for external services for quality, test suite, and documentation verification. When you're publishing code for other people to use, you're also presenting something that needs to meet quality standards
![Building a Well-Polished Ruby Gem](https://cdn-ak-scissors.b.st-hatena.com/image/square/4b1e761cac36368050abc17e24cc76aad3350957/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fvtn4rfaw6n2j%2F2r9j5JTdVhrBr8VikLaTKR%2F37b1fbb0dbd054edbaa1074d4d1ac677%2Fhttps___no-cache.hubspot.com_cta_default_1169977_964db6a6-69da-4366-afea-b129019aff07.png%3Fw%3D1200%26h%3D630%26fit%3Dfill)