昨日の続き。
コマンドラインからファイルにリダイレクトしてみても、コンソールに文字は出力されないのに、リダイレクトされたファイルの中身は空。どんな動きなのかわからんが、検索しながら試行錯誤でやってみたらできた。どうやらSTDOUT.flushをしなければならないもよう。
#!/usr/local/bin/shoes #-*- encoding: utf-8 -*- Shoes.app :width => 240, :height => 200 do stack do @e = edit_line :margin => 7 @e.text = "800" @e.focus() end flow do @c1 = check para 'Resize ?' @c1.checked = true end flow do @c2 = check para 'Remove Geotag ?' end flow do @c3 = check para 'Upload to Hatena Fotolife ?' @c3.checked = true end button 'キャンセル' do exit end button 'GO' do if @c1.checked? then print @e.text end if @c2.checked? then print 'g' end if @c3.checked? then print 'f' end puts STDOUT.flush exit end end
出力をphpスクリプトで取り込んで、数字があればそのサイズ以下にconvertでリサイズ、gを含んでいたらjreadでexifのgeotag削除、fを含んでいたらはてなフォトライフにアップロードする。
メモ:Rubyで終了コードを返す終了はexit!(0)とかexit!(1)とか。