I hope you enjoy WhoUsesThisGem as much as I do and that it was helpful for you. I appreciate any feedback, be it a feature request, a bug, a typo in the docs or a donation don't hesitate to contact me.
How does this work?
TL;DR We search GitHub for the most popular Ruby repositories, parse the gems they use and aggregate them nicely here.
No tech-guru would be satisified by the above version, so here's the slightly longer one. We start by defining a background worker that searches for the most popular Ruby repos on GitHub at certain intervals (think of crons). We retrieve popular repositories* using the GitHub API v3 and store some attributes on our database. We then attempt to locate a
Gemfile.lock within the root of the repository and if we find one, we move on and parse all gems we find there with the help of Bundler. Then we repeat this all over again, careful not to overwrite or duplicate any previously parsed repository ;)
* we consider repositories having >1052 stars to be popular
What's with this 1052?
The first commit made to this project happenned at 10:52. Since I was looking for a number close to 1000, I got stuck with this one.
What technologies does this use?
WhoUsesThisGem is a Rails project, backed up by a Postgres database, Sidekiq workers, a Redis store and Bulma for the interface.
Will this become open source?
Yes! I plan on releasing this project as open source so that everybody can learn from it or contribute with a great idea.
Will new features be developed?
For sure! Stay tuned.
Why is it slow sometimes/why doesn't it refresh data more often?
This project was born in my spare time and most of the resources it runs on are free. If you have ideas for improving the app's performance or wish to make a donation, feel free to contact me.