Skip to content

Commit

Permalink
- added more convenient 'subClass' method
Browse files Browse the repository at this point in the history
  • Loading branch information
nickolay committed Jun 27, 2010
1 parent dbdf707 commit 280a4ad
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
5 changes: 2 additions & 3 deletions lib/Joose/Managed/Class.js
Expand Up @@ -69,12 +69,11 @@ Joose.Managed.Class = new Joose.Proto.Class('Joose.Managed.Class', {
delete extend.detached

if (!skipTraits) {
var classWithTrait = thisMeta.subClassOf(this.constructor, { does : traits || [] })
var classWithTrait = thisMeta.subClass({ does : traits || [] }, thisMeta.name)
var meta = classWithTrait.meta
meta.isDetached = true
meta.name = thisMeta.name

return meta.instantiate.call(meta, thisMeta.skipTraitsAnchor, arguments)
return meta.instantiate(thisMeta.skipTraitsAnchor, arguments)
}
}

Expand Down
13 changes: 9 additions & 4 deletions lib/Joose/Proto/Class.js
Expand Up @@ -200,13 +200,18 @@
this.addAttribute(name, value)
}, this)
},


subClassOf : function (classObject, extend) {
return this.subClass(extend, null, classObject)
},


subClassOf : function (classObject, extend) {
extend = extend || {}
extend.isa = classObject || this.c
subClass : function (extend, name, classObject) {
extend = extend || {}
extend.isa = classObject || this.c

return new this.constructor(null, extend).c
return new this.constructor(name, extend).c
},


Expand Down

0 comments on commit 280a4ad

Please sign in to comment.