Sha256: 5fce791fb6df0a15dcd8a2a4e6e2c87182249aa5a8c0cffbfb1f3a0b8630e740

Contents?: true

Size: 540 Bytes

Versions: 83

Compression:

Stored size: 540 Bytes

Contents

class TenonDispatcher
  constructor: ->
    @routes = { }

  initialize: ->
    body = $('body')

    controller = body.data('controller')
    action = body.data('action')

    @dispatch('tenon', 'initialize')

    @dispatch(controller, 'initialize')
    @dispatch(controller, action)

  route: (amalgam, fn) ->
    [controller, action] = amalgam.split('#')

    @routes[controller] ?= { }
    @routes[controller][action] = fn

  dispatch: (controller, action) ->
    @routes[controller]?[action]?()

Tenon.dispatcher = new TenonDispatcher

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
tenon-1.1.8 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.7 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.6 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.5 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.4 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.3 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.2 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.1.1 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.76 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.75 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.74 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.73 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.72 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.71 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.70 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.69 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.68 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.67 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.66 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee
tenon-1.0.65 app/assets/javascripts/tenon/tenon_dispatcher.js.coffee