[ActionPack] Proposal to support column filter for rails routes output on CLI

Hi All,

The thing which I often use on my CLI is rails routes

I either use grep to filter out a specific route I want or I use controller level filtering using rails routes -c InboundEmails
But I and some of my friends struggled to see output clearly, as there are just too many columns, long routes, and such a small screen. (I am talking about a regular laptop)
The regular output looks like:
Prefix | Verb | URI | Controller#Action
And there is no direct option for column level filtering, So either some of us reduce fonts or use awk type things and using a shell script/shortcut to reduce the output.
I would prefer having a clean approach wherein we can pass arguments to rails routes command something like bundle exec rails routes -c InboundEmails -f verb,path,reqs
And the out will look like:
Verb | URI | Controller#Action

It will easily filter out the columns If someone doesn’t need it, no need to use awk things anymore.

Also, it would be an optional use case so other people who are happy about the current approach don’t see a change and developer experience remains the same.

Let me know what you think. I can quickly put up a working code for the same.

Note:

  • I am proposing this only for Command-Line.
  • I need a better alias than -f, so all suggestions are welcome.

Thanks.
Tushar

Hi Again,

What do you guys think? If all are okay then let me know I will work on a PR.

We added —expanded to help with the longer lines. You’d have to scroll more, but with a tighter grep I think it could work.

Hi Kasper,

Yes. I agree.

There are multiple options one can use:

  • Using grep as you suggested

  • Reducing the font size

  • Using AWK etc

All the above can be used to achieve it, but the idea is to support it from within the framework,

it will help reduce the extra effort required by the developer in all these cases.