Project

chusaku

0.04
Low commit activity in last 3 years
A long-lived project that still receives updates
Annotate your Rails controllers with route info.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.2
~> 5.14
~> 13.0

Runtime

>= 3.0
 Project Readme

Chusaku

Gem Version

Add comments above your Rails actions that look like:

# @route GET /waterlilies/:id (waterlily)
def show
  # ...
end

# @route PATCH /waterlilies/:id (waterlily)
# @route PUT /waterlilies/:id (waterlily)
def update
  # ...
end

Based on your routes.rb file!

Installation

Add this line to your Rails application's Gemfile:

group :development do
  gem "chusaku", require: false
end

And then execute:

bundle install

Usage

From the root of your Rails application, run:

bundle exec chusaku

Chusaku has some flags available for use as well:

$ bundle exec chusaku --help
Usage: chusaku [options]
        --dry-run                       Run without file modifications
        --exit-with-error-on-annotation Fail if any file was annotated
    -c, --controllers-pattern=GLOB      Specify alternative controller files glob pattern
        --verbose                       Print all annotated files
    -v, --version                       Show Chusaku version number and quit
    -h, --help                          Show this help message and quit

Rake usage

If you'd like to use Chusaku as a Rake task, add the following line to your Rakefile:

require "chusaku"
Chusaku.load_tasks

This will then allow you to call:

bin/rake chusaku

To pass flags, pass them like you would from the CLI executable:

bin/rake chusaku -- --dry-run --exit-with-error-on-annotation

Development

Read the blog post explaining how the gem works at a high level: https://nshki.com/chusaku-a-controller-annotation-gem.

After checking out the repo, run bin/setup to install dependencies. Then, run bundle exec rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, git commits and tags, and push the .gem file to rubygems.org.