OSDN Git Service

fom
[pettanr/pettanr.git] / app / assets / javascripts / manifest / work / models.js.coffee.erb
1 #マニフェスト\r
2 @models = {\r
3   scroll: {\r
4     class_name: 'Scroll',\r
5     table_name: 'scrolls',\r
6     associations: {\r
7       belongs_to: {\r
8         author: {\r
9           id_column: 'author_id'\r
10         }, \r
11       },\r
12       has_many: {\r
13         scroll_panels: {\r
14           foreign_key: 'scroll_id',\r
15           model_name: 'scroll_panel',\r
16         }, \r
17         panels: {\r
18           through: 'scroll_panel',\r
19           foreign_key: 'scroll_id',\r
20           model_name: 'panel',\r
21         }, \r
22       },\r
23     },\r
24     attributes: {\r
25       id: {\r
26         type: 'number',\r
27         primary_key: 1,\r
28         rules : {\r
29           number: true,\r
30         }\r
31       },\r
32       title: {\r
33         type: 'text',\r
34         rules : {\r
35           required: true,\r
36         }\r
37       },\r
38       description: {\r
39         type: 'text',\r
40         rules : {\r
41         }\r
42       },\r
43       visible: {\r
44         type: 'number',\r
45         rules : {\r
46           required: true,\r
47           number: true,\r
48         },\r
49         source: {\r
50           type: 'magic_number',\r
51           args: {\r
52             select_item_name: 'scroll_visible_items',\r
53           },\r
54         },\r
55       },\r
56       author_id: {\r
57         type: 'number',\r
58         rules : {\r
59           required: true,\r
60           number: true,\r
61         },\r
62       },\r
63       created_at: {\r
64         type: 'datetime',\r
65       },\r
66       updated_at: {\r
67         type: 'datetime',\r
68       }\r
69     },\r
70     lists: {\r
71       public_list: {\r
72         type: 'public',\r
73       },\r
74       private_list: {\r
75         type: 'private',\r
76       },\r
77       by_author: {\r
78         type: 'filter',\r
79         args: {\r
80           filter_item_name: 'author',\r
81           filter_key: 'author_id',\r
82         },\r
83       },\r
84       by_panel: {\r
85         type: 'through_filter',\r
86         args: {\r
87           filter_item_name: 'panel',\r
88           through: 'scroll_panels',\r
89           filter_key: 'panel_id',\r
90         },\r
91       },\r
92       play: {\r
93         type: 'play',\r
94         args: {\r
95           filter_item_name: 'scroll',\r
96           filter_model_name: 'scroll_panel',\r
97           filter_key: 'scroll_id',\r
98         },\r
99       },\r
100     },\r
101   },\r
102   scroll_panel: {\r
103     class_name: 'ScrollPanel',\r
104     table_name: 'scroll_panels',\r
105     associations: {\r
106       belongs_to: {\r
107         panel: {\r
108           id_column: 'panel_id'\r
109         }, \r
110         scroll: {\r
111           id_column: 'scroll_id'\r
112         }, \r
113       },\r
114       has_many: {\r
115       },\r
116     },\r
117     attributes: {\r
118       id: {\r
119         type: 'number',\r
120         primary_key: 1,\r
121         rules : {\r
122           number: true,\r
123         }\r
124       },\r
125       scroll_id: {\r
126         type: 'number',\r
127         rules : {\r
128           required: true,\r
129           number: true,\r
130         }\r
131       },\r
132       panel_id: {\r
133         type: 'number',\r
134         rules : {\r
135           required: true,\r
136           number: true,\r
137         }\r
138       },\r
139       t: {\r
140         type: 'number',\r
141         rules : {\r
142           required: true,\r
143           number: true,\r
144           min: 0,\r
145         }\r
146       },\r
147       author_id: {\r
148         type: 'number',\r
149         rules : {\r
150           required: true,\r
151           number: true,\r
152         }\r
153       },\r
154       created_at: {\r
155         type: 'datetime',\r
156       },\r
157       updated_at: {\r
158         type: 'datetime',\r
159       }\r
160     },\r
161     lists: {\r
162       public_list: {\r
163         type: 'public',\r
164       },\r
165       private_list: {\r
166         type: 'private',\r
167       },\r
168       by_scroll: {\r
169         type: 'filter',\r
170       },\r
171       by_panel: {\r
172         type: 'filter',\r
173       },\r
174     },\r
175   },\r
176   comic: {\r
177     class_name: 'Comic',\r
178     table_name: 'comics',\r
179     associations: {\r
180       belongs_to: {\r
181         author: {\r
182           id_column: 'author_id'\r
183         }, \r
184       },\r
185       has_many: {\r
186         stories: {\r
187           foreign_key: 'comic_id',\r
188           model_name: 'story',\r
189         }, \r
190       },\r
191       has_many_through: {\r
192       },\r
193     },\r
194     attributes: {\r
195       id: {\r
196         type: 'number',\r
197         primary_key: 1,\r
198         rules : {\r
199           number: true,\r
200         }\r
201       },\r
202       title: {\r
203         type: 'text',\r
204         rules : {\r
205           required: true,\r
206         }\r
207       },\r
208       description: {\r
209         type: 'text',\r
210         rules : {\r
211         }\r
212       },\r
213       visible: {\r
214         type: 'number',\r
215         rules : {\r
216           required: true,\r
217           number: true,\r
218         },\r
219         source: {\r
220           type: 'magic_number',\r
221           args: {\r
222             select_item_name: 'comic_visible_items',\r
223           },\r
224         },\r
225       },\r
226       author_id: {\r
227         type: 'number',\r
228         rules : {\r
229           required: true,\r
230           number: true,\r
231         }\r
232       },\r
233       created_at: {\r
234         type: 'datetime',\r
235       },\r
236       updated_at: {\r
237         type: 'datetime',\r
238       }\r
239     },\r
240     lists: {\r
241       public_list: {\r
242         type: 'public',\r
243       },\r
244       private_list: {\r
245         type: 'private',\r
246       },\r
247       by_author: {\r
248         type: 'filter',\r
249       },\r
250     },\r
251   },\r
252   story: {\r
253     class_name: 'Story',\r
254     table_name: 'stories',\r
255     associations: {\r
256       belongs_to: {\r
257         comic: {\r
258           id_column: 'comic_id'\r
259         }, \r
260       },\r
261       has_many: {\r
262         story_sheets: {\r
263           foreign_key: 'story_id',\r
264           model_name: 'story_sheet',\r
265         }, \r
266         sheets: {\r
267           through: 'story_sheets',\r
268           foreign_key: 'story_id',\r
269           model_name: 'sheet',\r
270         }, \r
271       },\r
272     },\r
273     attributes: {\r
274       id: {\r
275         type: 'number',\r
276         primary_key: 1,\r
277         rules : {\r
278           number: true,\r
279         }\r
280       },\r
281       comic_id: {\r
282         type: 'number',\r
283         rules : {\r
284           number: true,\r
285         }\r
286       },\r
287       title: {\r
288         type: 'text',\r
289         rules : {\r
290         }\r
291       },\r
292       description: {\r
293         type: 'text',\r
294         rules : {\r
295         }\r
296       },\r
297       t: {\r
298         type: 'number',\r
299         rules : {\r
300           required: true,\r
301           number: true,\r
302           min: 0,\r
303         }\r
304       },\r
305       visible: {\r
306         type: 'number',\r
307         rules : {\r
308           required: true,\r
309           number: true,\r
310         },\r
311         source: {\r
312           type: 'magic_number',\r
313           args: {\r
314             select_item_name: 'story_visible_items',\r
315           },\r
316         },\r
317       },\r
318       created_at: {\r
319         type: 'datetime',\r
320       },\r
321       updated_at: {\r
322         type: 'datetime',\r
323       }\r
324     },\r
325     lists: {\r
326       public_list: {\r
327         type: 'public',\r
328       },\r
329       private_list: {\r
330         type: 'private',\r
331       },\r
332       by_comic: {\r
333         type: 'filter',\r
334       },\r
335       by_sheet: {\r
336         type: 'through_filter',\r
337       },\r
338       by_author: {\r
339         type: 'element_filter',\r
340       },\r
341       play: {\r
342         type: 'play',\r
343       },\r
344     },\r
345   },\r
346   story_sheet: {\r
347     class_name: 'StorySheet',\r
348     table_name: 'story_sheets',\r
349     associations: {\r
350       belongs_to: {\r
351         story: {\r
352           id_column: 'story_id'\r
353         }, \r
354         sheet: {\r
355           id_column: 'sheet_id'\r
356         }, \r
357       },\r
358       has_many: {\r
359       },\r
360     },\r
361     attributes: {\r
362       id: {\r
363         type: 'number',\r
364         primary_key: 1,\r
365         rules : {\r
366           number: true,\r
367         }\r
368       },\r
369       story_id: {\r
370         type: 'number',\r
371         rules : {\r
372           number: true,\r
373         }\r
374       },\r
375       sheet_id: {\r
376         type: 'number',\r
377         rules : {\r
378           number: true,\r
379         }\r
380       },\r
381       t: {\r
382         type: 'number',\r
383         rules : {\r
384           required: true,\r
385           number: true,\r
386           min: 0,\r
387         }\r
388       },\r
389       author_id: {\r
390         type: 'number',\r
391         rules : {\r
392           required: true,\r
393           number: true,\r
394         }\r
395       },\r
396       created_at: {\r
397         type: 'datetime',\r
398       },\r
399       updated_at: {\r
400         type: 'datetime',\r
401       }\r
402     },\r
403     lists: {\r
404       public_list: {\r
405         type: 'public',\r
406       },\r
407       private_list: {\r
408         type: 'private',\r
409       },\r
410       by_story: {\r
411         type: 'filter',\r
412       },\r
413       by_sheet: {\r
414         type: 'filter',\r
415       },\r
416     },\r
417   },\r
418   sheet: {\r
419     class_name: 'Sheet',\r
420     table_name: 'sheets',\r
421     associations: {\r
422       belongs_to: {\r
423         author: {\r
424           id_column: 'author_id'\r
425         }, \r
426       },\r
427       has_many: {\r
428         story_sheets: {\r
429           foreign_key: 'story_id',\r
430           model_name: 'story_sheet',\r
431         }, \r
432         stories: {\r
433           through: 'story_sheets',\r
434           foreign_key: 'sheet_id',\r
435           model_name: 'story',\r
436         }, \r
437         sheet_panels: {\r
438           foreign_key: 'sheet_id',\r
439           model_name: 'sheet_panel',\r
440         }, \r
441         panels: {\r
442           through: 'sheet_panels',\r
443           foreign_key: 'sheet_id',\r
444           model_name: 'panel',\r
445         }, \r
446       },\r
447     },\r
448     attributes: {\r
449       id: {\r
450         type: 'number',\r
451         primary_key: 1,\r
452         rules : {\r
453           number: true,\r
454         }\r
455       },\r
456       caption: {\r
457         type: 'text',\r
458         rules : {\r
459         }\r
460       },\r
461       width: {\r
462         type: 'number',\r
463         rules : {\r
464           required: true,\r
465           number: true,\r
466         }\r
467       },\r
468       height: {\r
469         type: 'number',\r
470         rules : {\r
471           required: true,\r
472           number: true,\r
473         }\r
474       },\r
475       visible: {\r
476         type: 'number',\r
477         rules : {\r
478           required: true,\r
479           number: true,\r
480         },\r
481         source: {\r
482           type: 'magic_number',\r
483           args: {\r
484             select_item_name: 'sheet_visible_items',\r
485           },\r
486         },\r
487       },\r
488       author_id: {\r
489         type: 'number',\r
490         rules : {\r
491           required: true,\r
492           number: true,\r
493         }\r
494       },\r
495       created_at: {\r
496         type: 'datetime',\r
497       },\r
498       updated_at: {\r
499         type: 'datetime',\r
500       }\r
501     },\r
502     lists: {\r
503       public_list: {\r
504         type: 'public',\r
505       },\r
506       private_list: {\r
507         type: 'private',\r
508       },\r
509       by_story: {\r
510         type: 'through_filter',\r
511       },\r
512       by_panel: {\r
513         type: 'through_filter',\r
514       },\r
515       by_author: {\r
516         type: 'filter',\r
517       },\r
518       play: {\r
519         type: 'play',\r
520       },\r
521     },\r
522   },\r
523   sheet_panel: {\r
524     class_name: 'SheetPanel',\r
525     table_name: 'sheet_panels',\r
526     associations: {\r
527       belongs_to: {\r
528         sheet: {\r
529           id_column: 'sheet_id'\r
530         }, \r
531         panel: {\r
532           id_column: 'panel_id'\r
533         }, \r
534       },\r
535       has_many: {\r
536       },\r
537     },\r
538     attributes: {\r
539       id: {\r
540         type: 'number',\r
541         primary_key: 1,\r
542         rules : {\r
543           number: true,\r
544         }\r
545       },\r
546       sheet_id: {\r
547         type: 'number',\r
548         rules : {\r
549           number: true,\r
550         }\r
551       },\r
552       panel_id: {\r
553         type: 'number',\r
554         rules : {\r
555           number: true,\r
556         }\r
557       },\r
558       x: {\r
559         type: 'number',\r
560         rules : {\r
561           required: true,\r
562           number: true,\r
563         }\r
564       },\r
565       y: {\r
566         type: 'number',\r
567         rules : {\r
568           required: true,\r
569           number: true,\r
570         }\r
571       },\r
572       z: {\r
573         type: 'number',\r
574         rules : {\r
575           required: true,\r
576           number: true,\r
577           min: 1,\r
578         }\r
579       },\r
580       t: {\r
581         type: 'number',\r
582         rules : {\r
583           required: true,\r
584           number: true,\r
585           min: 0,\r
586         }\r
587       },\r
588       author_id: {\r
589         type: 'number',\r
590         rules : {\r
591           number: true,\r
592         }\r
593       },\r
594       created_at: {\r
595         type: 'datetime',\r
596       },\r
597       updated_at: {\r
598         type: 'datetime',\r
599       }\r
600     },\r
601     lists: {\r
602       public_list: {\r
603         type: 'public',\r
604       },\r
605       private_list: {\r
606         type: 'private',\r
607       },\r
608       by_sheet: {\r
609         type: 'filter',\r
610       },\r
611       by_panel: {\r
612         type: 'filter',\r
613       },\r
614     },\r
615   },\r
616   panel: {\r
617     class_name: 'Panel',\r
618     table_name: 'panels',\r
619     associations: {\r
620       belongs_to: {\r
621         author: {\r
622           id_column: 'author_id'\r
623         }, \r
624       },\r
625       has_many: {\r
626         scroll_panels: {\r
627           foreign_key: 'panel_id',\r
628           model_name: 'scroll_panel',\r
629         }, \r
630         scrolls: {\r
631           through: 'scroll_panels',\r
632           foreign_key: 'panel_id',\r
633           model_name: 'scroll',\r
634         }, \r
635         sheet_panels: {\r
636           foreign_key: 'panel_id',\r
637           model_name: 'sheet_panel',\r
638         }, \r
639         sheets: {\r
640           through: 'sheet_panels',\r
641           foreign_key: 'panel_id',\r
642           model_name: 'sheet',\r
643         }, \r
644         panel_pictures: {\r
645           foreign_key: 'panel_id',\r
646           model_name: 'panel_picture',\r
647         }, \r
648         speech_balloons: {\r
649           foreign_key: 'panel_id',\r
650           model_name: 'speech_balloon',\r
651         }, \r
652         ground_pictures: {\r
653           foreign_key: 'panel_id',\r
654           model_name: 'ground_picture',\r
655         }, \r
656         ground_colors: {\r
657           foreign_key: 'panel_id',\r
658           model_name: 'ground_color',\r
659         }, \r
660       },\r
661     },\r
662     attributes: {\r
663       id: {\r
664         type: 'number',\r
665         primary_key: 1,\r
666         rules : {\r
667           number: true,\r
668         }\r
669       },\r
670       width: {\r
671         type: 'number',\r
672         rules : {\r
673           required: true,\r
674           number: true,\r
675           min: 1,\r
676         }\r
677       },\r
678       height: {\r
679         type: 'number',\r
680         rules : {\r
681           required: true,\r
682           number: true,\r
683           min: 1,\r
684         }\r
685       },\r
686       border: {\r
687         type: 'number',\r
688         rules : {\r
689           required: true,\r
690           number: true,\r
691           min: 0,\r
692         }\r
693       },\r
694       caption: {\r
695         type: 'text',\r
696         rules : {\r
697         }\r
698       },\r
699       publish: {\r
700         type: 'number',\r
701         rules : {\r
702           required: true,\r
703           number: true,\r
704         },\r
705         source: {\r
706           type: 'magic_number',\r
707           args: {\r
708             select_item_name: 'panel_visible_items',\r
709           },\r
710         },\r
711       },\r
712       author_id: {\r
713         type: 'number',\r
714         rules : {\r
715           required: true,\r
716           number: true,\r
717         }\r
718       },\r
719       created_at: {\r
720         type: 'datetime',\r
721       },\r
722       updated_at: {\r
723         type: 'datetime',\r
724       }\r
725     },\r
726     lists: {\r
727       public_list: {\r
728         type: 'public',\r
729       },\r
730       private_list: {\r
731         type: 'private',\r
732       },\r
733       by_scroll: {\r
734         type: 'through_filter',\r
735       },\r
736       by_sheet: {\r
737         type: 'through_filter',\r
738       },\r
739       by_author: {\r
740         type: 'filter',\r
741       },\r
742       by_speech_balloon_template: {\r
743         type: 'through_filter',\r
744       },\r
745     },\r
746   },\r
747   panel_picture: {\r
748     class_name: 'PanelPicture',\r
749     table_name: 'panel_pictures',\r
750     associations: {\r
751       belongs_to: {\r
752         panel: {\r
753           id_column: 'panel_id'\r
754         }, \r
755       },\r
756       has_many: {\r
757       },\r
758     },\r
759     attributes: {\r
760       id: {\r
761         type: 'number',\r
762         primary_key: 1,\r
763         rules : {\r
764           number: true,\r
765         }\r
766       },\r
767       panel_id: {\r
768         type: 'number',\r
769         rules : {\r
770           number: true,\r
771         }\r
772       },\r
773       picture_id: {\r
774         type: 'number',\r
775         rules : {\r
776           required: true,\r
777           number: true,\r
778         }\r
779       },\r
780       caption: {\r
781         type: 'text',\r
782         rules : {\r
783         }\r
784       },\r
785       x: {\r
786         type: 'number',\r
787         rules : {\r
788           required: true,\r
789           number: true,\r
790         }\r
791       },\r
792       y: {\r
793         type: 'number',\r
794         rules : {\r
795           required: true,\r
796           number: true,\r
797         }\r
798       },\r
799       width: {\r
800         type: 'number',\r
801         rules : {\r
802           required: true,\r
803           number: true,\r
804         }\r
805       },\r
806       height: {\r
807         type: 'number',\r
808         rules : {\r
809           required: true,\r
810           number: true,\r
811         }\r
812       },\r
813       link: {\r
814         type: 'text',\r
815         rules : {\r
816           url: true,\r
817         }\r
818       },\r
819       z: {\r
820         type: 'number',\r
821         rules : {\r
822           required: true,\r
823           number: true,\r
824           min: 1,\r
825         }\r
826       },\r
827       t: {\r
828         type: 'number',\r
829         rules : {\r
830           required: true,\r
831           number: true,\r
832           min: 0,\r
833         }\r
834       },\r
835       created_at: {\r
836         type: 'datetime',\r
837       },\r
838       updated_at: {\r
839         type: 'datetime',\r
840       }\r
841     },\r
842     lists: {\r
843       public_list: {\r
844         type: 'public',\r
845       },\r
846       private_list: {\r
847         type: 'private',\r
848       },\r
849       by_panel: {\r
850         type: 'filter',\r
851       },\r
852       by_author: {\r
853         type: 'element_filter',\r
854       },\r
855     },\r
856   },\r
857   speech_balloon: {\r
858     class_name: 'SpeechBalloon',\r
859     table_name: 'speech_balloons',\r
860     extend: 'classname', \r
861     associations: {\r
862       belongs_to: {\r
863         panel: {\r
864           id_column: 'panel_id'\r
865         }, \r
866       },\r
867       has_many: {\r
868       },\r
869       has_one: {\r
870         balloon: {\r
871           foreign_key: 'speech_balloon_id',\r
872           model_name: 'balloon',\r
873         }, \r
874         speech: {\r
875           foreign_key: 'speech_balloon_id',\r
876           model_name: 'speech',\r
877         }, \r
878       },\r
879     },\r
880     attributes: {\r
881       id: {\r
882         type: 'number',\r
883         primary_key: 1,\r
884         rules : {\r
885           number: true,\r
886         }\r
887       },\r
888       panel_id: {\r
889         type: 'number',\r
890         rules : {\r
891           number: true,\r
892         }\r
893       },\r
894       speech_balloon_template_id: {\r
895         type: 'number',\r
896         rules : {\r
897           required: true,\r
898           number: true,\r
899         }\r
900       },\r
901       classname: {\r
902         type: 'text',\r
903         rules : {\r
904           required: true,\r
905         }\r
906       },\r
907       z: {\r
908         type: 'number',\r
909         rules : {\r
910           required: true,\r
911           number: true,\r
912           min: 1,\r
913         }\r
914       },\r
915       t: {\r
916         type: 'number',\r
917         rules : {\r
918           required: true,\r
919           number: true,\r
920           min: 0,\r
921         }\r
922       },\r
923       settings: {\r
924         type: 'text',\r
925         rules : {\r
926         }\r
927       },\r
928       caption: {\r
929         type: 'text',\r
930         rules : {\r
931         }\r
932       },\r
933       created_at: {\r
934         type: 'datetime',\r
935       },\r
936       updated_at: {\r
937         type: 'datetime',\r
938       }\r
939     },\r
940     lists: {\r
941       public_list: {\r
942         type: 'public',\r
943       },\r
944       private_list: {\r
945         type: 'private',\r
946       },\r
947       by_panel: {\r
948         type: 'filter',\r
949       },\r
950       by_speech_balloon_template: {\r
951         type: 'filter',\r
952       },\r
953       by_author: {\r
954         type: 'element_filter',\r
955       },\r
956     },\r
957   }, \r
958   balloon: {\r
959     class_name: 'Balloon',\r
960     table_name: 'balloons',\r
961     associations: {\r
962       belongs_to: {\r
963         speech_balloon: {\r
964           id_column: 'speech_balloon_id'\r
965         }, \r
966         system_picture: {\r
967           id_column: 'system_picture_id'\r
968         }, \r
969       },\r
970       has_many: {\r
971       },\r
972     },\r
973     attributes: {\r
974       id: {\r
975         type: 'number',\r
976         primary_key: 1,\r
977         rules : {\r
978           number: true,\r
979         }\r
980       },\r
981       speech_balloon_id: {\r
982         type: 'number',\r
983         rules : {\r
984           number: true,\r
985         }\r
986       },\r
987       system_picture_id: {\r
988         type: 'number',\r
989         rules : {\r
990           required: true,\r
991           number: true,\r
992         }\r
993       },\r
994       x: {\r
995         type: 'number',\r
996         rules : {\r
997           required: true,\r
998           number: true,\r
999         }\r
1000       },\r
1001       y: {\r
1002         type: 'number',\r
1003         rules : {\r
1004           required: true,\r
1005           number: true,\r
1006         }\r
1007       },\r
1008       width: {\r
1009         type: 'number',\r
1010         rules : {\r
1011           required: true,\r
1012           number: true,\r
1013           min: 1,\r
1014         }\r
1015       },\r
1016       height: {\r
1017         type: 'number',\r
1018         rules : {\r
1019           required: true,\r
1020           number: true,\r
1021           min: 1,\r
1022         }\r
1023       },\r
1024       r: {\r
1025         type: 'number',\r
1026         rules : {\r
1027           required: true,\r
1028           number: true,\r
1029         }\r
1030       },\r
1031       settings: {\r
1032         type: 'text',\r
1033         rules : {\r
1034         }\r
1035       },\r
1036       created_at: {\r
1037         type: 'datetime',\r
1038       },\r
1039       updated_at: {\r
1040         type: 'datetime',\r
1041       }\r
1042     },\r
1043     lists: {\r
1044       public_list: {\r
1045         type: 'public',\r
1046       },\r
1047       private_list: {\r
1048         type: 'private',\r
1049       },\r
1050       by_panel: {\r
1051         type: 'filter',\r
1052       },\r
1053       by_speech_balloon: {\r
1054         type: 'filter',\r
1055       },\r
1056       by_author: {\r
1057         type: 'element_filter',\r
1058       },\r
1059     },\r
1060   },\r
1061   speech: {\r
1062     class_name: 'Speech',\r
1063     table_name: 'speeches',\r
1064     associations: {\r
1065       belongs_to: {\r
1066         speech_balloon: {\r
1067           id_column: 'speech_balloon_id'\r
1068         }, \r
1069         writing_format: {\r
1070           id_column: 'writing_format_id'\r
1071         }, \r
1072       },\r
1073       has_many: {\r
1074       },\r
1075     },\r
1076     attributes: {\r
1077       id: {\r
1078         type: 'number',\r
1079         primary_key: 1,\r
1080         rules : {\r
1081           number: true,\r
1082         }\r
1083       },\r
1084       speech_balloon_id: {\r
1085         type: 'number',\r
1086         rules : {\r
1087           number: true,\r
1088         }\r
1089       },\r
1090       writing_format_id: {\r
1091         type: 'number',\r
1092         source: {\r
1093           type: 'model',\r
1094         },\r
1095         rules : {\r
1096           required: true,\r
1097           number: true,\r
1098         }\r
1099       },\r
1100       content: {\r
1101         type: 'text',\r
1102         rules : {\r
1103         }\r
1104       },\r
1105       font_size: {\r
1106         type: 'float',\r
1107         rules : {\r
1108           required: true,\r
1109           number: true,\r
1110           min: 0,\r
1111         },\r
1112         source: {\r
1113           type: 'magic_number',\r
1114           args: {\r
1115             select_item_name: 'speech_font_size_items',\r
1116           },\r
1117         },\r
1118       },\r
1119       text_align: {\r
1120         type: 'number',\r
1121         rules : {\r
1122           required: true,\r
1123           number: true,\r
1124           range: [0, 3],\r
1125         },\r
1126         source: {\r
1127           type: 'magic_number',\r
1128           args: {\r
1129             select_item_name: 'speech_text_align_items',\r
1130           },\r
1131         },\r
1132       },\r
1133       fore_color: {\r
1134         type: 'number',\r
1135         rules : {\r
1136           required: true,\r
1137           number: true,\r
1138           range: [0, 0xffffff],\r
1139         }\r
1140       },\r
1141       x: {\r
1142         type: 'number',\r
1143         rules : {\r
1144           required: true,\r
1145           number: true,\r
1146         }\r
1147       },\r
1148       y: {\r
1149         type: 'number',\r
1150         rules : {\r
1151           required: true,\r
1152           number: true,\r
1153         }\r
1154       },\r
1155       width: {\r
1156         type: 'number',\r
1157         rules : {\r
1158           required: true,\r
1159           number: true,\r
1160           min: 1,\r
1161         }\r
1162       },\r
1163       height: {\r
1164         type: 'number',\r
1165         rules : {\r
1166           required: true,\r
1167           number: true,\r
1168           min: 1,\r
1169         }\r
1170       },\r
1171       quotes: {\r
1172         type: 'text',\r
1173         rules : {\r
1174         }\r
1175       },\r
1176       settings: {\r
1177         type: 'text',\r
1178         rules : {\r
1179         }\r
1180       },\r
1181       created_at: {\r
1182         type: 'datetime',\r
1183       },\r
1184       updated_at: {\r
1185         type: 'datetime',\r
1186       }\r
1187     },\r
1188     lists: {\r
1189       public_list: {\r
1190         type: 'public',\r
1191       },\r
1192       by_speech_balloon: {\r
1193         type: 'filter',\r
1194       },\r
1195       by_writing_format: {\r
1196         type: 'filter',\r
1197       },\r
1198     },\r
1199   },\r
1200   ground_picture: {\r
1201     class_name: 'GroundPicture',\r
1202     table_name: 'ground_pictures',\r
1203     associations: {\r
1204       belongs_to: {\r
1205         panel: {\r
1206           id_column: 'panel_id'\r
1207         }, \r
1208       },\r
1209       has_many: {\r
1210       },\r
1211     },\r
1212     attributes: {\r
1213       id: {\r
1214         type: 'number',\r
1215         primary_key: 1,\r
1216         rules : {\r
1217           number: true,\r
1218         }\r
1219       },\r
1220       panel_id: {\r
1221         type: 'number',\r
1222         rules : {\r
1223           number: true,\r
1224         }\r
1225       },\r
1226       picture_id: {\r
1227         type: 'number',\r
1228         rules : {\r
1229           required: true,\r
1230           number: true,\r
1231         }\r
1232       },\r
1233       caption: {\r
1234         type: 'text',\r
1235         rules : {\r
1236         }\r
1237       },\r
1238       repeat: {\r
1239         type: 'number',\r
1240         rules : {\r
1241           required: true,\r
1242           number: true,\r
1243           range: [0, 3],\r
1244         },\r
1245         source: {\r
1246           type: 'magic_number',\r
1247           args: {\r
1248             select_item_name: 'ground_picture_repeat_items',\r
1249           },\r
1250         },\r
1251       },\r
1252       x: {\r
1253         type: 'number',\r
1254         rules : {\r
1255           required: true,\r
1256           number: true,\r
1257         }\r
1258       },\r
1259       y: {\r
1260         type: 'number',\r
1261         rules : {\r
1262           required: true,\r
1263           number: true,\r
1264         }\r
1265       },\r
1266       z: {\r
1267         type: 'number',\r
1268         rules : {\r
1269           required: true,\r
1270           number: true,\r
1271           min: 1,\r
1272         }\r
1273       },\r
1274       t: {\r
1275         type: 'number',\r
1276         rules : {\r
1277           required: true,\r
1278           number: true,\r
1279           min: 0,\r
1280         }\r
1281       },\r
1282       created_at: {\r
1283         type: 'datetime',\r
1284       },\r
1285       updated_at: {\r
1286         type: 'datetime',\r
1287       }\r
1288     },\r
1289     lists: {\r
1290       public_list: {\r
1291         type: 'public',\r
1292       },\r
1293       private_list: {\r
1294         type: 'private',\r
1295       },\r
1296       by_panel: {\r
1297         type: 'filter',\r
1298       },\r
1299       by_author: {\r
1300         type: 'element_filter',\r
1301       },\r
1302     },\r
1303   },\r
1304   ground_color: {\r
1305     class_name: 'GroundColor',\r
1306     table_name: 'ground_colors',\r
1307     associations: {\r
1308       belongs_to: {\r
1309         panel: {\r
1310           id_column: 'panel_id'\r
1311         }, \r
1312       },\r
1313       has_many: {\r
1314       },\r
1315     },\r
1316     attributes: {\r
1317       id: {\r
1318         type: 'number',\r
1319         primary_key: 1,\r
1320         rules : {\r
1321           number: true,\r
1322         }\r
1323       },\r
1324       panel_id: {\r
1325         type: 'number',\r
1326         rules : {\r
1327           number: true,\r
1328         }\r
1329       },\r
1330       caption: {\r
1331         type: 'text',\r
1332         rules : {\r
1333         }\r
1334       },\r
1335       code: {\r
1336         type: 'number',\r
1337         rules : {\r
1338           required: true,\r
1339           number: true,\r
1340           range: [0, 0xffffff],\r
1341         }\r
1342       },\r
1343       orientation: {\r
1344         type: 'number',\r
1345         rules : {\r
1346           required: true,\r
1347           number: true,\r
1348           range: [0, 1],\r
1349         },\r
1350         source: {\r
1351           type: 'magic_number',\r
1352           args: {\r
1353             select_item_name: 'ground_color_orientation_items',\r
1354           },\r
1355         },\r
1356       },\r
1357       xy: {\r
1358         type: 'number',\r
1359         rules : {\r
1360           number: true,\r
1361         }\r
1362       },\r
1363       wh: {\r
1364         type: 'number',\r
1365         rules : {\r
1366           number: true,\r
1367         }\r
1368       },\r
1369       z: {\r
1370         type: 'number',\r
1371         rules : {\r
1372           required: true,\r
1373           number: true,\r
1374           min: 1,\r
1375         }\r
1376       },\r
1377       t: {\r
1378         type: 'number',\r
1379         rules : {\r
1380           required: true,\r
1381           number: true,\r
1382           min: 0,\r
1383         }\r
1384       },\r
1385       created_at: {\r
1386         type: 'datetime',\r
1387       },\r
1388       updated_at: {\r
1389         type: 'datetime',\r
1390       }\r
1391     },\r
1392     lists: {\r
1393       public_list: {\r
1394         type: 'public',\r
1395       },\r
1396       private_list: {\r
1397         type: 'private',\r
1398       },\r
1399       by_panel: {\r
1400         type: 'filter',\r
1401       },\r
1402       by_author: {\r
1403         type: 'element_filter',\r
1404       },\r
1405     },\r
1406   },\r
1407   original_picture: {\r
1408     class_name: 'OriginalPicture',\r
1409     table_name: 'original_pictures',\r
1410     associations: {\r
1411       belongs_to: {\r
1412         artist: {\r
1413           id_column: 'artist_id'\r
1414         }, \r
1415       },\r
1416       has_many: {\r
1417         pictures: {\r
1418           foreign_key: 'original_picture_id',\r
1419           model_name: 'picture',\r
1420         }, \r
1421       },\r
1422       has_one: {\r
1423         resource_picture: {\r
1424           foreign_key: 'original_picture_id',\r
1425           model_name: 'resource_picture',\r
1426         }, \r
1427       },\r
1428     },\r
1429     attributes: {\r
1430       id: {\r
1431         type: 'number',\r
1432         primary_key: 1,\r
1433         rules : {\r
1434           number: true,\r
1435         }\r
1436       },\r
1437       ext: {\r
1438         type: 'text',\r
1439         rules : {\r
1440           required: true,\r
1441         }\r
1442       },\r
1443       width: {\r
1444         type: 'number',\r
1445         rules : {\r
1446           required: true,\r
1447           number: true,\r
1448         }\r
1449       },\r
1450       height: {\r
1451         type: 'number',\r
1452         rules : {\r
1453           required: true,\r
1454           number: true,\r
1455         }\r
1456       },\r
1457       filesize: {\r
1458         type: 'number',\r
1459         rules : {\r
1460           required: true,\r
1461           number: true,\r
1462         }\r
1463       },\r
1464       artist_id: {\r
1465         type: 'number',\r
1466         rules : {\r
1467           required: true,\r
1468           number: true,\r
1469         }\r
1470       },\r
1471       md5: {\r
1472         type: 'text',\r
1473         rules : {\r
1474           required: true,\r
1475           required: true,\r
1476         }\r
1477       },\r
1478       uploaded_at: {\r
1479         type: 'datetime',\r
1480       },\r
1481       published_at: {\r
1482         type: 'datetime',\r
1483       },\r
1484       stopped_at: {\r
1485         type: 'datetime',\r
1486       },\r
1487       created_at: {\r
1488         type: 'datetime',\r
1489       },\r
1490       updated_at: {\r
1491         type: 'datetime',\r
1492       }\r
1493     },\r
1494     lists: {\r
1495       private_list: {\r
1496         type: 'private',\r
1497       },\r
1498     },\r
1499   },\r
1500   picture: {\r
1501     class_name: 'Picture',\r
1502     table_name: 'pictures',\r
1503     associations: {\r
1504       belongs_to: {\r
1505         license: {\r
1506           id_column: 'license_id'\r
1507         }, \r
1508         artist: {\r
1509           id_column: 'artist_id'\r
1510         }, \r
1511       },\r
1512       has_many: {\r
1513       },\r
1514       has_one: {\r
1515       },\r
1516     },\r
1517     attributes: {\r
1518       id: {\r
1519         type: 'number',\r
1520         primary_key: 1,\r
1521         rules : {\r
1522           number: true,\r
1523         }\r
1524       },\r
1525       original_picture_id: {\r
1526         type: 'number',\r
1527         rules : {\r
1528           required: true,\r
1529           number: true,\r
1530         }\r
1531       },\r
1532       revision: {\r
1533         type: 'number',\r
1534         rules : {\r
1535           required: true,\r
1536           number: true,\r
1537         }\r
1538       },\r
1539       ext: {\r
1540         type: 'text',\r
1541         rules : {\r
1542           required: true,\r
1543         }\r
1544       },\r
1545       width: {\r
1546         type: 'number',\r
1547         rules : {\r
1548           required: true,\r
1549           number: true,\r
1550         }\r
1551       },\r
1552       height: {\r
1553         type: 'number',\r
1554         rules : {\r
1555           required: true,\r
1556           number: true,\r
1557         }\r
1558       },\r
1559       filesize: {\r
1560         type: 'number',\r
1561         rules : {\r
1562           required: true,\r
1563           number: true,\r
1564         }\r
1565       },\r
1566       artist_id: {\r
1567         type: 'number',\r
1568         rules : {\r
1569           required: true,\r
1570           number: true,\r
1571         }\r
1572       },\r
1573       license_id: {\r
1574         type: 'number',\r
1575         rules : {\r
1576           required: true,\r
1577           number: true,\r
1578         }\r
1579       },\r
1580       md5: {\r
1581         type: 'text',\r
1582         rules : {\r
1583           required: true,\r
1584         }\r
1585       },\r
1586       artist_name: {\r
1587         type: 'text',\r
1588         rules : {\r
1589           required: true,\r
1590         }\r
1591       },\r
1592       credit: {\r
1593         type: 'text',\r
1594         rules : {\r
1595         }\r
1596       },\r
1597       settings: {\r
1598         type: 'text',\r
1599         rules : {\r
1600         }\r
1601       },\r
1602       classname: {\r
1603         type: 'text',\r
1604         rules : {\r
1605           required: true,\r
1606         }\r
1607       },\r
1608       created_at: {\r
1609         type: 'datetime',\r
1610       },\r
1611       updated_at: {\r
1612         type: 'datetime',\r
1613       }\r
1614     }\r
1615   },\r
1616   resource_picture: {\r
1617     class_name: 'ResourcePicture',\r
1618     table_name: 'resource_pictures',\r
1619     associations: {\r
1620       belongs_to: {\r
1621         original_picture: {\r
1622           id_column: 'original_picture_id'\r
1623         }, \r
1624         license: {\r
1625           id_column: 'license_id'\r
1626         }, \r
1627         artist: {\r
1628           id_column: 'artist_id'\r
1629         }, \r
1630       },\r
1631       has_many: {\r
1632       },\r
1633       has_one: {\r
1634       },\r
1635     },\r
1636     attributes: {\r
1637       id: {\r
1638         type: 'number',\r
1639         primary_key: 1,\r
1640         rules : {\r
1641           number: true,\r
1642         }\r
1643       },\r
1644       original_picture_id: {\r
1645         type: 'number',\r
1646         rules : {\r
1647           required: true,\r
1648           number: true,\r
1649         }\r
1650       },\r
1651       revision: {\r
1652         type: 'number',\r
1653         rules : {\r
1654           required: true,\r
1655           number: true,\r
1656         }\r
1657       },\r
1658       ext: {\r
1659         type: 'text',\r
1660         rules : {\r
1661           required: true,\r
1662         }\r
1663       },\r
1664       width: {\r
1665         type: 'number',\r
1666         rules : {\r
1667           required: true,\r
1668           number: true,\r
1669         }\r
1670       },\r
1671       height: {\r
1672         type: 'number',\r
1673         rules : {\r
1674           required: true,\r
1675           number: true,\r
1676         }\r
1677       },\r
1678       filesize: {\r
1679         type: 'number',\r
1680         rules : {\r
1681           required: true,\r
1682           number: true,\r
1683         }\r
1684       },\r
1685       artist_id: {\r
1686         type: 'number',\r
1687         rules : {\r
1688           required: true,\r
1689           number: true,\r
1690         }\r
1691       },\r
1692       license_id: {\r
1693         type: 'number',\r
1694         rules : {\r
1695           required: true,\r
1696           number: true,\r
1697         }\r
1698       },\r
1699       md5: {\r
1700         type: 'text',\r
1701         rules : {\r
1702           required: true,\r
1703         }\r
1704       },\r
1705       artist_name: {\r
1706         type: 'text',\r
1707         rules : {\r
1708           required: true,\r
1709         }\r
1710       },\r
1711       credit: {\r
1712         type: 'text',\r
1713         rules : {\r
1714         }\r
1715       },\r
1716       settings: {\r
1717         type: 'text',\r
1718         rules : {\r
1719         }\r
1720       },\r
1721       picture_id: {\r
1722         type: 'number',\r
1723         rules : {\r
1724           required: true,\r
1725           number: true,\r
1726         }\r
1727       },\r
1728       classname: {\r
1729         type: 'text',\r
1730         rules : {\r
1731           required: true,\r
1732         }\r
1733       },\r
1734       created_at: {\r
1735         type: 'datetime',\r
1736       },\r
1737       updated_at: {\r
1738         type: 'datetime',\r
1739       }\r
1740     },\r
1741     lists: {\r
1742       public_list: {\r
1743         type: 'public',\r
1744       },\r
1745       private_list: {\r
1746         type: 'private',\r
1747       },\r
1748       by_license: {\r
1749         type: 'filter',\r
1750       },\r
1751       by_artist: {\r
1752         type: 'filter',\r
1753       },\r
1754     },\r
1755   },\r
1756   speech_balloon_template: {\r
1757     class_name: 'SpeechBalloonTemplate',\r
1758     table_name: 'speech_balloon_templates',\r
1759     associations: {\r
1760       belongs_to: {\r
1761         system_picture: {\r
1762           id_column: 'system_picture_id'\r
1763         }, \r
1764       },\r
1765       has_many: {\r
1766         speech_balloons: {\r
1767           foreign_key: 'speech_balloon_template_id',\r
1768           model_name: 'speech_balloon',\r
1769         }, \r
1770         panels: {\r
1771           through: 'speech_balloons',\r
1772           foreign_key: 'speech_balloon_template_id',\r
1773           model_name: 'panel',\r
1774         }, \r
1775       },\r
1776       has_one: {\r
1777       },\r
1778     },\r
1779     attributes: {\r
1780       id: {\r
1781         type: 'number',\r
1782         primary_key: 1,\r
1783         rules : {\r
1784           number: true,\r
1785         }\r
1786       },\r
1787       name: {\r
1788         type: 'text',\r
1789         rules : {\r
1790           required: true,\r
1791         }\r
1792       },\r
1793       classname: {\r
1794         type: 'text',\r
1795         rules : {\r
1796           required: true,\r
1797         }\r
1798       },\r
1799       caption: {\r
1800         type: 'text',\r
1801         rules : {\r
1802           required: true,\r
1803         }\r
1804       },\r
1805       t: {\r
1806         type: 'number',\r
1807         rules : {\r
1808           required: true,\r
1809           number: true,\r
1810           min: 0,\r
1811         }\r
1812       },\r
1813       system_picture_id: {\r
1814         type: 'number',\r
1815         rules : {\r
1816           required: true,\r
1817           number: true,\r
1818         }\r
1819       },\r
1820       settings: {\r
1821         type: 'text',\r
1822         rules : {\r
1823           required: true,\r
1824         }\r
1825       },\r
1826       created_at: {\r
1827         type: 'datetime',\r
1828       },\r
1829       updated_at: {\r
1830         type: 'datetime',\r
1831       }\r
1832     },\r
1833     lists: {\r
1834       public_list: {\r
1835         type: 'public',\r
1836       },\r
1837       select_items: {\r
1838         type: 'system_resource',\r
1839         args: {\r
1840           select_item_name: 'panel_visible_items',\r
1841         },\r
1842       },\r
1843     },\r
1844   },\r
1845   writing_format: {\r
1846     class_name: 'WritingFormat',\r
1847     table_name: 'writing_formats',\r
1848     associations: {\r
1849       belongs_to: {\r
1850         system_picture: {\r
1851           id_column: 'system_picture_id'\r
1852         }, \r
1853       },\r
1854       has_many: {\r
1855         speeches: {\r
1856           foreign_key: 'writing_format_id',\r
1857           model_name: 'speech',\r
1858         }, \r
1859       },\r
1860       has_one: {\r
1861       },\r
1862     },\r
1863     attributes: {\r
1864       id: {\r
1865         type: 'number',\r
1866         primary_key: 1,\r
1867         rules : {\r
1868           number: true,\r
1869         }\r
1870       },\r
1871       name: {\r
1872         type: 'text',\r
1873         rules : {\r
1874           required: true,\r
1875         }\r
1876       },\r
1877       classname: {\r
1878         type: 'text',\r
1879         rules : {\r
1880           required: true,\r
1881         }\r
1882       },\r
1883       caption: {\r
1884         type: 'text',\r
1885         rules : {\r
1886           required: true,\r
1887         }\r
1888       },\r
1889       system_picture_id: {\r
1890         type: 'number',\r
1891         rules : {\r
1892           required: true,\r
1893           number: true,\r
1894         }\r
1895       },\r
1896       settings: {\r
1897         type: 'text',\r
1898         rules : {\r
1899           required: true,\r
1900         }\r
1901       },\r
1902       created_at: {\r
1903         type: 'datetime',\r
1904       },\r
1905       updated_at: {\r
1906         type: 'datetime',\r
1907       }\r
1908     },\r
1909     lists: {\r
1910       public_list: {\r
1911         type: 'public',\r
1912       },\r
1913       select_items: {\r
1914         type: 'system_resource',\r
1915       },\r
1916       by_system_picture: {\r
1917         type: 'filter',\r
1918       },\r
1919     },\r
1920   },\r
1921   license_group: {\r
1922     class_name: 'LicenseGroup',\r
1923     table_name: 'license_groups',\r
1924     associations: {\r
1925       belongs_to: {\r
1926       },\r
1927       has_many: {\r
1928         licenses: {\r
1929           foreign_key: 'license_group_id',\r
1930           model_name: 'license',\r
1931         }, \r
1932       },\r
1933       has_one: {\r
1934       },\r
1935     },\r
1936     attributes: {\r
1937       id: {\r
1938         type: 'number',\r
1939         primary_key: 1,\r
1940         rules : {\r
1941           number: true,\r
1942         }\r
1943       },\r
1944       name: {\r
1945         type: 'text',\r
1946         rules : {\r
1947           required: true,\r
1948         }\r
1949       },\r
1950       classname: {\r
1951         type: 'text',\r
1952         rules : {\r
1953           required: true,\r
1954         }\r
1955       },\r
1956       caption: {\r
1957         type: 'text',\r
1958         rules : {\r
1959           required: true,\r
1960         }\r
1961       },\r
1962       url: {\r
1963         type: 'text',\r
1964         rules : {\r
1965           required: true,\r
1966         }\r
1967       },\r
1968       created_at: {\r
1969         type: 'datetime',\r
1970       },\r
1971       updated_at: {\r
1972         type: 'datetime',\r
1973       }\r
1974     },\r
1975     lists: {\r
1976       public_list: {\r
1977         type: 'public',\r
1978       },\r
1979       select_items: {\r
1980         type: 'system_resource',\r
1981       },\r
1982     },\r
1983   },\r
1984   license: {\r
1985     class_name: 'License',\r
1986     table_name: 'licenses',\r
1987     associations: {\r
1988       belongs_to: {\r
1989         license_group: {\r
1990           id_column: 'license_group_id'\r
1991         }, \r
1992         system_picture: {\r
1993           id_column: 'system_picture_id'\r
1994         }, \r
1995       },\r
1996       has_many: {\r
1997         resource_pictures: {\r
1998           foreign_key: 'license_id',\r
1999           model_name: 'resource_picture',\r
2000         }, \r
2001       },\r
2002       has_one: {\r
2003       },\r
2004     },\r
2005     attributes: {\r
2006       id: {\r
2007         type: 'number',\r
2008         primary_key: 1,\r
2009         rules : {\r
2010           number: true,\r
2011         }\r
2012       },\r
2013       license_group_id: {\r
2014         type: 'number',\r
2015         rules : {\r
2016           number: true,\r
2017         }\r
2018       },\r
2019       name: {\r
2020         type: 'text',\r
2021         rules : {\r
2022           required: true,\r
2023         }\r
2024       },\r
2025       caption: {\r
2026         type: 'text',\r
2027         rules : {\r
2028           required: true,\r
2029         }\r
2030       },\r
2031       system_picture_id: {\r
2032         type: 'number',\r
2033         rules : {\r
2034           required: true,\r
2035           number: true,\r
2036         }\r
2037       },\r
2038       url: {\r
2039         type: 'text',\r
2040         rules : {\r
2041           required: true,\r
2042         }\r
2043       },\r
2044       settings: {\r
2045         type: 'text',\r
2046         rules : {\r
2047         }\r
2048       },\r
2049       credit_pictures: {\r
2050         type: 'text',\r
2051         rules : {\r
2052         }\r
2053       },\r
2054       created_at: {\r
2055         type: 'datetime',\r
2056       },\r
2057       updated_at: {\r
2058         type: 'datetime',\r
2059       }\r
2060     },\r
2061     lists: {\r
2062       public_list: {\r
2063         type: 'public',\r
2064       },\r
2065       by_license_group: {\r
2066         type: 'filter',\r
2067       },\r
2068       by_system_picture: {\r
2069         type: 'filter',\r
2070       },\r
2071     },\r
2072   },\r
2073   author: {\r
2074     class_name: 'Author',\r
2075     table_name: 'authors',\r
2076     associations: {\r
2077       belongs_to: {\r
2078       },\r
2079       has_many: {\r
2080         scrolls: {\r
2081           foreign_key: 'author_id',\r
2082           model_name: 'scroll',\r
2083         }, \r
2084         comics: {\r
2085           foreign_key: 'author_id',\r
2086           model_name: 'comic',\r
2087         }, \r
2088         stories: {\r
2089           foreign_key: 'author_id',\r
2090           model_name: 'story',\r
2091         }, \r
2092         sheets: {\r
2093           foreign_key: 'author_id',\r
2094           model_name: 'sheet',\r
2095         }, \r
2096         panels: {\r
2097           foreign_key: 'author_id',\r
2098           model_name: 'panel',\r
2099         }, \r
2100       },\r
2101       has_one: {\r
2102       },\r
2103     },\r
2104     attributes: {\r
2105       id: {\r
2106         type: 'number',\r
2107         primary_key: 1,\r
2108         rules : {\r
2109           number: true,\r
2110         }\r
2111       },\r
2112       name: {\r
2113         type: 'text',\r
2114         rules : {\r
2115           required: true,\r
2116         }\r
2117       },\r
2118       user_id: {\r
2119         type: 'number',\r
2120         rules : {\r
2121           required: true,\r
2122           number: true,\r
2123         }\r
2124       },\r
2125       created_at: {\r
2126         type: 'datetime',\r
2127       },\r
2128       updated_at: {\r
2129         type: 'datetime',\r
2130       }\r
2131     },\r
2132     lists: {\r
2133       public_list: {\r
2134         type: 'public',\r
2135       },\r
2136     },\r
2137   },\r
2138   artist: {\r
2139     class_name: 'Artist',\r
2140     table_name: 'artists',\r
2141     associations: {\r
2142       belongs_to: {\r
2143       },\r
2144       has_many: {\r
2145         resource_pictures: {\r
2146           foreign_key: 'artist_id',\r
2147           model_name: 'resource_picture',\r
2148         }, \r
2149       },\r
2150       has_one: {\r
2151       },\r
2152     },\r
2153     attributes: {\r
2154       id: {\r
2155         type: 'number',\r
2156         primary_key: 1,\r
2157         rules : {\r
2158           number: true,\r
2159         }\r
2160       },\r
2161       name: {\r
2162         type: 'text',\r
2163         rules : {\r
2164           required: true,\r
2165         }\r
2166       },\r
2167       author_id: {\r
2168         type: 'number',\r
2169         rules : {\r
2170           required: true,\r
2171           number: true,\r
2172         }\r
2173       },\r
2174       created_at: {\r
2175         type: 'datetime',\r
2176       },\r
2177       updated_at: {\r
2178         type: 'datetime',\r
2179       }\r
2180     },\r
2181     lists: {\r
2182       public_list: {\r
2183         type: 'public',\r
2184       },\r
2185     },\r
2186   },\r
2187   system_picture: {\r
2188     class_name: 'SystemPicture',\r
2189     table_name: 'system_pictures',\r
2190     associations: {\r
2191       belongs_to: {\r
2192       },\r
2193       has_many: {\r
2194         balloons: {\r
2195           foreign_key: 'system_picture_id',\r
2196           model_name: 'balloon',\r
2197         }, \r
2198         balloon_templates: {\r
2199           foreign_key: 'system_picture_id',\r
2200           model_name: 'balloon_template',\r
2201         }, \r
2202         licenses: {\r
2203           foreign_key: 'system_picture_id',\r
2204           model_name: 'license',\r
2205         }, \r
2206       },\r
2207       has_one: {\r
2208       },\r
2209     },\r
2210     attributes: {\r
2211       id: {\r
2212         type: 'number',\r
2213         primary_key: 1,\r
2214         rules : {\r
2215           number: true,\r
2216         }\r
2217       },\r
2218       ext: {\r
2219         type: 'text',\r
2220         rules : {\r
2221           required: true,\r
2222         }\r
2223       },\r
2224       width: {\r
2225         type: 'number',\r
2226         rules : {\r
2227           required: true,\r
2228           number: true,\r
2229         }\r
2230       },\r
2231       height: {\r
2232         type: 'number',\r
2233         rules : {\r
2234           required: true,\r
2235           number: true,\r
2236         }\r
2237       },\r
2238       filesize: {\r
2239         type: 'number',\r
2240         rules : {\r
2241           required: true,\r
2242           number: true,\r
2243         }\r
2244       },\r
2245       md5: {\r
2246         type: 'text',\r
2247         rules : {\r
2248           required: true,\r
2249           required: true,\r
2250         }\r
2251       },\r
2252       created_at: {\r
2253         type: 'datetime',\r
2254       },\r
2255       updated_at: {\r
2256         type: 'datetime',\r
2257       }\r
2258     },\r
2259     lists: {\r
2260       public_list: {\r
2261         type: 'public',\r
2262       },\r
2263     },\r
2264   },\r
2265 }\r
2266 \r