joosy 1.2.0.alpha.38 → 1.2.0.alpha.41
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gruntfile.coffee +15 -7
- data/bower.json +4 -3
- data/lib/extensions/resources.js +11 -3
- data/lib/joosy.js +235 -300
- data/package.json +3 -3
- data/spec/helpers/ground.coffee +33 -0
- data/spec/helpers/matchers.coffee +65 -0
- data/spec/joosy/core/application_spec.coffee +8 -8
- data/spec/joosy/core/helpers/view_spec.coffee +9 -5
- data/spec/joosy/core/helpers/widgets_spec.coffee +43 -10
- data/spec/joosy/core/joosy_spec.coffee +42 -50
- data/spec/joosy/core/layout_spec.coffee +30 -34
- data/spec/joosy/core/modules/container_spec.coffee +79 -76
- data/spec/joosy/core/modules/events_spec.coffee +148 -81
- data/spec/joosy/core/modules/filters_spec.coffee +68 -49
- data/spec/joosy/core/modules/log_spec.coffee +13 -5
- data/spec/joosy/core/modules/module_spec.coffee +24 -14
- data/spec/joosy/core/modules/renderer_spec.coffee +95 -89
- data/spec/joosy/core/modules/time_manager_spec.coffee +11 -16
- data/spec/joosy/core/modules/widget_manager_spec.coffee +89 -71
- data/spec/joosy/core/page_spec.coffee +201 -137
- data/spec/joosy/core/templaters/jst_spec.coffee +62 -0
- data/spec/joosy/core/widget_spec.coffee +25 -29
- data/spec/joosy/extensions/form/form_spec.coffee +3 -1
- data/spec/joosy/extensions/resources/base_spec.coffee +3 -0
- data/spec/joosy/extensions/resources/collection_spec.coffee +3 -0
- data/spec/joosy/extensions/resources/rest_collection_spec.coffee +3 -0
- data/spec/joosy/extensions/resources/rest_spec.coffee +3 -0
- data/src/joosy/core/application.coffee +1 -7
- data/src/joosy/core/helpers/view.coffee +12 -0
- data/src/joosy/core/helpers/widgets.coffee +19 -9
- data/src/joosy/core/joosy.coffee +0 -23
- data/src/joosy/core/layout.coffee +7 -5
- data/src/joosy/core/module.coffee +24 -4
- data/src/joosy/core/modules/container.coffee +29 -28
- data/src/joosy/core/modules/events.coffee +85 -72
- data/src/joosy/core/modules/filters.coffee +3 -1
- data/src/joosy/core/modules/renderer.coffee +91 -74
- data/src/joosy/core/modules/widgets_manager.coffee +12 -9
- data/src/joosy/core/page.coffee +7 -14
- data/src/joosy/core/templaters/{rails_jst.coffee → jst.coffee} +21 -19
- data/src/joosy/core/widget.coffee +3 -3
- data/src/joosy/extensions/resources/base.coffee +8 -3
- data/src/joosy/extensions/resources/rest.coffee +8 -0
- data/src/joosy/extensions/resources/rest_collection.coffee +1 -0
- data/tasks/joosy.coffee +46 -17
- data/templates/application/base/pages/welcome/index.coffee +5 -5
- data/templates/application/base/templates/layouts/application.jst.hamlc +2 -2
- data/templates/application/base/templates/pages/welcome/index.jst.hamlc +2 -2
- data/templates/application/standalone/Gruntfile.coffee +3 -1
- metadata +6 -5
- data/spec/helpers/helper.coffee +0 -68
- data/spec/joosy/core/templaters/rails_jst_spec.coffee +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 252dbaf8a2f50e26135188ca12a3d6151ae7da41
|
4
|
+
data.tar.gz: 1c753810d56861515d9142086a55b6ef427f1979
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5e488a95b25e278757fd05c4176e92987630798e8e423723917787b6931744fd621154220dcde2e80229fabfd15d7b8be8f38f4a5be26ee5d268a0ca36595d8
|
7
|
+
data.tar.gz: 4ede038e7ce8d2dc41e0f160462f64bd71d9d6fa9801361259e168b1f99edc7b133228756ed1338b8e442d69c8a30f8a3dedc709ab9a5fa2b325b8fd3514652e
|
data/Gruntfile.coffee
CHANGED
@@ -22,16 +22,14 @@ module.exports = (grunt) ->
|
|
22
22
|
helpers: 'spec/helpers/**/*.*'
|
23
23
|
build: '.grunt'
|
24
24
|
|
25
|
-
specOptions = (category, specs) ->
|
25
|
+
specOptions = (category, specs, vendor=[]) ->
|
26
26
|
host: 'http://localhost:8888/'
|
27
27
|
keepRunner: true
|
28
28
|
outfile: "#{category}.html"
|
29
29
|
vendor: [
|
30
30
|
'bower_components/sinonjs/sinon.js',
|
31
|
-
'bower_components/sugar/release/sugar-full.min.js'
|
32
|
-
|
33
|
-
'bower_components/jquery-form/jquery.form.js'
|
34
|
-
],
|
31
|
+
'bower_components/sugar/release/sugar-full.min.js'
|
32
|
+
].concat(vendor),
|
35
33
|
specs: "#{locations.specs.build}/#{specs}"
|
36
34
|
helpers: locations.specs.build + '/' + locations.specs.helpers
|
37
35
|
|
@@ -104,11 +102,21 @@ module.exports = (grunt) ->
|
|
104
102
|
|
105
103
|
jasmine:
|
106
104
|
core:
|
107
|
-
options: specOptions('core', locations.specs.units.core
|
105
|
+
options: specOptions('core', locations.specs.units.core, [
|
106
|
+
'bower_components/jquery/jquery.js'
|
107
|
+
])
|
108
108
|
src: locations.source.build
|
109
109
|
|
110
|
+
zepto:
|
111
|
+
options: specOptions('zepto', locations.specs.units.core, [
|
112
|
+
'bower_components/zepto/zepto.js'
|
113
|
+
])
|
114
|
+
src: locations.source.build
|
110
115
|
extensions:
|
111
|
-
options: specOptions('extensions', locations.specs.units.extensions
|
116
|
+
options: specOptions('extensions', locations.specs.units.extensions, [
|
117
|
+
'bower_components/jquery/jquery.js',
|
118
|
+
'bower_components/jquery-form/jquery.form.js'
|
119
|
+
])
|
112
120
|
src: [locations.source.build].include ['preloaders', 'resources', 'resources-form'].map (x) ->
|
113
121
|
locations.source.extensions(x).build
|
114
122
|
|
data/bower.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "joosy",
|
3
|
-
"version": "1.2.0-alpha.
|
3
|
+
"version": "1.2.0-alpha.41",
|
4
4
|
"main": "lib/joosy.js",
|
5
5
|
"ignore": [
|
6
6
|
"bin",
|
@@ -16,9 +16,10 @@
|
|
16
16
|
"dependencies": {
|
17
17
|
"jquery": "~1.10.1",
|
18
18
|
"sugar": "~1.3.9",
|
19
|
-
"jquery-form": "
|
19
|
+
"jquery-form": "~3.37.0"
|
20
20
|
},
|
21
21
|
"devDependencies": {
|
22
|
-
"sinonjs": "~1.7.1"
|
22
|
+
"sinonjs": "~1.7.1",
|
23
|
+
"zepto": "~1.0.0"
|
23
24
|
}
|
24
25
|
}
|
data/lib/extensions/resources.js
CHANGED
@@ -160,8 +160,10 @@ Joosy.Resources.Base = (function(_super) {
|
|
160
160
|
|
161
161
|
Base.prototype.__get = function(path) {
|
162
162
|
var target;
|
163
|
-
target = this.__callTarget(path);
|
164
|
-
if (target
|
163
|
+
target = this.__callTarget(path, true);
|
164
|
+
if (!target) {
|
165
|
+
return void 0;
|
166
|
+
} else if (target[0] instanceof Joosy.Resources.Base) {
|
165
167
|
return target[0](target[1]);
|
166
168
|
} else {
|
167
169
|
return target[0][target[1]];
|
@@ -180,14 +182,20 @@ Joosy.Resources.Base = (function(_super) {
|
|
180
182
|
return null;
|
181
183
|
};
|
182
184
|
|
183
|
-
Base.prototype.__callTarget = function(path) {
|
185
|
+
Base.prototype.__callTarget = function(path, safe) {
|
184
186
|
var keyword, part, target, _i, _len;
|
187
|
+
if (safe == null) {
|
188
|
+
safe = false;
|
189
|
+
}
|
185
190
|
if (path.has(/\./) && (this.data[path] == null)) {
|
186
191
|
path = path.split('.');
|
187
192
|
keyword = path.pop();
|
188
193
|
target = this.data;
|
189
194
|
for (_i = 0, _len = path.length; _i < _len; _i++) {
|
190
195
|
part = path[_i];
|
196
|
+
if (safe && (target[part] == null)) {
|
197
|
+
return false;
|
198
|
+
}
|
191
199
|
target[part] || (target[part] = {});
|
192
200
|
if (target instanceof Joosy.Resources.Base) {
|
193
201
|
target = target(part);
|