OSDN Git Service

fix js manifest
[pettanr/pettanr.git] / app / assets / javascripts / manifest_base / base.js.coffee
index 4aac350..a35f22c 100644 (file)
@@ -1,28 +1,42 @@
 class ManifestBase.Base
-  @load: (manifest, jsons, module_name) -> 
+  _manifest = null
+  _name = null
+  _json = null
+  _module_name = null
+  
+  manifest: () ->
+    _manifest
+  
+  name: () ->
+    _name
+  
+  json: () ->
+    _json
+  
+  module_name: () ->
+    _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
+    _manifest = manifest
     @name = name
     @json = json
-    @module_name = module_name
+    _module_name = module_name
     @set_default()
     @init()