Sha256: 8584ea417bc9a08edb354ece574b0003ed4cec6b70a03d1f54426ec018d175a5
Contents?: true
Size: 1.11 KB
Versions: 2
Compression:
Stored size: 1.11 KB
Contents
#= require joosy/resources Joosy.ResourceLoader = defineResource: (name, path, parent) -> class @[name] extends parent @entity name.underscore() @source path namespaceFromLevels: (levels) -> levels.map((x) -> res = x.replace(/^\//, '').split('/') if res.length > 1 # resource, has second (mask) part res = res[0].singularize() else # scope res = res[0] res.camelize() ).join('.') loadResources: (routes) -> for route in routes levels = route.match /\/[^\/]+(\/:[^\/]+)?/g continue unless Object.isArray(levels) rootPath = levels.pop() name = rootPath.replace(/^\//, '').singularize().camelize() 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
joosy-rails-1.0.0.RC3 | app/assets/javascripts/joosy/resource_loader.coffee |
joosy-rails-1.0.0.RC2 | app/assets/javascripts/joosy/resource_loader.coffee |