joosy 1.2.0.alpha.14 → 1.2.0.alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/Gruntfile.coffee +42 -18
- data/README.md +16 -12
- data/bower.json +1 -1
- data/lib/extensions/form.js +592 -0
- data/lib/extensions/preloaders.js +193 -0
- data/lib/extensions/resources.js +667 -0
- data/lib/joosy.js +1141 -2680
- data/lib/joosy.rb +0 -5
- data/package.json +1 -1
- data/spec/helpers/helper.coffee +1 -1
- data/spec/joosy/core/joosy_spec.coffee +1 -28
- data/spec/joosy/core/modules/renderer_spec.coffee +0 -95
- data/spec/joosy/{core → extensions/form}/form_spec.coffee +2 -2
- data/spec/joosy/{core → extensions/form}/helpers/forms_spec.coffee +1 -1
- data/spec/joosy/{preloaders → extensions/preloaders}/caching_spec.coffee +0 -0
- data/spec/joosy/{preloaders → extensions/preloaders}/inline_spec.coffee +0 -0
- data/spec/joosy/{core/resource/generic_spec.coffee → extensions/resources/base_spec.coffee} +19 -20
- data/spec/joosy/{core/resource → extensions/resources}/collection_spec.coffee +4 -4
- data/spec/joosy/{core/resource → extensions/resources}/rest_collection_spec.coffee +4 -4
- data/spec/joosy/{core/resource → extensions/resources}/rest_spec.coffee +6 -7
- data/src/joosy.coffee +1 -2
- data/src/joosy/core/helpers/view.coffee +0 -8
- data/src/joosy/core/joosy.coffee +5 -44
- data/src/joosy/core/modules/renderer.coffee +10 -29
- data/src/joosy/core/{resource → resources}/watcher.coffee +2 -1
- data/src/joosy/{core → extensions/form}/form.coffee +3 -9
- data/src/joosy/{core → extensions/form}/helpers/form.coffee +2 -2
- data/src/joosy/extensions/form/index.coffee +1 -0
- data/src/joosy/{preloaders → extensions/preloaders}/caching.coffee +0 -0
- data/src/joosy/extensions/preloaders/index.coffee +1 -0
- data/src/joosy/{preloaders → extensions/preloaders}/inline.coffee +0 -0
- data/src/joosy/{core/resource/generic.coffee → extensions/resources/base.coffee} +21 -21
- data/src/joosy/{core/resource → extensions/resources}/collection.coffee +11 -11
- data/src/joosy/extensions/resources/index.coffee +1 -0
- data/src/joosy/{core/resource → extensions/resources}/rest.coffee +15 -12
- data/src/joosy/{core/resource → extensions/resources}/rest_collection.coffee +4 -2
- data/src/joosy/generators/base.coffee +1 -1
- metadata +25 -20
- data/src/joosy/core/preloader.coffee +0 -13
data/lib/joosy.rb
CHANGED
data/package.json
CHANGED
data/spec/helpers/helper.coffee
CHANGED
@@ -3,7 +3,7 @@ describe "Joosy", ->
|
|
3
3
|
it "should properly initialize", ->
|
4
4
|
expect(Joosy.Application.config.debug).toBeFalsy()
|
5
5
|
expect(Joosy.Modules).toBeDefined()
|
6
|
-
expect(Joosy.
|
6
|
+
expect(Joosy.Resources).toBeDefined()
|
7
7
|
|
8
8
|
it "should declare namespaces", ->
|
9
9
|
Joosy.namespace 'Namespaces.Test1'
|
@@ -70,30 +70,3 @@ describe "Joosy", ->
|
|
70
70
|
runs -> Joosy.preloadImages images, callback
|
71
71
|
waits(150)
|
72
72
|
runs -> expect(callback.callCount).toEqual(2)
|
73
|
-
|
74
|
-
it "should define resource", ->
|
75
|
-
container = {}
|
76
|
-
Joosy.defineResource 'foo', '', container
|
77
|
-
expect(Object.isFunction container.Foo).toBeTruthy()
|
78
|
-
expect(Object.isFunction container.FoosCollection).toBeTruthy()
|
79
|
-
expect(container.Foo::__collection()).toEqual container.FoosCollection
|
80
|
-
Joosy.defineResource 'boo'
|
81
|
-
expect(Object.isFunction Boo).toBeTruthy()
|
82
|
-
expect(Object.isFunction BoosCollection).toBeTruthy()
|
83
|
-
expect(Boo::__collection()).toEqual BoosCollection
|
84
|
-
|
85
|
-
it "should define resource", ->
|
86
|
-
window.Defined = 'this'
|
87
|
-
window.DefinedsCollection = 'that'
|
88
|
-
Joosy.defineResources
|
89
|
-
'':
|
90
|
-
test: '/test'
|
91
|
-
defined: 'no'
|
92
|
-
'Scope.Test':
|
93
|
-
another: ''
|
94
|
-
expect(Object.isFunction Test).toBeTruthy()
|
95
|
-
expect(Object.isFunction TestsCollection).toBeTruthy()
|
96
|
-
expect(Object.isFunction Scope.Test.Another).toBeTruthy()
|
97
|
-
expect(Object.isFunction Scope.Test.AnothersCollection).toBeTruthy()
|
98
|
-
expect(Defined).toEqual 'this'
|
99
|
-
expect(DefinedsCollection).toEqual 'that'
|
@@ -52,101 +52,6 @@ describe "Joosy.Modules.Renderer", ->
|
|
52
52
|
runs ->
|
53
53
|
expect(elem.text()).toBe "new"
|
54
54
|
|
55
|
-
it "renders resources and keep html up2date", ->
|
56
|
-
data = Joosy.Resource.Generic.build zombie: 'rock'
|
57
|
-
|
58
|
-
@TestContainer.view (locals) ->
|
59
|
-
template = -> @zombie
|
60
|
-
|
61
|
-
@renderDynamic(template, locals)
|
62
|
-
|
63
|
-
elem = $("<div></div>")
|
64
|
-
@ground.append elem
|
65
|
-
|
66
|
-
elem.html @dummyContainer.__renderer(data)
|
67
|
-
|
68
|
-
waits 0
|
69
|
-
|
70
|
-
runs ->
|
71
|
-
expect(elem.text()).toBe "rock"
|
72
|
-
|
73
|
-
runs ->
|
74
|
-
data 'zombie', 'suck'
|
75
|
-
|
76
|
-
waits 0
|
77
|
-
|
78
|
-
runs ->
|
79
|
-
expect(elem.text()).toBe "suck"
|
80
|
-
|
81
|
-
it "renders collections and keep html up2date", ->
|
82
|
-
class Foo extends Joosy.Resource.Generic
|
83
|
-
@entity 'foo'
|
84
|
-
|
85
|
-
data = new Joosy.Resource.Collection(Foo)
|
86
|
-
|
87
|
-
data.load [
|
88
|
-
{ zombie: 'rock' },
|
89
|
-
{ zombie: 'never sleep' }
|
90
|
-
]
|
91
|
-
|
92
|
-
@TestContainer.view (locals) ->
|
93
|
-
template = -> @data[1] 'zombie'
|
94
|
-
|
95
|
-
@renderDynamic(template, locals)
|
96
|
-
|
97
|
-
elem = $("<div></div>")
|
98
|
-
@ground.append elem
|
99
|
-
|
100
|
-
elem.html @dummyContainer.__renderer(data)
|
101
|
-
|
102
|
-
waits 0
|
103
|
-
|
104
|
-
runs ->
|
105
|
-
expect(elem.text()).toBe "never sleep"
|
106
|
-
|
107
|
-
runs ->
|
108
|
-
data.data[1] 'zombie', 'suck'
|
109
|
-
|
110
|
-
waits 0
|
111
|
-
|
112
|
-
runs ->
|
113
|
-
expect(elem.text()).toBe "suck"
|
114
|
-
|
115
|
-
xit "renders collections and track its new items", ->
|
116
|
-
class Foo extends Joosy.Resource.Generic
|
117
|
-
@entity 'foo'
|
118
|
-
|
119
|
-
data = new Joosy.Resource.Collection(Foo)
|
120
|
-
data.load [
|
121
|
-
{key: 1},
|
122
|
-
{key: 2}
|
123
|
-
]
|
124
|
-
|
125
|
-
@TestContainer.view (locals) ->
|
126
|
-
template = -> @data.map((item) -> item('key')).join('')
|
127
|
-
@renderDynamic(template, locals)
|
128
|
-
|
129
|
-
elem = $("<div></div>")
|
130
|
-
@ground.append elem
|
131
|
-
elem.html @dummyContainer.__renderer(data)
|
132
|
-
|
133
|
-
waits 0
|
134
|
-
|
135
|
-
runs ->
|
136
|
-
expect(elem.text()).toBe "12"
|
137
|
-
data.add Foo.build(key: 3)
|
138
|
-
|
139
|
-
waits 0
|
140
|
-
|
141
|
-
runs ->
|
142
|
-
expect(elem.text()).toBe "123"
|
143
|
-
data.at(2)('key', 6)
|
144
|
-
|
145
|
-
waits 0
|
146
|
-
|
147
|
-
runs ->
|
148
|
-
expect(elem.text()).toBe "126"
|
149
|
-
|
150
55
|
it "debounces morpher updates", ->
|
151
56
|
@TestContainer.view (locals) ->
|
152
57
|
template = -> @object.value
|
@@ -19,7 +19,7 @@ describe "Joosy.Form", ->
|
|
19
19
|
@exactForm = $('#exact')
|
20
20
|
@arrayForm = $('#array')
|
21
21
|
|
22
|
-
class Test extends Joosy.
|
22
|
+
class Test extends Joosy.Resources.REST
|
23
23
|
@entity 'test'
|
24
24
|
@Test = Test
|
25
25
|
|
@@ -36,7 +36,7 @@ describe "Joosy.Form", ->
|
|
36
36
|
test: 'test'
|
37
37
|
EXact:
|
38
38
|
MATCH: 'works'
|
39
|
-
items: (new Joosy.
|
39
|
+
items: (new Joosy.Resources.RESTCollection(Test)).load([{attr: 'one'}, {attr: 'two'}])
|
40
40
|
single: Test.build(attr: 'sin')
|
41
41
|
|
42
42
|
afterEach ->
|
File without changes
|
File without changes
|
@@ -1,19 +1,19 @@
|
|
1
|
-
describe "Joosy.
|
1
|
+
describe "Joosy.Resources.Base", ->
|
2
2
|
|
3
|
-
class TestInline extends Joosy.
|
3
|
+
class TestInline extends Joosy.Resources.Base
|
4
4
|
@entity 'test_inline'
|
5
5
|
|
6
|
-
class Test extends Joosy.
|
6
|
+
class Test extends Joosy.Resources.REST
|
7
7
|
@entity 'test'
|
8
8
|
@map 'test_inlines', TestInline
|
9
9
|
|
10
|
-
class TestNode extends Joosy.
|
10
|
+
class TestNode extends Joosy.Resources.Base
|
11
11
|
@entity 'test_node'
|
12
12
|
@map 'children', TestNode
|
13
13
|
@map 'parent', TestNode
|
14
14
|
|
15
15
|
beforeEach ->
|
16
|
-
@resource = Joosy.
|
16
|
+
@resource = Joosy.Resources.Base.build @data =
|
17
17
|
foo: 'bar'
|
18
18
|
bar: 'baz'
|
19
19
|
very:
|
@@ -24,7 +24,7 @@ describe "Joosy.Resource.Generic", ->
|
|
24
24
|
expect(Test::__primaryKey).toEqual 'id'
|
25
25
|
|
26
26
|
it "remembers where it belongs", ->
|
27
|
-
resource = new Joosy.
|
27
|
+
resource = new Joosy.Resources.Base foo: 'bar'
|
28
28
|
expect(resource.data).toEqual foo: 'bar'
|
29
29
|
|
30
30
|
it "produces magic function", ->
|
@@ -49,7 +49,7 @@ describe "Joosy.Resource.Generic", ->
|
|
49
49
|
expect(@resource 'another.deep').toEqual value: 'banana strikes back'
|
50
50
|
|
51
51
|
it "handles @at", ->
|
52
|
-
class Fluffy extends Joosy.
|
52
|
+
class Fluffy extends Joosy.Resources.Base
|
53
53
|
@entity 'fluffy'
|
54
54
|
|
55
55
|
clone = Fluffy.at('rumbas!')
|
@@ -73,7 +73,7 @@ describe "Joosy.Resource.Generic", ->
|
|
73
73
|
expect(callback.callCount).toEqual(2)
|
74
74
|
|
75
75
|
it "handles the before filter", ->
|
76
|
-
class R extends Joosy.
|
76
|
+
class R extends Joosy.Resources.Base
|
77
77
|
@beforeLoad (data) ->
|
78
78
|
data ||= {}
|
79
79
|
data.tested = true
|
@@ -84,13 +84,13 @@ describe "Joosy.Resource.Generic", ->
|
|
84
84
|
expect(resource 'tested').toBeTruthy()
|
85
85
|
|
86
86
|
it "should map inlines", ->
|
87
|
-
class RumbaMumba extends Joosy.
|
87
|
+
class RumbaMumba extends Joosy.Resources.Base
|
88
88
|
@entity 'rumba_mumba'
|
89
89
|
|
90
|
-
class R extends Joosy.
|
90
|
+
class R extends Joosy.Resources.Base
|
91
91
|
@map 'rumbaMumbas', RumbaMumba
|
92
92
|
|
93
|
-
class S extends Joosy.
|
93
|
+
class S extends Joosy.Resources.Base
|
94
94
|
@map 'rumbaMumba', RumbaMumba
|
95
95
|
|
96
96
|
resource = R.build
|
@@ -98,20 +98,20 @@ describe "Joosy.Resource.Generic", ->
|
|
98
98
|
{foo: 'bar'},
|
99
99
|
{bar: 'baz'}
|
100
100
|
]
|
101
|
-
expect(resource('rumbaMumbas') instanceof Joosy.
|
101
|
+
expect(resource('rumbaMumbas') instanceof Joosy.Resources.Collection).toBeTruthy()
|
102
102
|
expect(resource('rumbaMumbas').at(0)('foo')).toEqual 'bar'
|
103
103
|
|
104
104
|
resource = S.build
|
105
105
|
rumbaMumba: {foo: 'bar'}
|
106
|
-
expect(resource('rumbaMumba') instanceof Joosy.
|
106
|
+
expect(resource('rumbaMumba') instanceof Joosy.Resources.Base).toBeTruthy()
|
107
107
|
expect(resource('rumbaMumba.foo')).toEqual 'bar'
|
108
108
|
|
109
109
|
it "should use magic collections", ->
|
110
|
-
class window.RumbaMumbasCollection extends Joosy.
|
110
|
+
class window.RumbaMumbasCollection extends Joosy.Resources.Collection
|
111
111
|
|
112
|
-
class RumbaMumba extends Joosy.
|
112
|
+
class RumbaMumba extends Joosy.Resources.Base
|
113
113
|
@entity 'rumba_mumba'
|
114
|
-
class R extends Joosy.
|
114
|
+
class R extends Joosy.Resources.Base
|
115
115
|
@map 'rumbaMumbas', RumbaMumba
|
116
116
|
|
117
117
|
resource = R.build
|
@@ -125,12 +125,12 @@ describe "Joosy.Resource.Generic", ->
|
|
125
125
|
window.RumbaMumbasCollection = undefined
|
126
126
|
|
127
127
|
it "should use manually set collections", ->
|
128
|
-
class OloCollection extends Joosy.
|
128
|
+
class OloCollection extends Joosy.Resources.Collection
|
129
129
|
|
130
|
-
class RumbaMumba extends Joosy.
|
130
|
+
class RumbaMumba extends Joosy.Resources.Base
|
131
131
|
@entity 'rumba_mumba'
|
132
132
|
@collection OloCollection
|
133
|
-
class R extends Joosy.
|
133
|
+
class R extends Joosy.Resources.Base
|
134
134
|
@map 'rumbaMumbas', RumbaMumba
|
135
135
|
|
136
136
|
resource = R.build
|
@@ -142,7 +142,6 @@ describe "Joosy.Resource.Generic", ->
|
|
142
142
|
expect(resource('rumbaMumbas').at(0)('foo')).toEqual 'bar'
|
143
143
|
|
144
144
|
describe "identity map", ->
|
145
|
-
|
146
145
|
it "handles builds", ->
|
147
146
|
foo = Test.build 1
|
148
147
|
bar = Test.build 1
|
@@ -1,6 +1,6 @@
|
|
1
|
-
describe "Joosy.
|
1
|
+
describe "Joosy.Resources.Collection", ->
|
2
2
|
|
3
|
-
class Test extends Joosy.
|
3
|
+
class Test extends Joosy.Resources.Base
|
4
4
|
@entity 'test'
|
5
5
|
|
6
6
|
data = '[{"id": 1, "name": "test1"}, {"id": 2, "name": "test2"}]'
|
@@ -11,7 +11,7 @@ describe "Joosy.Resource.Collection", ->
|
|
11
11
|
expect(collection.data[0].data.name).toEqual 'test1'
|
12
12
|
|
13
13
|
beforeEach ->
|
14
|
-
@collection = new Joosy.
|
14
|
+
@collection = new Joosy.Resources.Collection(Test)
|
15
15
|
|
16
16
|
it "should initialize", ->
|
17
17
|
expect(@collection.model).toEqual Test
|
@@ -37,7 +37,7 @@ describe "Joosy.Resource.Collection", ->
|
|
37
37
|
expect(callback.callCount).toEqual 0
|
38
38
|
|
39
39
|
it "should properly handle the before filter", ->
|
40
|
-
class RC extends Joosy.
|
40
|
+
class RC extends Joosy.Resources.Collection
|
41
41
|
@beforeLoad (data) ->
|
42
42
|
data.each (entry, i) ->
|
43
43
|
data[i].tested = true
|
@@ -1,11 +1,11 @@
|
|
1
|
-
describe "Joosy.
|
1
|
+
describe "Joosy.Resources.RESTCollection", ->
|
2
2
|
|
3
|
-
class Test extends Joosy.
|
3
|
+
class Test extends Joosy.Resources.REST
|
4
4
|
@entity 'test'
|
5
5
|
|
6
6
|
beforeEach ->
|
7
7
|
@server = sinon.fakeServer.create()
|
8
|
-
@collection = new Joosy.
|
8
|
+
@collection = new Joosy.Resources.RESTCollection(Test)
|
9
9
|
|
10
10
|
afterEach ->
|
11
11
|
@server.restore()
|
@@ -30,7 +30,7 @@ describe "Joosy.Resource.RESTCollection", ->
|
|
30
30
|
expect(@collection.data[0].data.name).toEqual 'test3'
|
31
31
|
|
32
32
|
it "should use own storage", ->
|
33
|
-
class TestsCollection extends Joosy.
|
33
|
+
class TestsCollection extends Joosy.Resources.RESTCollection
|
34
34
|
@model Test
|
35
35
|
collection = new TestsCollection()
|
36
36
|
collection.add 'test'
|
@@ -1,17 +1,17 @@
|
|
1
|
-
describe "Joosy.
|
1
|
+
describe "Joosy.Resources.REST", ->
|
2
2
|
|
3
|
-
class FluffyInline extends Joosy.
|
3
|
+
class FluffyInline extends Joosy.Resources.REST
|
4
4
|
@entity 'fluffy_inline'
|
5
5
|
|
6
|
-
class FluffyParent extends Joosy.
|
6
|
+
class FluffyParent extends Joosy.Resources.REST
|
7
7
|
@entity 'fluffy_parent'
|
8
8
|
|
9
|
-
class Fluffy extends Joosy.
|
9
|
+
class Fluffy extends Joosy.Resources.REST
|
10
10
|
@entity 'fluffy'
|
11
11
|
@map 'fluffy_inlines', FluffyInline
|
12
12
|
|
13
13
|
Joosy.namespace 'Animal', ->
|
14
|
-
class @Cat extends Joosy.
|
14
|
+
class @Cat extends Joosy.Resources.REST
|
15
15
|
@entity 'cat'
|
16
16
|
|
17
17
|
beforeEach ->
|
@@ -94,7 +94,7 @@ describe "Joosy.Resource.REST", ->
|
|
94
94
|
rawData = '{"page": 42, "fluffies": [{"id": 1, "name": "test1"}, {"id": 2, "name": "test2"}]}'
|
95
95
|
|
96
96
|
callback = sinon.spy (target, data) ->
|
97
|
-
expect(target instanceof Joosy.
|
97
|
+
expect(target instanceof Joosy.Resources.RESTCollection).toEqual true
|
98
98
|
expect(target.size()).toEqual 2
|
99
99
|
expect(target.at(0) instanceof Fluffy).toEqual true
|
100
100
|
expect(data).toEqual $.parseJSON(rawData)
|
@@ -174,7 +174,6 @@ describe "Joosy.Resource.REST", ->
|
|
174
174
|
checkAndRespond @server.requests[0], 'DELETE', /^\/fluffies/, rawData
|
175
175
|
|
176
176
|
describe "identity map", ->
|
177
|
-
|
178
177
|
it "handles finds", ->
|
179
178
|
inline = FluffyInline.build(1)
|
180
179
|
root = Fluffy.find 1
|
data/src/joosy.coffee
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
#= require_tree ./joosy/core
|
2
|
-
#= require_tree ./joosy/preloaders
|
1
|
+
#= require_tree ./joosy/core
|
@@ -23,14 +23,6 @@ Joosy.helpers 'Application', ->
|
|
23
23
|
temp.appendChild element
|
24
24
|
temp.innerHTML
|
25
25
|
|
26
|
-
#
|
27
|
-
# Converts \n into <br/> in your text
|
28
|
-
#
|
29
|
-
# @param [String] text Text to convert
|
30
|
-
#
|
31
|
-
@nl2br = (text) ->
|
32
|
-
text.toString().replace /\n/g, '<br/>'
|
33
|
-
|
34
26
|
#
|
35
27
|
# Wraps the inline block into given template
|
36
28
|
# Request template will receive the inline block as @yield parameter
|
data/src/joosy/core/joosy.coffee
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
#= require_self ./
|
2
|
+
#= require joosy/core/modules/module
|
3
|
+
|
1
4
|
#
|
2
5
|
# All the tiny core stuff
|
3
6
|
#
|
@@ -12,7 +15,7 @@
|
|
12
15
|
#
|
13
16
|
# Resources container
|
14
17
|
#
|
15
|
-
|
18
|
+
Resources: {}
|
16
19
|
|
17
20
|
#
|
18
21
|
# Templaters container
|
@@ -136,46 +139,4 @@
|
|
136
139
|
if !paramsString.isBlank() && url.last() != '?'
|
137
140
|
paramsString = '&' + paramsString
|
138
141
|
|
139
|
-
url + paramsString + hash
|
140
|
-
|
141
|
-
#
|
142
|
-
# Creates classes and collection classes for the given resources that might have been extracted from the routes
|
143
|
-
#
|
144
|
-
# @param [Hash] resources Resources declaration
|
145
|
-
#
|
146
|
-
# @example Basic usage
|
147
|
-
# Joosy.defineResources {'': {foo: '/foos'}, 'namespace': {bar: '/namespace/bars'}}
|
148
|
-
#
|
149
|
-
defineResources: (resources) ->
|
150
|
-
Object.extended(resources).each (namespace, resources) ->
|
151
|
-
if namespace.isBlank()
|
152
|
-
Object.extended(resources).each (resource, path) ->
|
153
|
-
Joosy.defineResource resource, path
|
154
|
-
else
|
155
|
-
Joosy.namespace namespace, ->
|
156
|
-
Object.extended(resources).each (resource, path) =>
|
157
|
-
Joosy.defineResource resource, path, @
|
158
|
-
|
159
|
-
#
|
160
|
-
#
|
161
|
-
# @param [String] resource Entity name in singular form
|
162
|
-
# @param [String] path Entity REST end-point
|
163
|
-
# @param [Object] space Namespace for new classes
|
164
|
-
#
|
165
|
-
# @example Basic usage
|
166
|
-
# Joosy.defineResource 'foo', '/foos'
|
167
|
-
#
|
168
|
-
defineResource: (resource, path, space=window) ->
|
169
|
-
className = resource.camelize()
|
170
|
-
collectionName = "#{resource.pluralize().camelize()}Collection"
|
171
|
-
unless space[className]
|
172
|
-
Joosy.Modules.Log.debugAs space, "Define #{className}"
|
173
|
-
space[className] = class extends Joosy.Resource.REST
|
174
|
-
@entity resource
|
175
|
-
@source path
|
176
|
-
__collection: ->
|
177
|
-
space[collectionName]
|
178
|
-
unless space[collectionName]
|
179
|
-
Joosy.Modules.Log.debugAs space, "Define #{collectionName}"
|
180
|
-
space[collectionName] = class extends Joosy.Resource.RESTCollection
|
181
|
-
@model space[className]
|
142
|
+
url + paramsString + hash
|