Sha256: 9b9c9b3974bb700b53b5afe12d8f58368147e62ab9c2cc97ef107e57d91f3c47
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
#= require joosy/resources Joosy.ResourceLoader = defineResource: (name, path, parent) -> class @[name] extends parent @entity inflection.underscore(name) @source path namespaceFromLevels: (levels) -> levels.map((x) -> res = x.replace(/^\//, '').split('/') if res.length > 1 # resource, has second (mask) part res = inflection.singularize(res[0]) else # scope res = res[0] inflection.camelize res ).join('.') loadResources: (routes) -> for route in routes levels = route.match /\/[^\/]+(\/:[^\/]+)?/g continue unless levels instanceof Array rootPath = levels.pop() name = inflection.camelize inflection.singularize(rootPath.replace(/^\//, '')) parent = if window[name] && Joosy.Module.hasAncestor(window[name], Joosy.Resources.REST) window[name] else if !window[name] @defineResource.call window, name, rootPath, Joosy.Resources.REST else Joosy.Resources.REST if (ns = @namespaceFromLevels(levels)) != '' Joosy.namespace ns, -> Joosy.ResourceLoader.defineResource.call @, name, route, parent
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
joosy-rails-1.0.0.rc4 | app/assets/javascripts/joosy/resource_loader.coffee |