js tooling in rails 3.1
TRANSCRIPT
![Page 1: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/1.jpg)
JavaScript ToolingIn Rails 3.1
And how you should be doing it...
Saturday, November 12, 2011
![Page 2: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/2.jpg)
@dudadornelles
Saturday, November 12, 2011
![Page 3: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/3.jpg)
Saturday, November 12, 2011
![Page 4: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/4.jpg)
Saturday, November 12, 2011
![Page 5: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/5.jpg)
9f09aeb8273177fc2d09ebdafcc76ee8eb56fe33
Saturday, November 12, 2011
![Page 6: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/6.jpg)
Saturday, November 12, 2011
![Page 7: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/7.jpg)
http://jashkenas.github.com/coffee-script/
http://gastronomous.files.wordpress.com/2010/03/img_6226.jpg
Saturday, November 12, 2011
![Page 8: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/8.jpg)
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
![Page 9: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/9.jpg)
Saturday, November 12, 2011
![Page 10: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/10.jpg)
Saturday, November 12, 2011
![Page 11: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/11.jpg)
Saturday, November 12, 2011
![Page 12: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/12.jpg)
+ .JS =
Saturday, November 12, 2011
![Page 13: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/13.jpg)
Saturday, November 12, 2011
![Page 14: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/14.jpg)
Insert broken build picture here
Saturday, November 12, 2011
![Page 15: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/15.jpg)
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
![Page 16: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/16.jpg)
Debugging... :(
Saturday, November 12, 2011
![Page 18: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/18.jpg)
.JS
.JS .JS
.JS .JS
.JS
.JSYour entire application
Saturday, November 12, 2011
![Page 19: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/19.jpg)
.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
![Page 20: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/20.jpg)
+
Saturday, November 12, 2011
![Page 21: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/21.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffee
Saturday, November 12, 2011
![Page 22: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/22.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffee
Single Class
Saturday, November 12, 2011
![Page 23: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/23.jpg)
Saturday, November 12, 2011
![Page 24: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/24.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffeeDOM Interactions
Domain/Business Logic
Saturday, November 12, 2011
![Page 25: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/25.jpg)
Saturday, November 12, 2011
![Page 26: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/26.jpg)
COWBOY?
Saturday, November 12, 2011
![Page 27: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/27.jpg)
http://pivotal.github.com/jasmine/Saturday, November 12, 2011
![Page 28: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/28.jpg)
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
![Page 29: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/29.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffeeDOM Interactions
Domain/Business Logic
Saturday, November 12, 2011
![Page 30: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/30.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffeeDOM Interactions
Domain/Business Logic
spec spec
specspec
spec
spec
Saturday, November 12, 2011
![Page 31: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/31.jpg)
.coffee
.coffee .coffee
.coffee .coffee
.coffee
.coffeeDOM Interactions
Domain/Business Logic
spec spec
specspec
spec
spec
?
Saturday, November 12, 2011
![Page 32: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/32.jpg)
TDD
Saturday, November 12, 2011
![Page 33: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/33.jpg)
Standard?
Saturday, November 12, 2011
![Page 34: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/34.jpg)
+
=
?
+
Saturday, November 12, 2011
![Page 35: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/35.jpg)
https://github.com/bradphelan/jasminerice
https://github.com/pivotal/jasmine/tree/1.2.rc1
https://gist.github.com/673967 - Guard
Saturday, November 12, 2011
![Page 36: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/36.jpg)
Saturday, November 12, 2011
![Page 37: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/37.jpg)
Saturday, November 12, 2011
![Page 38: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/38.jpg)
+
Saturday, November 12, 2011
![Page 39: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/39.jpg)
Saturday, November 12, 2011
![Page 40: JS Tooling in Rails 3.1](https://reader035.vdocuments.net/reader035/viewer/2022081403/5555be1bd8b42afe5d8b5175/html5/thumbnails/40.jpg)
Thanks! :)
Saturday, November 12, 2011