OSDN Git Service

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