Summary
Rails の routes を peco りたかったんで rails-froutes という gem を作りました。
Github: pinzolo/rails-froutes
RubyGems.org: rails-froutes
Github: pinzolo/rails-froutes
RubyGems.org: rails-froutes
How?
インストールして、
rake routes FILL_NAME=yes
と呼び出すと、従来は
blog_posts GET /blogs/:blog_id/posts(.:format) posts#index POST /blogs/:blog_id/posts(.:format) posts#create new_blog_post GET /blogs/:blog_id/posts/new(.:format) posts#new edit_blog_post GET /blogs/:blog_id/posts/:id/edit(.:format) posts#edit blog_post GET /blogs/:blog_id/posts/:id(.:format) posts#show PUT /blogs/:blog_id/posts/:id(.:format) posts#update DELETE /blogs/:blog_id/posts/:id(.:format) posts#destroy blogs GET /blogs(.:format) blogs#index POST /blogs(.:format) blogs#create new_blog GET /blogs/new(.:format) blogs#new edit_blog GET /blogs/:id/edit(.:format) blogs#edit blog GET /blogs/:id(.:format) blogs#show PUT /blogs/:id(.:format) blogs#update DELETE /blogs/:id(.:format) blogs#destroyこうだった
rake routes
の結果が、
blog_posts GET /blogs/:blog_id/posts(.:format) posts#index blog_posts POST /blogs/:blog_id/posts(.:format) posts#create new_blog_post GET /blogs/:blog_id/posts/new(.:format) posts#new edit_blog_post GET /blogs/:blog_id/posts/:id/edit(.:format) posts#edit blog_post GET /blogs/:blog_id/posts/:id(.:format) posts#show blog_post PUT /blogs/:blog_id/posts/:id(.:format) posts#update blog_post DELETE /blogs/:blog_id/posts/:id(.:format) posts#destroy blogs GET /blogs(.:format) blogs#index blogs POST /blogs(.:format) blogs#create new_blog GET /blogs/new(.:format) blogs#new edit_blog GET /blogs/:id/edit(.:format) blogs#edit blog GET /blogs/:id(.:format) blogs#show blog PUT /blogs/:id(.:format) blogs#update blog DELETE /blogs/:id(.:format) blogs#destroyこうなります。
Why?
ほら routes.rb みれば大体わかるとはいえ、ちょっと規模が大きくなると **_path, とか **_url を頭の中でごにょごにょするのはタルいわけです。
でも、通常の
まあ現実だと
私はこれを
guard で routes.rb 監視して、更新したら吐き出すようにしておくのもいいかもしれません。
そこまで routes.rb を頻繁にいじるかどうかはわかりませんが。
2014-08-16 追記:
改行が入るのは使いづらいのでコマンドを改良した。
% rake routes | peco | awk '{print $1}' | pbcopyとかできたら便利じゃないですかね?
でも、通常の
rake routes
だと名前があったりなかったりで欲しいものが取れないので、こんな gem を作りました。まあ現実だと
rake routes
はもっさりなので
% rake routes FILL_NAME=yes > .routesってあらかじめしておいて、
% cat .routes | peco | awk '{print $1}' | pbcopyってところですかね。
私はこれを
proutes
として .zshrc に登録しました。guard で routes.rb 監視して、更新したら吐き出すようにしておくのもいいかもしれません。
そこまで routes.rb を頻繁にいじるかどうかはわかりませんが。
2014-08-16 追記:
改行が入るのは使いづらいのでコマンドを改良した。
% cat .routes | peco | awk '{print $1}' | tr -d '\n' | pbcopy
おまけ
こんなふうに出力するオプションって
rake routes
にないの?って思ってコード読んでたら、こんなの発見した。
rake routes CONTROLLER=books とすれば books_controller に関する routes だけが取れる。知らなかった。パイプ使って grep してた #rails
— pinzolo (@pinzolo) 2014, 8月 13
いや〜知らんかった。
0 件のコメント :
コメントを投稿