class ManifestBase.Base
- @load: (manifest, jsons, module_name) ->
+
+ @load: (manifest, jsons, module_name, klass) ->
r = {}
- _.each @jsons[module_name], (name, json) ->
- r[name] = new ManifestBase.Base(manifest, name, json, module_name)
+ _.each jsons[module_name], (json, name) ->
+ r[name] = new klass(manifest, name, json, module_name)
r
set_default: () ->
- @json['args'] ||= {}
- @type = @json['type']
- @args = @json['args']
-
+
init: () ->
module_names: () ->
- @parent.module_names + [@module_name, @name]
+ @manifest.module_names().concat([@module_name, @name])
module_message: () ->
ManifestBase.module_message(@module_names)
- constructor: (manifest, name, json, module_name) ->
- @manifest = manifest
- @name = name
- @json = json
- @module_name = module_name
+ constructor: (@manifest, @name, @json, @module_name) ->
@set_default()
@init()