RailsでCoffeeScriptを分割して書くためのgem「guard-coffeedripper」を作りました。
coffeescriptをクラスごととかに分割して書きたかったので作りました。
guard-coffeedripperというgemです。
githubに上げてます。
GitHub - amacou/guard-coffeedripper: coffeescript marger
あと名前からもわかるとおりguardのプラグイン?として動きます。
guardのgithubは以下
https://github.com/guard/guard
使いかた
Gemfileに以下を追加(Mac以外の場合は)
group :development, :test do gem 'rb-fsevent' #Macの場合 gem 'growl' #Macの場合 gem 'guard-coffeedripper' end
でbundle installとguard init
bundle install bundle exec guard init coffeedripper
以上でGuardfileとconfig/coffee-dripper.yamlが追加されるはず。
設定
rails3.0とbaristaの組み合わせの場合はこんなGuardfileを書くとapp/coffeescripts/*.beanを修正/保存したら勝手にcoffeescriptにマージします。
guard 'coffeedripper', :output => 'app/coffscripts/' do watch(%r{^app/coffeescripts/(.+)\.bean$}) {|m| "#{m[1]}.bean"} end
Rails3.1の場合はこんなんでいけるとおもう。(試してないので動かなかったらpullrequestください)
guard 'coffeedripper', :output => 'app/assets/javascripts/', :input => 'app/assets/javascripts/' do watch(%r{^app/assets/javascripts/(.+)\.bean$}) {|m| "#{m[1]}.bean"} end
あと、どういう組み合わせでcoffeescriptをつくるかをconfig/coffee-dripper.yamlに書きます。
例えばapp.coffeeというファイルをhoge.bean,huga.bean(*.beanファイルの中身はcoffeescriptファイル)で作る場合は以下のようになります。
# config/coffee-dripper.yaml app.coffee: - hoge.bean - huga.bean
複数のcoffeescriptを作る場合は以下のようになります
# config/coffee-dripper.yaml app.coffee: - hoge.bean - huga.bean app2.coffee: - hoge.bean - piyo.bean