CoffeeScriptで定義したクラスを別のcoffeescriptファイルから呼び出す方法

普通にcoffeescriptを書くとglobal汚染を防ぐためにfunctionの中に入れられてしまうのでwindowに領域を確保してそこに格納しておく必要がある。HogeClassの前にHogeProjectを定義しているのはnamespaceみたいなもので他のjsがHogeClassを定義している時のための保険みたいなものです。

呼び出されるクラス

window.HogeProject = {}

class HogeClass
  constructor: ->

  say: =>
    alert "say good bye!"

window.HogeProject.HogeClass = HogeClass

呼び出すスクリプト

jQuery ->
  hoge = new HogeProject.HogeClass
  hoge.say()

この手法はRailsなどコンパイルオプションが使えない場合に有用です。