古いプロジェクトを Rails 4 にアップグレードしたところschema.rb
、新しいスタイルのハッシュ構文を使用してアップグレードされていることに気付きました。Rails は、すべてのジェネレーターでこの構文を使用すると思います。
Rails に対して、古いスタイルのハッシュ構文の方が好きだと友好的に言うにはどうすればよいでしょうか?
古いプロジェクトを Rails 4 にアップグレードしたところschema.rb
、新しいスタイルのハッシュ構文を使用してアップグレードされていることに気付きました。Rails は、すべてのジェネレーターでこの構文を使用すると思います。
Rails に対して、古いスタイルのハッシュ構文の方が好きだと友好的に言うにはどうすればよいでしょうか?
これがあなたの質問に対する正確な答えではないことはわかっていますが、それでも役立つかもしれません。
vim を使用している場合、これにより古い構文と新しい構文 ( source )を切り替えることができます。
function! s:RubyHashSyntaxToggle() range
if join(getline(a:firstline, a:lastline)) =~# '=>'
silent! execute a:firstline . ',' . a:lastline . 's/[^{,]*[{,]\?\zs:\([^: ]\+\)\s*=>/\1:/g'
else
silent! execute a:firstline . ',' . a:lastline . 's/[^{,]*[{,]\?\zs\([^: ]\+\):/:\1 =>/g'
endif
endfunction
command! -bar -range RubyHashSyntaxToggle <line1>,<line2>call s:RubyHashSyntaxToggle()
noremap <Leader>rh :RubyHashSyntaxToggle<CR>
最大で 3 回のキーストロークで、希望どおりのスキーマを取得できます。自動ではありませんが、対応するものとして、スキーマだけでなく、任意のファイルで機能します。
ファイルを保存するたびに置換を呼び出すことができます (行末の余分なスペースを削除するためにそうしています)。
また、vim を使用しない場合、これらの正規表現はおそらく他のエディターに適応されます。