paloma 4.2.1 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/app/views/paloma/_hook.html.erb +10 -13
- data/lib/paloma/action_controller_extension.rb +4 -4
- data/lib/paloma/controller.rb +13 -4
- data/lib/paloma/test_helper.rb +7 -0
- data/vendor/assets/javascripts/paloma/base_controller.js +8 -0
- data/vendor/assets/javascripts/paloma/before_callback_performer.js +69 -0
- data/vendor/assets/javascripts/paloma/controller_builder.js +36 -0
- data/vendor/assets/javascripts/paloma/controller_class_factory.js +62 -0
- data/vendor/assets/javascripts/paloma/engine.js +59 -53
- data/vendor/assets/javascripts/paloma/index.js +5 -4
- data/vendor/assets/javascripts/paloma/init.js +5 -10
- data/vendor/assets/javascripts/paloma/paloma.js +20 -21
- metadata +18 -88
- data/.gitignore +0 -5
- data/Changelog.md +0 -42
- data/DEVELOPMENT.md +0 -15
- data/Gemfile +0 -2
- data/License +0 -22
- data/README.md +0 -353
- data/TODO.md +0 -1
- data/paloma.gemspec +0 -22
- data/test_app/.gitignore +0 -15
- data/test_app/.rspec +0 -1
- data/test_app/Gemfile +0 -5
- data/test_app/README.rdoc +0 -261
- data/test_app/Rakefile +0 -11
- data/test_app/app/assets/images/rails.png +0 -0
- data/test_app/app/assets/javascripts/admin/bar.js +0 -2
- data/test_app/app/assets/javascripts/application.js +0 -68
- data/test_app/app/assets/stylesheets/admin/bar.css +0 -4
- data/test_app/app/assets/stylesheets/application.css +0 -13
- data/test_app/app/assets/stylesheets/foo.css +0 -4
- data/test_app/app/assets/stylesheets/main.css +0 -4
- data/test_app/app/assets/stylesheets/multiple_names.css +0 -4
- data/test_app/app/controllers/admin/foos_controller.rb +0 -29
- data/test_app/app/controllers/application_controller.rb +0 -3
- data/test_app/app/controllers/main_controller.rb +0 -111
- data/test_app/app/helpers/admin/bar_helper.rb +0 -2
- data/test_app/app/helpers/application_helper.rb +0 -2
- data/test_app/app/helpers/foo_helper.rb +0 -2
- data/test_app/app/helpers/main_helper.rb +0 -2
- data/test_app/app/helpers/multiple_names_helper.rb +0 -2
- data/test_app/app/mailers/.gitkeep +0 -0
- data/test_app/app/models/.gitkeep +0 -0
- data/test_app/app/views/layouts/application.html.erb +0 -40
- data/test_app/app/views/main/ajax.html.erb +0 -2
- data/test_app/config.ru +0 -4
- data/test_app/config/application.rb +0 -69
- data/test_app/config/boot.rb +0 -6
- data/test_app/config/environment.rb +0 -5
- data/test_app/config/environments/development.rb +0 -37
- data/test_app/config/environments/production.rb +0 -67
- data/test_app/config/environments/test.rb +0 -37
- data/test_app/config/initializers/backtrace_silencers.rb +0 -7
- data/test_app/config/initializers/inflections.rb +0 -15
- data/test_app/config/initializers/mime_types.rb +0 -5
- data/test_app/config/initializers/secret_token.rb +0 -7
- data/test_app/config/initializers/session_store.rb +0 -8
- data/test_app/config/initializers/wrap_parameters.rb +0 -14
- data/test_app/config/locales/en.yml +0 -5
- data/test_app/config/routes.rb +0 -28
- data/test_app/db/seeds.rb +0 -7
- data/test_app/doc/README_FOR_APP +0 -2
- data/test_app/lib/assets/.gitkeep +0 -0
- data/test_app/lib/tasks/.gitkeep +0 -0
- data/test_app/log/.gitkeep +0 -0
- data/test_app/public/404.html +0 -26
- data/test_app/public/422.html +0 -26
- data/test_app/public/500.html +0 -25
- data/test_app/public/favicon.ico +0 -0
- data/test_app/public/robots.txt +0 -5
- data/test_app/script/rails +0 -6
- data/test_app/spec/integration/advanced_spec.rb +0 -64
- data/test_app/spec/integration/basic_spec.rb +0 -195
- data/test_app/spec/javascripts/controller_factory_spec.js +0 -48
- data/test_app/spec/javascripts/router_spec.js +0 -52
- data/test_app/spec/javascripts/support/jasmine.yml +0 -20
- data/test_app/spec/spec_helper.rb +0 -37
- data/test_app/spec/units/controller_spec.rb +0 -109
- data/test_app/spec/units/utilities_spec.rb +0 -114
- data/test_app/test/fixtures/.gitkeep +0 -0
- data/test_app/test/functional/.gitkeep +0 -0
- data/test_app/test/integration/.gitkeep +0 -0
- data/test_app/test/performance/browsing_test.rb +0 -12
- data/test_app/test/test_helper.rb +0 -13
- data/test_app/test/unit/.gitkeep +0 -0
- data/test_app/vendor/assets/javascripts/.gitkeep +0 -0
- data/test_app/vendor/assets/stylesheets/.gitkeep +0 -0
- data/test_app/vendor/plugins/.gitkeep +0 -0
- data/vendor/assets/javascripts/paloma/controller.js +0 -10
- data/vendor/assets/javascripts/paloma/controller_factory.js +0 -55
- data/vendor/assets/javascripts/paloma/router.js +0 -23
@@ -1,55 +0,0 @@
|
|
1
|
-
(function(Paloma){
|
2
|
-
|
3
|
-
|
4
|
-
var ControllerFactory = function(router){
|
5
|
-
this.instances = {};
|
6
|
-
this.router = router;
|
7
|
-
};
|
8
|
-
|
9
|
-
|
10
|
-
ControllerFactory.prototype.make = function(name){
|
11
|
-
var config = this.router.parse(name),
|
12
|
-
scope = this.instances;
|
13
|
-
|
14
|
-
// Create namespaces.
|
15
|
-
for (var i = 0, n = config['namespaces'].length; i < n; i++){
|
16
|
-
var namespace = config['namespaces'][i];
|
17
|
-
scope[namespace] = scope[namespace] || {};
|
18
|
-
scope = scope[namespace];
|
19
|
-
}
|
20
|
-
|
21
|
-
return scope[config['controller']] = createConstructor();
|
22
|
-
};
|
23
|
-
|
24
|
-
|
25
|
-
ControllerFactory.prototype.get = function(name){
|
26
|
-
var config = this.router.parse(name),
|
27
|
-
scope = this.instances;
|
28
|
-
|
29
|
-
for (var i = 0, n = config['controllerPath'].length; i < n; i++){
|
30
|
-
var path = config['controllerPath'][i];
|
31
|
-
|
32
|
-
if (scope[path] != null){ scope = scope[path]; }
|
33
|
-
else { return null; }
|
34
|
-
}
|
35
|
-
|
36
|
-
return scope;
|
37
|
-
};
|
38
|
-
|
39
|
-
|
40
|
-
var createConstructor = function(){
|
41
|
-
var constructor = function(params){ this.params = params; }
|
42
|
-
|
43
|
-
$.extend(constructor, Paloma.Controller);
|
44
|
-
$.extend(constructor.prototype, Paloma.Controller.prototype);
|
45
|
-
|
46
|
-
return constructor;
|
47
|
-
};
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
Paloma.ControllerFactory = ControllerFactory;
|
54
|
-
|
55
|
-
})(window.Paloma);
|
@@ -1,23 +0,0 @@
|
|
1
|
-
(function(Paloma){
|
2
|
-
|
3
|
-
var Router = function(namespaceDelimiter){
|
4
|
-
this.namespaceDelimiter = namespaceDelimiter;
|
5
|
-
};
|
6
|
-
|
7
|
-
|
8
|
-
Router.prototype.parse = function(path){
|
9
|
-
var parts = path.split(this.namespaceDelimiter),
|
10
|
-
controller = parts.pop(),
|
11
|
-
namespaces = parts;
|
12
|
-
|
13
|
-
var controllerPath = namespaces.concat([controller]);
|
14
|
-
|
15
|
-
return {controllerPath: controllerPath,
|
16
|
-
namespaces: namespaces,
|
17
|
-
controller: controller};
|
18
|
-
};
|
19
|
-
|
20
|
-
|
21
|
-
Paloma.Router = Router;
|
22
|
-
|
23
|
-
})(window.Paloma);
|