2月 162009
<< GoogleSketchUpで筐体設計 || moxaサウンドボードできた >>
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になった。
まあファイルサイズは大した問題でもないか