Rubyスクリプトをexeにできる。
試しにRuby本体もgemもアンインストールしてみたが動いたので、exe内にruby本体とrequireしたファイル全てが収まっているみたいだ。
少し古いけどRuby on Railsをexe化する記事もあったので、使い道があるんじゃないですかね。


RubyScript2Exe – A Ruby Compiler
から、rubyscript2exe.rb をダウンロードしてきてexe化したいrubyスクリプトと同じディレクトリに置く。

今回は試しにfeed-normalizer – 橋本詳解をexe化してみる。
引数で渡したURLのRSS/Atomフィードを表示する簡易Feedリーダー。引数なしではこのblogのfeedを読み込む。

rss.rb として保存(Windows用に出力文字コードだけshift_jisに変更した)

require 'rubygems'
require 'feed-normalizer'
require 'open-uri'
require 'cgi'
require 'kconv'
require 'pp'
uri = ARGV.shift || 'http://shokai.org/blog/feed/'

puts "parse #{uri}"
feed = FeedNormalizer::FeedNormalizer.parse open(uri)

puts "title: #{feed.title.tosjis}"
puts "(#{feed.entries.size}entries)"

#feed.clean!
feed.entries[0..3].each{ |e|
  puts e.url
  puts e.content.tosjis
  puts e.last_updated
  puts ''
}
#pp feed.entries[0]


■exe化
ruby rubyscript2exe.rb rss.rb
で、rss.exeが生成される。


Rubyそのものが格納されるのでファイルサイズがでっかい。puts ‘test’しただけのコードをexe化したら900kb超えた。
このrss.rbだと5個requireしているので1.5MBになった。

まあファイルサイズは大した問題でもないか