Sha256: a996baccfe3c806299cc44465630872b00dedb991e88c9122655219d392571a3
Contents?: true
Size: 1.05 KB
Versions: 8
Compression:
Stored size: 1.05 KB
Contents
Shuriken.defineExtension (baseNS) -> baseNS.withNS 'Mixins', (ns) -> root: @getRootNS() ns.mixins: {} root.mixins: {} root.withBase (base) -> base.mixin: (mixins) -> ns.mixin @, mixins defineMixin: (key, mixin) -> @mixins[key]: mixin root.defineMixin: defineMixin ns.define: defineMixin ns.lookupMixin: (mixin) -> switch typeof mixin when "string" if ns.mixins[mixin]? ns.mixins[mixin] else if root.mixins[mixin]? root.mixins[mixin] else {} # unknown mixin, return a blank object. else mixin ns.invokeMixin: (scope, mixin) -> switch typeof mixin when "string" ns.invokeMixin scope, ns.lookupMixin(mixin) when "function" mixin.call scope, scope when "object" $.extend scope, mixin ns.mixin: (scope, mixins) -> mixins: [mixins] unless $.isArray mixins ns.invokeMixin scope, ns.lookupMixin(mixin) for mixin in mixins true
Version data entries
8 entries across 8 versions & 1 rubygems