0

Coffeescript in the Asset Pipeline

What is the Asset Pipeline?

Example : application.coffee

#= require jquery #= require jquery_ujs #= require folder_name #= require single_file #= require_tree

Conditional file includes

How to do it

Conditional Example

<%= javascript_include_tag "application" %> <%= javascript_include_tag "admin" if @admin %>
#admin.coffee #= require jquery #= require jquery_ujs #= require admin_files
#admin_files/index.coffee #= require_tree

Coffeescript Classes

A Simple CS Class

class window.IPRUG.Player constructor: (@events)-> $(@events).on 'play', @play play: -> $('#audio')[0].play()

Feature Detection

Example

class window.IPRUG.App constructor: -> @player = new IPRUG.Player @ if $ '#audio' @sockets = new IPRUG.Sockets @ if Modernizr.websockets

Namespacing

Advantages

Disadvantages

Questions?