Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ivantsepp/annotate_gem

Repository files navigation

Build Status Gem Version

AnnotateGem

annotate-gem is command line tool that will add useful comments to your Gemfile. For each gem, annotate-gem will create a comment with the gem's description and the gem's website. For example, a Gemfile containing the following

gem "rails"
gem "nokogiri"
gem "brakeman"

will be converted into something that is more descriptive and is self-documenting:

# Full-stack web application framework. (http://www.rubyonrails.org)
gem "rails"
# Nokogiri (ι‹Έ) is an HTML, XML, SAX, and Reader parser
gem "nokogiri"
# Security vulnerability scanner for Ruby on Rails. (http://brakemanscanner.org)
gem "brakeman"

The motivation for annotate-gem is that developers often open a Gemfile and not know what many of the listed gems are actually for. It's hard to track down which gem is providing which functionality. This is a common problem since many gem names do not reflect the actual feature.

If you do not want to install the gem, you can also visit https://annotate-gem.herokuapp.com/ which is a web interface for annotate-gem.

Installation

$ gem install annotate_gem

Usage

Running annotate-gem itself will add comments to the current directory's Gemfile.

$ cat Gemfile
source 'https://rubygems.org'
gem "pry"
$ annotate-gem
$ cat Gemfile
source 'https://rubygems.org'
# An IRB alternative and runtime developer console (http://pryrepl.org)
gem "pry"

annotate-gem has several options:

$ annotate_gem --help
 Add comments to your Gemfile with each dependency's description.
 Usage: annotate_gem [options]
 annotate_gem [gem name]
 --website-only Only output the website
 --description-only Only output the description
 --new-comments-only Only add a comment to gemfile if there isn't a comment already (for non-inline comments)
 --inline Inline the comment
 -h, --help Show this message
 -v, --version Show version

annotate-gem also works with specifying a single gem name:

$ annotate-gem aasm
State machine mixin for Ruby objects (https://github.com/aasm/aasm)

Contributing

  1. Fork it ( https://github.com/ivantsepp/annotate_gem/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

About

🌲 Add comments to your Gemfile with each dependency's description

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /