OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / manifest_base / factory.js.coffee
1 class ManifestBase.Factory\r
2   @types: () ->\r
3     {}\r
4   \r
5   @default_type: () ->\r
6     null\r
7   \r
8   @factory: (parent, name, json, module_name, klass) -> \r
9     module_message = ManifestBase.module_message(parent.module_names(), [module_name, name])\r
10     json['type'] ||= klass.default_type()\r
11     type = json['type']\r
12     ManifestBase.alert_undefined_message('type', module_message) if not type\r
13     my_class = klass.types()[type]\r
14     ManifestBase.alert_undefined_message('class', module_message) if not my_class\r
15     new my_class(parent, name, json, module_name)\r
16   \r
17   @factory_type_args: (parent, json, module_name, klass) ->\r
18     module_message = ManifestBase.module_message(parent.module_names(), [module_name])\r
19     json['type'] ||= klass.default_type()\r
20     type = json['type']\r
21     ManifestBase.alert_undefined_message('type', module_message) if not type\r
22     my_class = klass.types()[type]\r
23     ManifestBase.alert_undefined_message('class', module_message) if not my_class\r
24     new my_class(parent, json, module_name)\r
25 \r