こんにちは、tsuka05です。
synvert-ruby はRubyのコードを構文解析して、自動的に書き換えを行なってくれるツールです。
様々なsnippetが用意されていて、決まりきったコード書き換えが簡単にできます。
synvert-ruby -l
で、snippetを一覧することができます。
例えば、
synvert-ruby -r rails/convert_after_commit
とすると、Railsアプリケーションのコードを下記のように書き換えてくれます。
書き換え前
after_commit :add_to_index_later, on: :create after_commit :update_in_index_later, on: :update after_commit :remove_from_index_later, on: :destroy after_commit :add_to_index_later, on: [:create] after_commit :update_in_index_later, on: [:update] after_commit :save_to_index_later, on: [:create, :update] after_commit :remove_from_index_later, on: [:destroy]
書き換え後
after_create_commit :add_to_index_later after_update_commit :update_in_index_later after_detroy_commit :remove_from_index_later after_create_commit :add_to_index_later after_update_commit :update_in_index_later after_save_commit :save_to_index_later after_detroy_commit :remove_from_index_later
Ruby 3.4で入る暗黙のブロックパラメータitにも対応しています。
synvert-ruby -r ruby/use_it_keyword
書き換え前
(1...10).map { |num| num ** 2 } (1...10).map { _1 ** 2 }
書き換え後
(1...10).map { it ** 2 } (1...10).map { it ** 2 }
その他、Rubyのバージョンアップの際に必要となる書き換えなどにも対応していたりするので、機会があれば使ってみてはいかがでしょうか。