先日書いた、麻雀スクリプトをSinatraに乗っけてみました。
・rubyで麻雀の待ちを出力 - うんたらかんたら日記
・麻雀スクリプトのテストコード - うんたらかんたら日記
amachang作の↓をみて
清一色メーカー
rubyでもsinatra使えばサクッとできる(らしい)よね、
と思い立ちチャレンジしてみました。
ついでに、sinatraでRSpec動かすのと、
ちゃんと使ったことの無いhaml/saasをこれを機に使ってみました。
感想
「また、つまらぬものを...」感がありますが、個人的にはいろいろ試せて良かったです。
ほとんどデザイン入れて無いので、haml / saasの醍醐味は味わえてませんが
saasはある程度ルール決めれば、cssは結構キレイになるんじゃないかなという感じがしました。
hamlも悪くはないのですが、ドキュメント少ないのと、
私自身まだ慣れてないということもあり、書くのに少し戸惑いました(whitespaceらへん)。
正直erbでもいいかなぁと思いました。
RSpec on Sinatra の方は、
viewのテストで last_response.should match を使って正規表現でチェックをしましたが
have_tag likeなのが欲しいという感じです。
あと、ajaxのテストどうしよう、ってとこかな。
(ここはRSpecじゃないか)
Herokuへのデプロイは簡単で言うこと無しです。
ありがとうございます。
あと、POSTにはajax使ったんですが、amachangソースにもあるように、
javascriptのsetIntervalでグルグル回すってのは
やはり簡単で魅力的だなぁ。javascriptいいなぁと思いました。
var cachedValue = ''; setInterval(function() { if (tilesEl.value != cachedValue) { cachedValue = tilesEl.value; arrange(cachedValue); } }, 50)
#あと麻雀スクリプト自体は少し雑(チートイツ考慮無しとか、同じ牌が4枚以上あっても計算してしまってるとか)
#なので気が向いたら直すかも。
参考
ウノウラボ by Zynga Japan: やってみようBDD on Sinatra
とても参考になりました。