jazz-jss 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +20 -0
- data/README.rdoc +19 -0
- data/bin/jazz +9 -0
- data/dist/hashchange/jquery.ba-hashchange.js +390 -0
- data/dist/jazz/lib/controller.js +17 -0
- data/dist/jazz/lib/db.js +41 -0
- data/dist/jazz/lib/helper.js +55 -0
- data/dist/jazz/lib/model.js +122 -0
- data/dist/jazz/lib/route.js +73 -0
- data/dist/jazz/lib/view.js +1 -0
- data/dist/jazz/main.js +76 -0
- data/dist/jquery/jquery.js +9266 -0
- data/dist/mustache/mustache.js +324 -0
- data/dist/require/order.js +180 -0
- data/dist/require/require.js +31 -0
- data/dist/underscore/underscore.js +27 -0
- data/lib/jazz/app_detector.rb +41 -0
- data/lib/jazz/app_generator.rb +37 -0
- data/lib/jazz/cli.rb +14 -0
- data/lib/jazz/controller_generator.rb +27 -0
- data/lib/jazz/model_generator.rb +27 -0
- data/lib/jazz/scaffold_generator.rb +43 -0
- data/lib/jazz.rb +11 -0
- data/templates/app_root/app/assets/javascripts/application.js +0 -0
- data/templates/app_root/app/assets/stylesheets/application.css +0 -0
- data/templates/app_root/config/glue.js +7 -0
- data/templates/app_root/config/routes.js +4 -0
- data/templates/application.js +4 -0
- data/templates/controller.js +19 -0
- data/templates/db.js +14 -0
- data/templates/index.html +9 -0
- data/templates/model.js +9 -0
- data/templates/scaffold_controller.js +18 -0
- metadata +185 -0
@@ -0,0 +1,73 @@
|
|
1
|
+
Jazz.Route = {
|
2
|
+
routes: {},
|
3
|
+
initialize: function(){
|
4
|
+
Jazz.Route.navigate();
|
5
|
+
$(window).hashchange(
|
6
|
+
function(){
|
7
|
+
Jazz.Route.navigate()
|
8
|
+
}
|
9
|
+
);
|
10
|
+
|
11
|
+
},
|
12
|
+
|
13
|
+
draw: function(routes){
|
14
|
+
if (!routes) return this;
|
15
|
+
var now = this.routes;
|
16
|
+
|
17
|
+
// Update attributes.
|
18
|
+
for (var route in routes) {
|
19
|
+
var val = routes[route];
|
20
|
+
|
21
|
+
if (!_.isEqual(now[route], val)) {
|
22
|
+
now[route] = val;
|
23
|
+
}
|
24
|
+
|
25
|
+
}
|
26
|
+
|
27
|
+
return this;
|
28
|
+
},
|
29
|
+
|
30
|
+
navigate: function(){
|
31
|
+
|
32
|
+
action = this.getActionForRoute(location.hash.replace( /^#/, '' ))
|
33
|
+
|
34
|
+
if (!action) {
|
35
|
+
this.rescue();
|
36
|
+
return this
|
37
|
+
};
|
38
|
+
|
39
|
+
var parts = action.split('#');
|
40
|
+
Jazz.Now.controller = parts[0];
|
41
|
+
Jazz.Now.action = parts[1];
|
42
|
+
|
43
|
+
func = new Function(Jazz.Now.controller + '.' + Jazz.Now.action + '()');
|
44
|
+
|
45
|
+
try {
|
46
|
+
return func();
|
47
|
+
}
|
48
|
+
catch(err)
|
49
|
+
{
|
50
|
+
this.rescue();
|
51
|
+
}
|
52
|
+
},
|
53
|
+
|
54
|
+
getActionForRoute: function(route){
|
55
|
+
|
56
|
+
Jazz.Now.url = route;
|
57
|
+
|
58
|
+
action = route == "" ? '/' : route;
|
59
|
+
action = this.routes[route] ? this.routes[route] : false;
|
60
|
+
return action;
|
61
|
+
},
|
62
|
+
|
63
|
+
redirect: function(to){
|
64
|
+
|
65
|
+
},
|
66
|
+
|
67
|
+
rescue: function(){
|
68
|
+
delete Jazz.Now.controller;
|
69
|
+
delete Jazz.Now.action;
|
70
|
+
Jazz.Helper.showError('Cannot Find Route Or Action');
|
71
|
+
},
|
72
|
+
|
73
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
Jazz.View = {}
|
data/dist/jazz/main.js
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
var Jazz = {
|
2
|
+
_:{
|
3
|
+
requires:[
|
4
|
+
'vendor/jquery/jquery.js',
|
5
|
+
'vendor/hashchange/jquery.ba-hashchange.js',
|
6
|
+
'vendor/mustache/mustache.js',
|
7
|
+
'vendor/underscore/underscore.js',
|
8
|
+
'lib/jazz/lib/helper.js',
|
9
|
+
'lib/jazz/lib/model.js',
|
10
|
+
'lib/jazz/lib/db.js',
|
11
|
+
'lib/jazz/lib/route.js',
|
12
|
+
'lib/jazz/lib/view.js',
|
13
|
+
'lib/jazz/lib/controller.js',
|
14
|
+
'config/application.js',
|
15
|
+
'config/routes.js',
|
16
|
+
'config/glue.js'
|
17
|
+
]
|
18
|
+
},
|
19
|
+
Helper:{
|
20
|
+
addOrderToRequires:function (collection, path) {
|
21
|
+
path = path ? path : '';
|
22
|
+
//Load order is importent so add it by default
|
23
|
+
for (file in collection) {
|
24
|
+
collection[file] = collection[file] != "" ? 'vendor/require/order!' + path + collection[file] : "";
|
25
|
+
}
|
26
|
+
return collection;
|
27
|
+
}
|
28
|
+
},
|
29
|
+
Now:{},
|
30
|
+
Config:{}
|
31
|
+
}
|
32
|
+
|
33
|
+
|
34
|
+
require(
|
35
|
+
{
|
36
|
+
baseUrl:""
|
37
|
+
},
|
38
|
+
Jazz.Helper.addOrderToRequires(Jazz._.requires),
|
39
|
+
function () {
|
40
|
+
_.extend(
|
41
|
+
Jazz.Helper.getApp(),
|
42
|
+
{
|
43
|
+
_:{
|
44
|
+
requires:[]
|
45
|
+
}
|
46
|
+
}
|
47
|
+
);
|
48
|
+
|
49
|
+
_.each(
|
50
|
+
Glue,
|
51
|
+
function (val, key) {
|
52
|
+
var path;
|
53
|
+
switch (key) {
|
54
|
+
case "Db":
|
55
|
+
path = "db/"
|
56
|
+
break;
|
57
|
+
default:
|
58
|
+
path = "app/" + key + '/'
|
59
|
+
break;
|
60
|
+
}
|
61
|
+
|
62
|
+
Jazz.Helper.getApp()._.requires.push(Jazz.Helper.addOrderToRequires(val, path));
|
63
|
+
}
|
64
|
+
);
|
65
|
+
|
66
|
+
Jazz.Helper.getApp()._.requires = _.flatten(Jazz.Helper.getApp()._.requires);
|
67
|
+
|
68
|
+
require(
|
69
|
+
Jazz.Helper.getApp()._.requires,
|
70
|
+
function () {
|
71
|
+
eval(Jazz.Config.appName + '.initialize()');
|
72
|
+
Jazz.Route.initialize();
|
73
|
+
}
|
74
|
+
);
|
75
|
+
}
|
76
|
+
);
|