GemsBond
GemsBond inspects your Gemfile and calculates a score for each gem depending on its activity and popularity.
Installation
Add this line to your application's Gemfile:
gem 'gems_bond'And then execute:
$ bundle install
Or install it yourself as:
$ gem install gems_bond
Usage
Spy one
Get information about a given gem. The result is display in the terminal.
bundle exec rake gems_bond:spy:one railsThis will output:
-------- RAILS INFO --------
Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.
- url: https://github.com/rails/rails/tree/v6.1.3
- version: 5.2.0 (27 behind 6.1.3)
- counts: 270 222 380 downloads | 19 185 forks | 47 738 stars | 375 contributors
- activity: 21 days since last version | 0 days since last commit
You can spy any gem by its name, even if it is not in your project dependencies.
Spy all
Get information and scoring for all of the current project gems.
First, you need to get a GithHub token since the gem fetches data from the GitHub API.
When logged in on GitHub, go in https://github.com/settings/tokens and generate a new token.
A readonly token is enough, you can leave all checkbox unchecked.
Add the token in your config:
# config/initializers/gems_bond.rb
GemsBond.configure do |config|
config.github_token = 'my_github_readonly_token'
endThen run the task:
bundle exec rake gems_bond:spy:allYou can provide the token at this moment if it is not set in configuration or if you want to override it:
bundle exec rake gems_bond:spy:all GITHUB_TOKEN=my_github_readonly_tokenThe output can then be read in gems_bond/spy.csv and gems_bond/spy.html.
Development
After checking out the repo, run bin/setup to install dependencies.
Add a github token in the .env.test file (GITHUB_TOKEN=<token>) then run rspec, or run rspec --tag ~@api to skip tests calling RubyGems and GitHub APIs.
You can also run bin/console for an interactive prompt that will allow you to experiment.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/gems_bond.
License
The gem is available as open source under the terms of the MIT License.
