PadrinoでもCoffeeScriptをつかいたい

CoffeeScript、いいですよね。
ちょっと困るかもしれないのが、どうやって扱うか。デプロイ時にjsファイルにコンパイルするか。できれば、coffeeファイルそのままで扱いたいです、楽なので。
では、Padrino で使いたいときにどうしたらいいのか。

Sinatraまかせ

PadrinoはSinatraベースなので、CoffeeScript Templates を使うという手があります。
しかしながら、この場合は .js にアクセスした場合にcoffeeを呼ぶようにルーティングを追加することになると思います。

get '/application.js' { coffee :application }

たぶんこんな感じ。複数マッチさせるならこれが参考になりそう
自分で書く.coffee以外の.jsファイルが混在するとカオティックになりそうですね。

hamlのcoffeeフィルタを使う

haml内に直接書けます。書けますけど。

PadrinoのPluginをつかう

スタートPadrino : ATND でも@uduzuraさんから紹介がありましたが、Padrino にはPluginというものがあります。
使ってみましょう。

% padrino g plugin coffee

Gemfileに必要なgemを書いてくれたり、設定ファイルを生成してくれたりします。
生成された lib/coffee_init.rb で指定されている public/javascripts/ に .coffee ファイルを置けばいいですね。
また、viewから読み込むためには javascript_include_tagヘルパが使えます。便利ですね、Padrino。

サンプルコードはこちら。
marutanm/padrino-coffeescript · GitHub

Herokuではどうする?

Herokuでは、jsのランタイムがなくてgemを入れる必要があったりします。それから、barista.gem を使う必要もあります。baristaを入れると.coffeeファイルを置く場所が変わったりします。それについては別途書く、予定。予定。予定。