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);