traceroute 0,0 ruby Rubygems

A Rake task gem that helps you find the unused routes and controller actions for your Rails 3+ app

3 years after

= Traceroute

A Rake task that helps you find dead routes and unused actions in your Rails 3+ app.

== Features

This Rake task investigates your Rails application's routes definition, then shows you the unused routes and unreachable action methods.

== Supported versions

  • Ruby 1.8.7, 1.9.2, 1.9.3, 2.0, 2.1, 2.2 (trunk)

  • Rails 3.0.x, 3.1.x, 3.2.x, 4.0.x, 4.1.x

== Install

Put this line in your Gemfile: gem 'traceroute'

Then bundle: % bundle

== Usage

Just run the following command in your Rails app directory. % rake traceroute

If you want the rake task to fail when errors are found.

% FAIL_ON_ERROR=1 rake traceroute

== What's gonna happen then?

Consider you have the following routes.rb and a controller:

config/routes.rb

YourRailsApp::Application.routes.draw do resources :users, :only => [:index, :show, :new, :create] match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase end

app/controllers/users_controller.rb

class UsersController < ApplicationController def index @users = User.page(params[:page]) end

def index2
end

def show
  @user = User.find(params[:id])
end

end

Running the Rake task will print something like this for you:

Unused routes (3): users#create users#new catalog#purchase Unreachable action methods (1): users#index2

OMG super helpful, isn't it?

== FAQ

Q: It makes a fuss over the default route at the very bottom. WTF? A: Please do not use that. Did you read the comment in your routes.rb? Actually this task will help you a lot to remove that evil route.

Q: "command not found: traceroute" Did you mean: tracert A: I'm afraid you're using the wrong operating system.

== Notes

Routes prefix with rails/ are ignored. These are generated by rails in development mode. We don't want to fail the build on these.

== Questions, Feedback

Feel free to message me on Github (amatsuda) or Twitter (@a_matsuda) ☇3☇3☇3

== Contributing to Traceroute

  • Fork, patch, then send me a pull request.

== Copyright

Copyright (c) 2011 Akira Matsuda. See MIT-LICENSE file for further details.

Related Repositories

fbtracert

fbtracert

Identify the network components that drops packets by employing the traceroute l ...

dublin-traceroute

dublin-traceroute

Dublin Traceroute is a NAT-aware multipath tracerouting tool ...

http-traceroute

http-traceroute

A command line tool for following and showing HTTP redirects for a given URL ...

traceroute-circl

traceroute-circl

Traceroute improved wrapper for CSIRT and CERT operators ...

HTTP-traceroute

HTTP-traceroute

HTTP-traceroute in Go ...


Top Contributors

amatsuda distributedlife DamirSvrtan ogawaso tcopeland dmitryv

Releases

-   v0.5.0 zip tar
-   v0.4.0 zip tar
-   v0.3.0 zip tar
-   v0.2.2 zip tar
-   v0.2.1 zip tar
-   v0.2.0 zip tar
-   v0.1.0 zip tar
-   v0.0.1 zip tar