# Passages Rails Engine

DevFeed: [Passages Rails Engine](<https://devfeed.tech/articles/passages-rails-engine-21057.md>)

Original publisher: [Read original article](<https://jakeyesbeck.com/2016/01/03/passages/>)

Published: 2016-01-03T12:00:00Z

Content type: article

Language: en

Sources: [Jake Yesbeck](<https://devfeed.tech/sources/jake-yesbeck.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>), [API](<https://devfeed.tech/topics/api.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [http](<https://devfeed.tech/tags/http.md>), [rails](<https://devfeed.tech/tags/rails.md>), [routing](<https://devfeed.tech/tags/routing.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

## AI overview

Passages Rails Engine is presented as a Ruby on Rails engine for exposing application routes during or outside development mode and searching route information such as HTTP verbs, controllers, and paths. It is intended to make route inspection easier for internal and external APIs when documentation is incomplete or outdated.

## Source excerpt

Routing in the Ruby on Rails world can, at times, be a tad confusing. The official Rails guide is very helpful for the basics; but, as an application grows, it can become hard to remember specific details about every single route. Existing Routing Tools To remedy the issue of route complexity, a few helpful tools already exist. The most useful one is rake routes, which can be executed in the working directory of a Rails application. This tool requires that the application be on the developer's local system, which is fine for applications that a developer owns, but what about services that the developer does not own? While this problem might not exist for everyone, chances are at least one poor software engineer has been slapped in the face with a 404 page and shouted: "I know that route exists! Why doesn't this work?" Another helpful tool in development mode is this screen: This page provides the ability to enter search terms that match words in the paths of specfic routes. However, similarly to rake routes, this screen is only accessible in development mode. While this tool is still extremely useful, there could be cases when route inspection would be helpful without running the server locally. New Hotness The Passages Rails Engine was created to fulfill two main purposes: 1. To expose routes of a Ruby on Rails application either during or outside development mode. 2. Enable searching on multiple pieces of a route's information (HTTP verb, controller, path, etc). Some might wonder by 1 would even be valuable. Imagine for a moment that a team of engineers decides that they need an internal API to power their various applications. Perhaps while developing this API, some basic documentation is written but never actually kept up to date. Maybe the API changes so fast that documentation just falls behind. Whatever the reason, it becomes laborious for the consumers of that internal API to constantly ask which route does what and which parameters are expected in each URL.