From c6d928f3cae28e3b531d3cc4bcde2ddca0323f11 Mon Sep 17 00:00:00 2001 From: Benoit Tigeot Date: Sun, 25 Feb 2018 18:25:55 +0100 Subject: Add --expanded option to "rails routes" When using rails routes with small terminal or complicated routes it can be very difficult to understand where is the element listed in header. psql had the same issue, that's why they created "expanded mode" you can switch using `\x` or by starting psql with ``` -x --expanded Turn on the expanded table formatting mode. This is equivalent to the \x command. ``` The output is similar to one implemented here for rails routes: db_user-# \du List of roles -[ RECORD 1 ]---------------------------------------------- Role name | super Attributes | Superuser, Create role, Create DB Member of | {} -[ RECORD 2 ]---------------------------------------------- Role name | role Attributes | Superuser, Create role, Create DB, Replication Member of | {} --- railties/test/commands/routes_test.rb | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'railties/test/commands/routes_test.rb') diff --git a/railties/test/commands/routes_test.rb b/railties/test/commands/routes_test.rb index 030dcc7217..24af5de73a 100644 --- a/railties/test/commands/routes_test.rb +++ b/railties/test/commands/routes_test.rb @@ -119,6 +119,53 @@ class Rails::Command::RoutesTest < ActiveSupport::TestCase MESSAGE end + test "test rails routes with expanded option" do + app_file "config/routes.rb", <<-RUBY + Rails.application.routes.draw do + get '/cart', to: 'cart#show' + end + RUBY + + output = rails("routes", "--expanded") + assert_equal <<~MESSAGE, output + --[ Route 1 ]------------------------------------------------------------ + Prefix | cart + Verb | GET + URI | /cart(.:format) + Controller#Action | cart#show + --[ Route 2 ]------------------------------------------------------------ + Prefix | rails_service_blob + Verb | GET + URI | /rails/active_storage/blobs/:signed_id/*filename(.:format) + Controller#Action | active_storage/blobs#show + --[ Route 3 ]------------------------------------------------------------ + Prefix | rails_blob_variation + Verb | GET + URI | /rails/active_storage/variants/:signed_blob_id/:variation_key/*filename(.:format) + Controller#Action | active_storage/variants#show + --[ Route 4 ]------------------------------------------------------------ + Prefix | rails_blob_preview + Verb | GET + URI | /rails/active_storage/previews/:signed_blob_id/:variation_key/*filename(.:format) + Controller#Action | active_storage/previews#show + --[ Route 5 ]------------------------------------------------------------ + Prefix | rails_disk_service + Verb | GET + URI | /rails/active_storage/disk/:encoded_key/*filename(.:format) + Controller#Action | active_storage/disk#show + --[ Route 6 ]------------------------------------------------------------ + Prefix | update_rails_disk_service + Verb | PUT + URI | /rails/active_storage/disk/:encoded_token(.:format) + Controller#Action | active_storage/disk#update + --[ Route 7 ]------------------------------------------------------------ + Prefix | rails_direct_uploads + Verb | POST + URI | /rails/active_storage/direct_uploads(.:format) + Controller#Action | active_storage/direct_uploads#create + MESSAGE + end + private def run_routes_command(args = []) -- cgit v1.2.3