vendor/assets/javascripts/paloma/paloma.js in paloma-4.2.1 vs vendor/assets/javascripts/paloma/paloma.js in paloma-5.0.0

- old
+ new

@@ -1,30 +1,29 @@ (function(Paloma){ - Paloma._router = new Paloma.Router('/'); - Paloma._controllerFactory = new Paloma.ControllerFactory(Paloma._router); + var classFactory = new Paloma.ControllerClassFactory(), + controllerBuilder = new Paloma.ControllerBuilder(classFactory), + engine = new Paloma.Engine(controllerBuilder) - // - // Declare Paloma controllers using this method. - // Will return a new constructor if the no controller with the passed name - // is found, else it will just return the current constructor. - // - Paloma.controller = function(name){ - return Paloma._controllerFactory.get(name) || - Paloma._controllerFactory.make(name); + Paloma._controllerClassFactory = classFactory; + Paloma._controllerBuilder = controllerBuilder + Paloma.engine = engine; + + Paloma.controller = function(name, prototype){ + return classFactory.make(name, prototype); }; + Paloma._executeHook = function(){ + var hook = document.querySelector('.js-paloma-hook script'); + if (hook) eval(hook.innerHTML); + }; - Paloma.engine = new Paloma.Engine({factory: Paloma._controllerFactory}); + Paloma.start = function(){ + if ( !engine.hasRequest() ) this._executeHook(); + if ( engine.hasRequest() ) engine.start(); + }; - - Paloma.executeHook = function(){ - var $hook = $('.js-paloma-hook:first script:first'); - - if ($hook.length == 0){ return; } - - var hook = $hook.html(); - eval(hook); + Paloma.isExecuted = function(){ + return engine.lastRequest().executed; }; - -})(window.Paloma); \ No newline at end of file +})(window.Paloma);