コードDJ 第4回 – Sinatraメソッドは文字列を返せばいい

Macのマイクから獣の吠え声の様なものしか聴こえないkomagata a.k.a. DJです。

毎週火曜日、Help me, hackers!に上がったコードを紹介していくコードDJ 第4回。

今回はコレ、HTMLのインデントを綺麗にするAPI – Help me, hackers!

HTMLのインデントを綺麗にするサービスHam CutletにAPIを付けるというタスク。やってくれたのはkyanny a.k.a. 刺身ブーメラン。

コードはコレ

source = NKF.nkf('-w', expand_tab( open(params[:url]){ |f| f.read } ) )

38行目のココでurlで指定したページのソースを取ってきてタブをスペースに変換。NKFでutf-8に変換。-wはそういうオプションみたいだ。後はそれを表示すればいい。

erb :created, :layout => false

49行目でerbを使ってHTMLを表示している。sinatraではget ‘/’ do; endなどのメソッドは文字列を返せばそれが表示されるというシンプル設計。他でも使ってるhamlメソッドなども文字列を返すメソッドだ。

なのでココは、

@html

とやるだけでもいい。

このタスクのお陰でAPIが出来たので、誰得Chrome拡張などを作ってもらう事が出来た。

他のプログラマーにpushしたりpullしたりするのは何故か訳も無く楽しい。コードを介したコミュニケーションはプログラマーにしか出来ない。kyanny a.k.a. 刺身ブーメランとのコラボレーションも無性にテンション上った。コレは騙されたと思って試してみて欲しい。何かテンション上るんだ。

ちょっとDJ、Windowsプログラマーとか色んなプログラマーにpushしたりpullしたりしたくなって来た。

comments powered by Disqus