OSDN Git Service

eae9e96d1051b040d541cd104bfc0c3b443c15c6
[pettanr/pettanr.git] / app / assets / javascripts / manifest / manifest.js.coffee
1 class Manifest\r
2   _module_names = null\r
3   \r
4   module_names: () ->\r
5     _module_names\r
6   \r
7   init: () ->\r
8     # managers can't initialize before load  application.rb\r
9     @inflectors = @global_json.inflectors\r
10     @item_names = {}\r
11     @table_names = {}\r
12     _this = this\r
13     _.each @inflectors, (table_name, item_name) ->\r
14       _this.item_names[item_name] = table_name  # monkey copy\r
15       _this.table_names[table_name] = item_name\r
16     @items = ManifestBase.load_type_name_args(this, @global_json, 'items', Manifest.ItemFactory)\r
17     @controllers = Manifest.Controller.load(this, @global_json, 'controllers', Manifest.Controller)\r
18     @models = Manifest.Model.load(this, @global_json, 'models', Manifest.Model)\r
19     true\r
20   \r
21   pluralize: (item_name) ->\r
22     @item_names[item_name]\r
23   \r
24   singularize: (table_name) ->\r
25     @table_names[table_name]\r
26   \r
27   @item_name_to_model: (item_name) ->\r
28     Pettanr[Pettanr.camelize(item_name)]\r
29   \r
30   @manifest: () ->\r
31     @mani\r
32   \r
33   @set_manifest: (manifest) ->\r
34     @mani = manifest\r
35   \r
36   constructor: (global_json) ->\r
37     _module_names = []\r
38     @global_json = global_json || {}\r
39     @system_resources = new Manifest.SystemResource(\r
40       this, Manifest.SystemResource.set_default(@global_json['system_resources'])\r
41     )\r
42     @magic_numbers = @global_json['magic_numbers']\r
43     @items = {}\r
44     @controllers = {}\r
45     @models = {}\r
46   \r
47 @Manifest = Manifest\r