Transcript

JavaScript ToolingIn Rails 3.1

And how you should be doing it...

Saturday, November 12, 2011

@dudadornelles

Saturday, November 12, 2011

Saturday, November 12, 2011

Saturday, November 12, 2011

9f09aeb8273177fc2d09ebdafcc76ee8eb56fe33

Saturday, November 12, 2011

Saturday, November 12, 2011

http://jashkenas.github.com/coffee-script/

http://gastronomous.files.wordpress.com/2010/03/img_6226.jpg

Saturday, November 12, 2011

math = root: Math.sqrt square: square cube: (x) -> x * square x

math = { root: Math.sqrt, square: square, cube: function(x) { return x * square(x); }};

Saturday, November 12, 2011

Saturday, November 12, 2011

Saturday, November 12, 2011

Saturday, November 12, 2011

+ .JS =

Saturday, November 12, 2011

Saturday, November 12, 2011

Insert broken build picture here

Saturday, November 12, 2011

class Ninja constructor: (@numOfShurikens) ->

throwShuriken: -> @numOfShurikens--

class Ronin extends Ninja

constructor: (numOfShurikens) -> super numOfShurikens+1 #ronins know to carry a spare

Saturday, November 12, 2011

Debugging... :(

Saturday, November 12, 2011

http://getsprockets.org

Saturday, November 12, 2011

.JS

.JS .JS

.JS .JS

.JS

.JSYour entire application

Saturday, November 12, 2011

.task_controller.js.coffee

#= require taskwindow.MyApp = window.MyApp || {}Task = window.MyApp.Task

class TaskController create: (description) -> Task.save(new Task(description))

.task.js.coffee

window.MyApp = window.MyApp || {}

class Task constructor: (@description) -> @save: (task) -> ...

window.MyApp.Task = Task

Saturday, November 12, 2011

+

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffee

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffee

Single Class

Saturday, November 12, 2011

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

Saturday, November 12, 2011

Saturday, November 12, 2011

COWBOY?

Saturday, November 12, 2011

http://pivotal.github.com/jasmine/Saturday, November 12, 2011

describe 'Math', ->  describe 'fib', ->    it 'should calculate the numbers correctly up to fib(16)', ->      fib = [0, 1, 1, 2, 3, 5, 8, 13]      expect(Math.fib(i)).toEqual fib[i] for i in [0..7]

describe 'Math' do  describe 'fib' do    it 'should calculate the numbers correctly up to fib(16)'      fib = [0, 1, 1, 2, 3, 5, 8, 13]      (0..7).map { |n| Math.fib(n) }.should == fib end endend

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

spec spec

specspec

spec

spec

Saturday, November 12, 2011

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

spec spec

specspec

spec

spec

?

Saturday, November 12, 2011

TDD

Saturday, November 12, 2011

Standard?

Saturday, November 12, 2011

+

=

?

+

Saturday, November 12, 2011

Saturday, November 12, 2011

Saturday, November 12, 2011

+

Saturday, November 12, 2011

Saturday, November 12, 2011

Thanks! :)

Saturday, November 12, 2011

top related