Wondershake 開発者ブログ

LOCARI(ロカリ)の運営会社の開発者ブログです。

Rails のマイナーなコマンド

この記事は Wondershake Advent Calendar 2016 20日目の記事です。

ほんとは Elixir とかについて書きたかったんですが特にインプットがなかったため、しょーもないことを書きます。

tl;dr

The Rails Command Line — Ruby on Rails Guides に書いてることのうち、(個人的に)マイナー(そう)なやつについて書きます。

詳しくはリンク先を見てください

前提

5系以上はそれまで bin/rake だったコマンドもすべて bin/rails なので bin/rails として以下書いていきます

notes

bin/rails notes で FIXME, OPTIMIZE, TODO が付いているファイルをメッセージと一緒に表示してくれる

以下の拡張子に対応

bin/rails notes:fixme で FIXME だけ表示

自分たちしか使ってないカスタムメッセージを表示したい場合は

bin/rails notes:custom ANNOTATION=BUG のようにして、 BUG と書いてあるファイルを探せる

TODO, FIXME あたりはよく(?)使うので使いたい

tmp

bin/rails tmp:cache:clear はよく使うと思いますが、cache とか pid 用の dir を作る tmp:create コマンドは知りませんでした

$ bin/rails tmp:create
mkdir -p tmp/sessions
mkdir -p tmp/sockets
mkdir -p tmp/pids
mkdir -p tmp/cache/assets/development
mkdir -p tmp/cache/assets/test
mkdir -p tmp/cache/assets/production

rails app を clone した後とかによく使うかも(覚えていれば)

time

time zone 一覧を表示するタスク。これほんとに必要?

$ bin/rails time:zones:all
# ...

* UTC +09:00 *
Osaka
Sapporo
Seoul
Tokyo
Yakutsk

* UTC +09:30 *
Adelaide
Darwin

* UTC +10:00 *
Brisbane
# ...

console

bin/rails c(onsole) はよく使うと思いますが、その中で毎回めんどくさいことしてたなーというものがあったのでメモ

$ bin/rails c
# app で代用できる
> Rails.application.routes.url_helpers.root_path
"/"
> app.root_path
"/"

# helper で helper のメソッドを呼べる
> helper.number_to_currency 1_999
"1,999円"

dbconsole

config/database.yml に定義してある mysql server へアクセスできる(console と同じでデフォルトが development)

直接 SQL 叩きたい時とかは便利

おわり

小ネタでした

明日は Eric です!