«前の日記(2017-07-15) 最新 次の日記(2017-08-03)» 編集

いがいが日記


2017-07-18 [長年日記]

_ Railsで全endpointを取得

Rails5.1で全endpointを取得するのに

ActionDispatch::Routing::RoutesInspector.new (Rails.application.routes.routes).format(ActionDispatch::Routing::ConsoleFormatter.new )

って感じでrake routesのconsoleの結果をstringで取ってきてパース、みたいないけてない処理を書いてしょんぼりしてたのだけど、twitterで聞いたららいっくんさんがスマートな方法教えてくれた。raw_routes = Rails.application.routes.routes.map{|route| ActionDispatch::Routing::RouteWrapper.new(route)} で取れる。取れたRouteWrapperクラスにpathとかverbとか便利なメソッド群があるので、それを使えばいい。

raw_routes = Rails.application.routes.routes.map{|route| ActionDispatch::Routing::RouteWrapper.new(route)}.map(&:path)
p raw_routes
#=> ["/rails/info/properties(.:format)", "/rails/info/routes(.:format)", "/rails/info(.:format)", "/rails/mailers(.:format)"...]

ありがたや〜。(-人-)

https://twitter.com/igaiga555/status/887240780707905536


«前の日記(2017-07-15) 最新 次の日記(2017-08-03)» 編集