SVNやGitで外部エディタを使ってコミットメッセージを入力させるのと同じことを、rubyで行いたいと思った場合、以下のようにすれば一応出来る。
require 'tempfile'
abort "External variable HOGE_EDITOR isn't set!" unless editor = ENV['HOGE_EDITOR']
tmp = Tempfile.new('deleted_soon')
system(editor + " " + tmp.path)
message = File.open(tmp.path).readlines
tmp.unlink # delete the temp file
puts message