ディレクトリ構造にあわせてrbsのプロトタイプを生成するシェル

既存のリポジトリrbsをゼロから書くのは大変なので、とりあえず雑にプロトタイプを生成する方法。

ディレクトリ構造

app 以下のディレクトリ構造にあわせて sigrbsを置くディレクトリ構成です。

app/models/user.rb
sig/app/models/user.rbs

シェル

find と xargs を使ってディレクトリを作成しつつ、rbsを生成する。

$ find app/ -name '*.rb' |  xargs -I{} bash -c 'mkdir -p sig/$(dirname {}); rbs prototype rb {} > sig/{}s;'