OSDN Git Service

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