OSDN Git Service

fix remove tree
[pettanr/pettanr.git] / app / assets / javascripts / manifest / work / models.js.coffee.erb
1 #マニフェスト\r
2 @models = {\r
3   scroll: {\r
4     associations: {\r
5       belongs_to: {\r
6         author: {\r
7         }, \r
8       },\r
9       has_many: {\r
10         scroll_panels: {\r
11         }, \r
12         panels: {\r
13           through: 'scroll_panel',\r
14         }, \r
15       },\r
16     },\r
17     attributes: {\r
18       title: {\r
19         type: 'text',\r
20         rules : {\r
21           required: true,\r
22         }\r
23       },\r
24       description: {\r
25         type: 'text',\r
26         rules : {\r
27         }\r
28       },\r
29       visible: {\r
30         type: 'number',\r
31         rules : {\r
32           required: true,\r
33           number: true,\r
34         },\r
35         source: {\r
36           type: 'magic_number',\r
37           args: {\r
38             select_item_name: 'scroll_visible_items',\r
39           },\r
40         },\r
41       },\r
42       author_id: {\r
43         type: 'number',\r
44         rules : {\r
45           required: true,\r
46           number: true,\r
47         },\r
48       },\r
49     },\r
50     tree: {\r
51       scroll_owner: 'author',\r
52     },\r
53   },\r
54   scroll_panel: {\r
55     associations: {\r
56       belongs_to: {\r
57         panel: {\r
58         }, \r
59         scroll: {\r
60         }, \r
61       },\r
62       has_many: {\r
63       },\r
64     },\r
65     attributes: {\r
66       scroll_id: {\r
67         type: 'number',\r
68         rules : {\r
69           required: true,\r
70           number: true,\r
71         }\r
72       },\r
73       panel_id: {\r
74         type: 'number',\r
75         rules : {\r
76           required: true,\r
77           number: true,\r
78         }\r
79       },\r
80       t: {\r
81         type: 'number',\r
82         rules : {\r
83           required: true,\r
84           number: true,\r
85           min: 0,\r
86         }\r
87       },\r
88       author_id: {\r
89         type: 'number',\r
90         rules : {\r
91           required: true,\r
92           number: true,\r
93         }\r
94       },\r
95     },\r
96     tree: {\r
97       owner: 'scroll',\r
98       scroll_owner: 'scroll',\r
99     },\r
100   },\r
101   comic: {\r
102     associations: {\r
103       belongs_to: {\r
104         author: {\r
105         }, \r
106       },\r
107       has_many: {\r
108         stories: {\r
109         }, \r
110       },\r
111     },\r
112     attributes: {\r
113       title: {\r
114         type: 'text',\r
115         rules : {\r
116           required: true,\r
117         }\r
118       },\r
119       description: {\r
120         type: 'text',\r
121         rules : {\r
122         }\r
123       },\r
124       visible: {\r
125         type: 'number',\r
126         rules : {\r
127           required: true,\r
128           number: true,\r
129         },\r
130         source: {\r
131           type: 'magic_number',\r
132           args: {\r
133             select_item_name: 'comic_visible_items',\r
134           },\r
135         },\r
136       },\r
137       author_id: {\r
138         type: 'number',\r
139         rules : {\r
140           required: true,\r
141           number: true,\r
142         }\r
143       },\r
144     },\r
145     tree: {\r
146       comic_owner: 'author',\r
147     },\r
148   },\r
149   story: {\r
150     associations: {\r
151       belongs_to: {\r
152         comic: {\r
153         }, \r
154       },\r
155       has_many: {\r
156         story_sheets: {\r
157         }, \r
158         sheets: {\r
159           through: 'story_sheets',\r
160         }, \r
161       },\r
162     },\r
163     attributes: {\r
164       comic_id: {\r
165         type: 'number',\r
166         rules : {\r
167           number: true,\r
168         }\r
169       },\r
170       title: {\r
171         type: 'text',\r
172         rules : {\r
173         }\r
174       },\r
175       description: {\r
176         type: 'text',\r
177         rules : {\r
178         }\r
179       },\r
180       t: {\r
181         type: 'number',\r
182         rules : {\r
183           required: true,\r
184           number: true,\r
185           min: 0,\r
186         }\r
187       },\r
188       visible: {\r
189         type: 'number',\r
190         rules : {\r
191           required: true,\r
192           number: true,\r
193         },\r
194         source: {\r
195           type: 'magic_number',\r
196           args: {\r
197             select_item_name: 'story_visible_items',\r
198           },\r
199         },\r
200       },\r
201     },\r
202     tree: {\r
203       owner: 'comic',\r
204       comic_owner: 'comic',\r
205     },\r
206   },\r
207   story_sheet: {\r
208     associations: {\r
209       belongs_to: {\r
210         story: {\r
211         }, \r
212         sheet: {\r
213         }, \r
214       },\r
215       has_many: {\r
216       },\r
217     },\r
218     attributes: {\r
219       story_id: {\r
220         type: 'number',\r
221         rules : {\r
222           number: true,\r
223         }\r
224       },\r
225       sheet_id: {\r
226         type: 'number',\r
227         rules : {\r
228           number: true,\r
229         }\r
230       },\r
231       t: {\r
232         type: 'number',\r
233         rules : {\r
234           required: true,\r
235           number: true,\r
236           min: 0,\r
237         }\r
238       },\r
239       author_id: {\r
240         type: 'number',\r
241         rules : {\r
242           required: true,\r
243           number: true,\r
244         }\r
245       },\r
246     },\r
247     tree: {\r
248       owner: 'story',\r
249       comic_owner: 'story',\r
250     },\r
251   },\r
252   sheet: {\r
253     associations: {\r
254       belongs_to: {\r
255         author: {\r
256         }, \r
257       },\r
258       has_many: {\r
259         story_sheets: {\r
260         }, \r
261         stories: {\r
262           through: 'story_sheets',\r
263         }, \r
264         sheet_panels: {\r
265         }, \r
266         panels: {\r
267           through: 'sheet_panels',\r
268         }, \r
269       },\r
270     },\r
271     attributes: {\r
272       caption: {\r
273         type: 'text',\r
274         rules : {\r
275         }\r
276       },\r
277       width: {\r
278         type: 'number',\r
279         rules : {\r
280           required: true,\r
281           number: true,\r
282         }\r
283       },\r
284       height: {\r
285         type: 'number',\r
286         rules : {\r
287           required: true,\r
288           number: true,\r
289         }\r
290       },\r
291       visible: {\r
292         type: 'number',\r
293         rules : {\r
294           required: true,\r
295           number: true,\r
296         },\r
297         source: {\r
298           type: 'magic_number',\r
299           args: {\r
300             select_item_name: 'sheet_visible_items',\r
301           },\r
302         },\r
303       },\r
304       author_id: {\r
305         type: 'number',\r
306         rules : {\r
307           required: true,\r
308           number: true,\r
309         }\r
310       },\r
311     },\r
312     tree: {\r
313       sheet_owner: 'author',\r
314     },\r
315   },\r
316   sheet_panel: {\r
317     associations: {\r
318       belongs_to: {\r
319         sheet: {\r
320         }, \r
321         panel: {\r
322         }, \r
323       },\r
324       has_many: {\r
325       },\r
326     },\r
327     attributes: {\r
328       sheet_id: {\r
329         type: 'number',\r
330         rules : {\r
331           number: true,\r
332         }\r
333       },\r
334       panel_id: {\r
335         type: 'number',\r
336         rules : {\r
337           number: true,\r
338         }\r
339       },\r
340       x: {\r
341         type: 'number',\r
342         rules : {\r
343           required: true,\r
344           number: true,\r
345         }\r
346       },\r
347       y: {\r
348         type: 'number',\r
349         rules : {\r
350           required: true,\r
351           number: true,\r
352         }\r
353       },\r
354       z: {\r
355         type: 'number',\r
356         rules : {\r
357           required: true,\r
358           number: true,\r
359           min: 1,\r
360         }\r
361       },\r
362       t: {\r
363         type: 'number',\r
364         rules : {\r
365           required: true,\r
366           number: true,\r
367           min: 0,\r
368         }\r
369       },\r
370       author_id: {\r
371         type: 'number',\r
372         rules : {\r
373           number: true,\r
374         }\r
375       },\r
376     },\r
377     tree: {\r
378       owner: 'sheet',\r
379       sheet_owner: 'sheet',\r
380     },\r
381   },\r
382   panel: {\r
383     associations: {\r
384       belongs_to: {\r
385         author: {\r
386         }, \r
387       },\r
388       has_many: {\r
389         scroll_panels: {\r
390         }, \r
391         scrolls: {\r
392           through: 'scroll_panels',\r
393         }, \r
394         sheet_panels: {\r
395         }, \r
396         sheets: {\r
397           through: 'sheet_panels',\r
398         }, \r
399         panel_pictures: {\r
400         }, \r
401         speech_balloons: {\r
402         }, \r
403         ground_pictures: {\r
404         }, \r
405         ground_colors: {\r
406         }, \r
407       },\r
408     },\r
409     attributes: {\r
410       width: {\r
411         type: 'number',\r
412         rules : {\r
413           required: true,\r
414           number: true,\r
415           min: 1,\r
416         }\r
417       },\r
418       height: {\r
419         type: 'number',\r
420         rules : {\r
421           required: true,\r
422           number: true,\r
423           min: 1,\r
424         }\r
425       },\r
426       border: {\r
427         type: 'number',\r
428         rules : {\r
429           required: true,\r
430           number: true,\r
431           min: 0,\r
432         }\r
433       },\r
434       caption: {\r
435         type: 'text',\r
436         rules : {\r
437         }\r
438       },\r
439       publish: {\r
440         type: 'number',\r
441         rules : {\r
442           required: true,\r
443           number: true,\r
444         },\r
445         source: {\r
446           type: 'magic_number',\r
447           args: {\r
448             select_item_name: 'panel_visible_items',\r
449           },\r
450         },\r
451       },\r
452       author_id: {\r
453         type: 'number',\r
454         rules : {\r
455           required: true,\r
456           number: true,\r
457         }\r
458       },\r
459     },\r
460     tree: {\r
461       panel_owner: 'author',\r
462     },\r
463   },\r
464   panel_picture: {\r
465     associations: {\r
466       belongs_to: {\r
467         panel: {\r
468         }, \r
469       },\r
470       has_many: {\r
471       },\r
472     },\r
473     attributes: {\r
474       panel_id: {\r
475         type: 'number',\r
476         rules : {\r
477           number: true,\r
478         }\r
479       },\r
480       picture_id: {\r
481         type: 'number',\r
482         rules : {\r
483           required: true,\r
484           number: true,\r
485         }\r
486       },\r
487       caption: {\r
488         type: 'text',\r
489         rules : {\r
490         }\r
491       },\r
492       x: {\r
493         type: 'number',\r
494         rules : {\r
495           required: true,\r
496           number: true,\r
497         }\r
498       },\r
499       y: {\r
500         type: 'number',\r
501         rules : {\r
502           required: true,\r
503           number: true,\r
504         }\r
505       },\r
506       width: {\r
507         type: 'number',\r
508         rules : {\r
509           required: true,\r
510           number: true,\r
511         }\r
512       },\r
513       height: {\r
514         type: 'number',\r
515         rules : {\r
516           required: true,\r
517           number: true,\r
518         }\r
519       },\r
520       link: {\r
521         type: 'text',\r
522         rules : {\r
523           url: true,\r
524         }\r
525       },\r
526       z: {\r
527         type: 'number',\r
528         rules : {\r
529           required: true,\r
530           number: true,\r
531           min: 1,\r
532         }\r
533       },\r
534       t: {\r
535         type: 'number',\r
536         rules : {\r
537           required: true,\r
538           number: true,\r
539           min: 0,\r
540         }\r
541       },\r
542     },\r
543     tree: {\r
544       owner: 'panel',\r
545       panel_owner: 'panel',\r
546       panel: 'panel',\r
547     },\r
548   },\r
549   speech_balloon: {\r
550     extend_column_name: 'classname', \r
551     associations: {\r
552       belongs_to: {\r
553         panel: {\r
554         }, \r
555       },\r
556       has_many: {\r
557       },\r
558       has_one: {\r
559         balloon: {\r
560         }, \r
561         speech: {\r
562         }, \r
563       },\r
564     },\r
565     attributes: {\r
566       panel_id: {\r
567         type: 'number',\r
568         rules : {\r
569           number: true,\r
570         }\r
571       },\r
572       speech_balloon_template_id: {\r
573         type: 'number',\r
574         rules : {\r
575           required: true,\r
576           number: true,\r
577         }\r
578       },\r
579       classname: {\r
580         type: 'text',\r
581         rules : {\r
582           required: true,\r
583         }\r
584       },\r
585       z: {\r
586         type: 'number',\r
587         rules : {\r
588           required: true,\r
589           number: true,\r
590           min: 1,\r
591         }\r
592       },\r
593       t: {\r
594         type: 'number',\r
595         rules : {\r
596           required: true,\r
597           number: true,\r
598           min: 0,\r
599         }\r
600       },\r
601       settings: {\r
602         type: 'text',\r
603         rules : {\r
604         }\r
605       },\r
606       caption: {\r
607         type: 'text',\r
608         rules : {\r
609         }\r
610       },\r
611     },\r
612     tree: {\r
613       owner: 'panel',\r
614       panel_owner: 'panel',\r
615       panel: 'panel',\r
616     },\r
617   }, \r
618   balloon: {\r
619     associations: {\r
620       belongs_to: {\r
621         speech_balloon: {\r
622         }, \r
623         system_picture: {\r
624         }, \r
625       },\r
626       has_many: {\r
627       },\r
628     },\r
629     attributes: {\r
630       speech_balloon_id: {\r
631         type: 'number',\r
632         rules : {\r
633           number: true,\r
634         }\r
635       },\r
636       system_picture_id: {\r
637         type: 'number',\r
638         rules : {\r
639           required: true,\r
640           number: true,\r
641         }\r
642       },\r
643       x: {\r
644         type: 'number',\r
645         rules : {\r
646           required: true,\r
647           number: true,\r
648         }\r
649       },\r
650       y: {\r
651         type: 'number',\r
652         rules : {\r
653           required: true,\r
654           number: true,\r
655         }\r
656       },\r
657       width: {\r
658         type: 'number',\r
659         rules : {\r
660           required: true,\r
661           number: true,\r
662           min: 1,\r
663         }\r
664       },\r
665       height: {\r
666         type: 'number',\r
667         rules : {\r
668           required: true,\r
669           number: true,\r
670           min: 1,\r
671         }\r
672       },\r
673       r: {\r
674         type: 'number',\r
675         rules : {\r
676           required: true,\r
677           number: true,\r
678         }\r
679       },\r
680       settings: {\r
681         type: 'text',\r
682         rules : {\r
683         }\r
684       },\r
685     },\r
686     tree: {\r
687       owner: 'speech_balloon',\r
688       panel_owner: 'speech_balloon',\r
689       panel: 'speech_balloon',\r
690     },\r
691   },\r
692   speech: {\r
693     associations: {\r
694       belongs_to: {\r
695         speech_balloon: {\r
696         }, \r
697         writing_format: {\r
698         }, \r
699       },\r
700       has_many: {\r
701       },\r
702     },\r
703     attributes: {\r
704       speech_balloon_id: {\r
705         type: 'number',\r
706         rules : {\r
707           number: true,\r
708         }\r
709       },\r
710       writing_format_id: {\r
711         type: 'number',\r
712         source: {\r
713           type: 'model',\r
714         },\r
715         rules : {\r
716           required: true,\r
717           number: true,\r
718         }\r
719       },\r
720       content: {\r
721         type: 'text',\r
722         rules : {\r
723         }\r
724       },\r
725       font_size: {\r
726         type: 'float',\r
727         rules : {\r
728           required: true,\r
729           number: true,\r
730           min: 0,\r
731         },\r
732         source: {\r
733           type: 'magic_number',\r
734           args: {\r
735             select_item_name: 'speech_font_size_items',\r
736           },\r
737         },\r
738       },\r
739       text_align: {\r
740         type: 'number',\r
741         rules : {\r
742           required: true,\r
743           number: true,\r
744           range: [0, 3],\r
745         },\r
746         source: {\r
747           type: 'magic_number',\r
748           args: {\r
749             select_item_name: 'speech_text_align_items',\r
750           },\r
751         },\r
752       },\r
753       fore_color: {\r
754         type: 'number',\r
755         rules : {\r
756           required: true,\r
757           number: true,\r
758           range: [0, 0xffffff],\r
759         }\r
760       },\r
761       x: {\r
762         type: 'number',\r
763         rules : {\r
764           required: true,\r
765           number: true,\r
766         }\r
767       },\r
768       y: {\r
769         type: 'number',\r
770         rules : {\r
771           required: true,\r
772           number: true,\r
773         }\r
774       },\r
775       width: {\r
776         type: 'number',\r
777         rules : {\r
778           required: true,\r
779           number: true,\r
780           min: 1,\r
781         }\r
782       },\r
783       height: {\r
784         type: 'number',\r
785         rules : {\r
786           required: true,\r
787           number: true,\r
788           min: 1,\r
789         }\r
790       },\r
791       quotes: {\r
792         type: 'text',\r
793         rules : {\r
794         }\r
795       },\r
796       settings: {\r
797         type: 'text',\r
798         rules : {\r
799         }\r
800       },\r
801     },\r
802     tree: {\r
803       owner: 'speech_balloon',\r
804       panel_owner: 'speech_balloon',\r
805       panel: 'speech_balloon',\r
806     },\r
807   },\r
808   ground_picture: {\r
809     associations: {\r
810       belongs_to: {\r
811         panel: {\r
812         }, \r
813       },\r
814       has_many: {\r
815       },\r
816     },\r
817     attributes: {\r
818       panel_id: {\r
819         type: 'number',\r
820         rules : {\r
821           number: true,\r
822         }\r
823       },\r
824       picture_id: {\r
825         type: 'number',\r
826         rules : {\r
827           required: true,\r
828           number: true,\r
829         }\r
830       },\r
831       caption: {\r
832         type: 'text',\r
833         rules : {\r
834         }\r
835       },\r
836       repeat: {\r
837         type: 'number',\r
838         rules : {\r
839           required: true,\r
840           number: true,\r
841           range: [0, 3],\r
842         },\r
843         source: {\r
844           type: 'magic_number',\r
845           args: {\r
846             select_item_name: 'ground_picture_repeat_items',\r
847           },\r
848         },\r
849       },\r
850       x: {\r
851         type: 'number',\r
852         rules : {\r
853           required: true,\r
854           number: true,\r
855         }\r
856       },\r
857       y: {\r
858         type: 'number',\r
859         rules : {\r
860           required: true,\r
861           number: true,\r
862         }\r
863       },\r
864       z: {\r
865         type: 'number',\r
866         rules : {\r
867           required: true,\r
868           number: true,\r
869           min: 1,\r
870         }\r
871       },\r
872       t: {\r
873         type: 'number',\r
874         rules : {\r
875           required: true,\r
876           number: true,\r
877           min: 0,\r
878         }\r
879       },\r
880     },\r
881     tree: {\r
882       owner: 'panel',\r
883       panel_owner: 'panel',\r
884       panel: 'panel',\r
885     },\r
886   },\r
887   ground_color: {\r
888     associations: {\r
889       belongs_to: {\r
890         panel: {\r
891         }, \r
892       },\r
893       has_many: {\r
894       },\r
895     },\r
896     attributes: {\r
897       panel_id: {\r
898         type: 'number',\r
899         rules : {\r
900           number: true,\r
901         }\r
902       },\r
903       caption: {\r
904         type: 'text',\r
905         rules : {\r
906         }\r
907       },\r
908       code: {\r
909         type: 'number',\r
910         rules : {\r
911           required: true,\r
912           number: true,\r
913           range: [0, 0xffffff],\r
914         }\r
915       },\r
916       orientation: {\r
917         type: 'number',\r
918         rules : {\r
919           required: true,\r
920           number: true,\r
921           range: [0, 1],\r
922         },\r
923         source: {\r
924           type: 'magic_number',\r
925           args: {\r
926             select_item_name: 'ground_color_orientation_items',\r
927           },\r
928         },\r
929       },\r
930       xy: {\r
931         type: 'number',\r
932         rules : {\r
933           number: true,\r
934         }\r
935       },\r
936       wh: {\r
937         type: 'number',\r
938         rules : {\r
939           number: true,\r
940         }\r
941       },\r
942       z: {\r
943         type: 'number',\r
944         rules : {\r
945           required: true,\r
946           number: true,\r
947           min: 1,\r
948         }\r
949       },\r
950       t: {\r
951         type: 'number',\r
952         rules : {\r
953           required: true,\r
954           number: true,\r
955           min: 0,\r
956         }\r
957       },\r
958     },\r
959     tree: {\r
960       owner: 'panel',\r
961       panel_owner: 'panel',\r
962       panel: 'panel',\r
963     },\r
964   },\r
965   original_picture: {\r
966     associations: {\r
967       belongs_to: {\r
968         artist: {\r
969         }, \r
970       },\r
971       has_many: {\r
972         pictures: {\r
973         }, \r
974       },\r
975       has_one: {\r
976         resource_picture: {\r
977         }, \r
978       },\r
979     },\r
980     attributes: {\r
981       ext: {\r
982         type: 'text',\r
983         rules : {\r
984           required: true,\r
985         }\r
986       },\r
987       width: {\r
988         type: 'number',\r
989         rules : {\r
990           required: true,\r
991           number: true,\r
992         }\r
993       },\r
994       height: {\r
995         type: 'number',\r
996         rules : {\r
997           required: true,\r
998           number: true,\r
999         }\r
1000       },\r
1001       filesize: {\r
1002         type: 'number',\r
1003         rules : {\r
1004           required: true,\r
1005           number: true,\r
1006         }\r
1007       },\r
1008       artist_id: {\r
1009         type: 'number',\r
1010         rules : {\r
1011           required: true,\r
1012           number: true,\r
1013         }\r
1014       },\r
1015       md5: {\r
1016         type: 'text',\r
1017         rules : {\r
1018           required: true,\r
1019           required: true,\r
1020         }\r
1021       },\r
1022       uploaded_at: {\r
1023         type: 'datetime',\r
1024       },\r
1025       published_at: {\r
1026         type: 'datetime',\r
1027       },\r
1028       stopped_at: {\r
1029         type: 'datetime',\r
1030       },\r
1031     },\r
1032   },\r
1033   picture: {\r
1034     associations: {\r
1035       belongs_to: {\r
1036         license: {\r
1037         }, \r
1038         artist: {\r
1039         }, \r
1040       },\r
1041       has_many: {\r
1042       },\r
1043       has_one: {\r
1044       },\r
1045     },\r
1046     attributes: {\r
1047       original_picture_id: {\r
1048         type: 'number',\r
1049         rules : {\r
1050           required: true,\r
1051           number: true,\r
1052         }\r
1053       },\r
1054       revision: {\r
1055         type: 'number',\r
1056         rules : {\r
1057           required: true,\r
1058           number: true,\r
1059         }\r
1060       },\r
1061       ext: {\r
1062         type: 'text',\r
1063         rules : {\r
1064           required: true,\r
1065         }\r
1066       },\r
1067       width: {\r
1068         type: 'number',\r
1069         rules : {\r
1070           required: true,\r
1071           number: true,\r
1072         }\r
1073       },\r
1074       height: {\r
1075         type: 'number',\r
1076         rules : {\r
1077           required: true,\r
1078           number: true,\r
1079         }\r
1080       },\r
1081       filesize: {\r
1082         type: 'number',\r
1083         rules : {\r
1084           required: true,\r
1085           number: true,\r
1086         }\r
1087       },\r
1088       artist_id: {\r
1089         type: 'number',\r
1090         rules : {\r
1091           required: true,\r
1092           number: true,\r
1093         }\r
1094       },\r
1095       license_id: {\r
1096         type: 'number',\r
1097         rules : {\r
1098           required: true,\r
1099           number: true,\r
1100         }\r
1101       },\r
1102       md5: {\r
1103         type: 'text',\r
1104         rules : {\r
1105           required: true,\r
1106         }\r
1107       },\r
1108       artist_name: {\r
1109         type: 'text',\r
1110         rules : {\r
1111           required: true,\r
1112         }\r
1113       },\r
1114       credit: {\r
1115         type: 'text',\r
1116         rules : {\r
1117         }\r
1118       },\r
1119       settings: {\r
1120         type: 'text',\r
1121         rules : {\r
1122         }\r
1123       },\r
1124       classname: {\r
1125         type: 'text',\r
1126         rules : {\r
1127           required: true,\r
1128         }\r
1129       },\r
1130     }\r
1131   },\r
1132   resource_picture: {\r
1133     associations: {\r
1134       belongs_to: {\r
1135         original_picture: {\r
1136         }, \r
1137         license: {\r
1138         }, \r
1139         artist: {\r
1140         }, \r
1141       },\r
1142       has_many: {\r
1143       },\r
1144       has_one: {\r
1145       },\r
1146     },\r
1147     attributes: {\r
1148       original_picture_id: {\r
1149         type: 'number',\r
1150         rules : {\r
1151           required: true,\r
1152           number: true,\r
1153         }\r
1154       },\r
1155       revision: {\r
1156         type: 'number',\r
1157         rules : {\r
1158           required: true,\r
1159           number: true,\r
1160         }\r
1161       },\r
1162       ext: {\r
1163         type: 'text',\r
1164         rules : {\r
1165           required: true,\r
1166         }\r
1167       },\r
1168       width: {\r
1169         type: 'number',\r
1170         rules : {\r
1171           required: true,\r
1172           number: true,\r
1173         }\r
1174       },\r
1175       height: {\r
1176         type: 'number',\r
1177         rules : {\r
1178           required: true,\r
1179           number: true,\r
1180         }\r
1181       },\r
1182       filesize: {\r
1183         type: 'number',\r
1184         rules : {\r
1185           required: true,\r
1186           number: true,\r
1187         }\r
1188       },\r
1189       artist_id: {\r
1190         type: 'number',\r
1191         rules : {\r
1192           required: true,\r
1193           number: true,\r
1194         }\r
1195       },\r
1196       license_id: {\r
1197         type: 'number',\r
1198         rules : {\r
1199           required: true,\r
1200           number: true,\r
1201         }\r
1202       },\r
1203       md5: {\r
1204         type: 'text',\r
1205         rules : {\r
1206           required: true,\r
1207         }\r
1208       },\r
1209       artist_name: {\r
1210         type: 'text',\r
1211         rules : {\r
1212           required: true,\r
1213         }\r
1214       },\r
1215       credit: {\r
1216         type: 'text',\r
1217         rules : {\r
1218         }\r
1219       },\r
1220       settings: {\r
1221         type: 'text',\r
1222         rules : {\r
1223         }\r
1224       },\r
1225       picture_id: {\r
1226         type: 'number',\r
1227         rules : {\r
1228           required: true,\r
1229           number: true,\r
1230         }\r
1231       },\r
1232       classname: {\r
1233         type: 'text',\r
1234         rules : {\r
1235           required: true,\r
1236         }\r
1237       },\r
1238     },\r
1239   },\r
1240   speech_balloon_template: {\r
1241     extend_column_name: 'classname', \r
1242     associations: {\r
1243       belongs_to: {\r
1244         system_picture: {\r
1245         }, \r
1246       },\r
1247       has_many: {\r
1248         speech_balloons: {\r
1249         }, \r
1250         panels: {\r
1251           through: 'speech_balloons',\r
1252         }, \r
1253       },\r
1254       has_one: {\r
1255       },\r
1256     },\r
1257     attributes: {\r
1258       name: {\r
1259         type: 'text',\r
1260         rules : {\r
1261           required: true,\r
1262         }\r
1263       },\r
1264       classname: {\r
1265         type: 'text',\r
1266         rules : {\r
1267           required: true,\r
1268         }\r
1269       },\r
1270       caption: {\r
1271         type: 'text',\r
1272         rules : {\r
1273           required: true,\r
1274         }\r
1275       },\r
1276       t: {\r
1277         type: 'number',\r
1278         rules : {\r
1279           required: true,\r
1280           number: true,\r
1281           min: 0,\r
1282         }\r
1283       },\r
1284       system_picture_id: {\r
1285         type: 'number',\r
1286         rules : {\r
1287           required: true,\r
1288           number: true,\r
1289         }\r
1290       },\r
1291       settings: {\r
1292         type: 'text',\r
1293         rules : {\r
1294           required: true,\r
1295         }\r
1296       },\r
1297     },\r
1298   },\r
1299   writing_format: {\r
1300     extend_column_name: 'classname', \r
1301     associations: {\r
1302       belongs_to: {\r
1303         system_picture: {\r
1304         }, \r
1305       },\r
1306       has_many: {\r
1307         speeches: {\r
1308         }, \r
1309       },\r
1310       has_one: {\r
1311       },\r
1312     },\r
1313     attributes: {\r
1314       name: {\r
1315         type: 'text',\r
1316         rules : {\r
1317           required: true,\r
1318         }\r
1319       },\r
1320       classname: {\r
1321         type: 'text',\r
1322         rules : {\r
1323           required: true,\r
1324         }\r
1325       },\r
1326       caption: {\r
1327         type: 'text',\r
1328         rules : {\r
1329           required: true,\r
1330         }\r
1331       },\r
1332       system_picture_id: {\r
1333         type: 'number',\r
1334         rules : {\r
1335           required: true,\r
1336           number: true,\r
1337         }\r
1338       },\r
1339       settings: {\r
1340         type: 'text',\r
1341         rules : {\r
1342           required: true,\r
1343         }\r
1344       },\r
1345     },\r
1346   },\r
1347   license_group: {\r
1348     extend_column_name: 'classname', \r
1349     associations: {\r
1350       belongs_to: {\r
1351       },\r
1352       has_many: {\r
1353         licenses: {\r
1354         }, \r
1355       },\r
1356       has_one: {\r
1357       },\r
1358     },\r
1359     attributes: {\r
1360       name: {\r
1361         type: 'text',\r
1362         rules : {\r
1363           required: true,\r
1364         }\r
1365       },\r
1366       classname: {\r
1367         type: 'text',\r
1368         rules : {\r
1369           required: true,\r
1370         }\r
1371       },\r
1372       caption: {\r
1373         type: 'text',\r
1374         rules : {\r
1375           required: true,\r
1376         }\r
1377       },\r
1378       url: {\r
1379         type: 'text',\r
1380         rules : {\r
1381           required: true,\r
1382         }\r
1383       },\r
1384     },\r
1385   },\r
1386   license: {\r
1387     associations: {\r
1388       belongs_to: {\r
1389         license_group: {\r
1390         }, \r
1391         system_picture: {\r
1392         }, \r
1393       },\r
1394       has_many: {\r
1395         resource_pictures: {\r
1396         }, \r
1397       },\r
1398       has_one: {\r
1399       },\r
1400     },\r
1401     attributes: {\r
1402       license_group_id: {\r
1403         type: 'number',\r
1404         rules : {\r
1405           number: true,\r
1406         }\r
1407       },\r
1408       name: {\r
1409         type: 'text',\r
1410         rules : {\r
1411           required: true,\r
1412         }\r
1413       },\r
1414       caption: {\r
1415         type: 'text',\r
1416         rules : {\r
1417           required: true,\r
1418         }\r
1419       },\r
1420       system_picture_id: {\r
1421         type: 'number',\r
1422         rules : {\r
1423           required: true,\r
1424           number: true,\r
1425         }\r
1426       },\r
1427       url: {\r
1428         type: 'text',\r
1429         rules : {\r
1430           required: true,\r
1431         }\r
1432       },\r
1433       settings: {\r
1434         type: 'text',\r
1435         rules : {\r
1436         }\r
1437       },\r
1438       credit_pictures: {\r
1439         type: 'text',\r
1440         rules : {\r
1441         }\r
1442       },\r
1443     },\r
1444   },\r
1445   author: {\r
1446     associations: {\r
1447       belongs_to: {\r
1448       },\r
1449       has_many: {\r
1450         scrolls: {\r
1451         }, \r
1452         comics: {\r
1453         }, \r
1454         stories: {\r
1455         }, \r
1456         sheets: {\r
1457         }, \r
1458         panels: {\r
1459         }, \r
1460       },\r
1461       has_one: {\r
1462       },\r
1463     },\r
1464     attributes: {\r
1465       name: {\r
1466         type: 'text',\r
1467         rules : {\r
1468           required: true,\r
1469         }\r
1470       },\r
1471       user_id: {\r
1472         type: 'number',\r
1473         rules : {\r
1474           required: true,\r
1475           number: true,\r
1476         }\r
1477       },\r
1478     },\r
1479   },\r
1480   artist: {\r
1481     associations: {\r
1482       belongs_to: {\r
1483       },\r
1484       has_many: {\r
1485         resource_pictures: {\r
1486         }, \r
1487       },\r
1488       has_one: {\r
1489       },\r
1490     },\r
1491     attributes: {\r
1492       name: {\r
1493         type: 'text',\r
1494         rules : {\r
1495           required: true,\r
1496         }\r
1497       },\r
1498       author_id: {\r
1499         type: 'number',\r
1500         rules : {\r
1501           required: true,\r
1502           number: true,\r
1503         }\r
1504       },\r
1505     },\r
1506   },\r
1507   system_picture: {\r
1508     associations: {\r
1509       belongs_to: {\r
1510       },\r
1511       has_many: {\r
1512         balloons: {\r
1513         }, \r
1514         speech_balloon_templates: {\r
1515         }, \r
1516         licenses: {\r
1517         }, \r
1518       },\r
1519       has_one: {\r
1520       },\r
1521     },\r
1522     attributes: {\r
1523       ext: {\r
1524         type: 'text',\r
1525         rules : {\r
1526           required: true,\r
1527         }\r
1528       },\r
1529       width: {\r
1530         type: 'number',\r
1531         rules : {\r
1532           required: true,\r
1533           number: true,\r
1534         }\r
1535       },\r
1536       height: {\r
1537         type: 'number',\r
1538         rules : {\r
1539           required: true,\r
1540           number: true,\r
1541         }\r
1542       },\r
1543       filesize: {\r
1544         type: 'number',\r
1545         rules : {\r
1546           required: true,\r
1547           number: true,\r
1548         }\r
1549       },\r
1550       md5: {\r
1551         type: 'text',\r
1552         rules : {\r
1553           required: true,\r
1554           required: true,\r
1555         }\r
1556       },\r
1557     },\r
1558   },\r
1559 }\r
1560 \r