#マニフェスト @configurations2 = { models: { Scroll: 'scroll', scroll: { class_name: 'Scroll', table_name: 'scrolls', associations: { belongs_to: { author: { id_column: 'author_id' }, }, has_many: { scroll_panels: { foreign_key: 'scroll_id', model: 'scroll_panel', }, panels: { through: 'scroll_panel', foreign_key: 'scroll_id' model: 'panel', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, title: { type: 'text', rules : { required: true, } }, description: { type: 'text', rules : { } }, visible: { type: 'number', rules : { required: true, number: true, }, source: { type: 'magic_number', key: 'scroll_visible_items', }, }, author_id: { type: 'number', rules : { required: true, number: true, }, }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { list: { name: 'public' }, caption: { type: 'column', name: 'title' }, }, }, ScrollPanel: 'scroll_panel', scroll_panel: { class_name: 'ScrollPanel', table_name: 'scroll_panels', associations: { belongs_to: { panel: { id_column: 'panel_id' }, scroll: { id_column: 'scroll_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, scroll_id: { type: 'number', rules : { required: true, number: true, } }, panel_id: { type: 'number', rules : { required: true, number: true, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, }, Comic: 'comic', comic: { class_name: 'Comic', table_name: 'comics', associations: { belongs_to: { author: { id_column: 'author_id' }, }, has_many: { stories: { foreign_key: 'comic_id' model: 'story', }, }, has_many_through: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, title: { type: 'text', rules : { required: true, } }, description: { type: 'text', rules : { } }, visible: { type: 'number', rules : { required: true, number: true, }, source: { type: 'magic_number', key: 'comic_visible_items', }, }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'column', name: 'title' }, }, }, Story: 'story', story: { class_name: 'Story', table_name: 'stories', associations: { belongs_to: { comic: { id_column: 'comic_id' }, }, has_many: { story_sheets: { foreign_key: 'story_id', list_method: 'list_by_story', }, sheets: { through: 'story_sheets', foreign_key: 'story_id' list_method: 'list_by_story', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, comic_id: { type: 'number', rules : { number: true, } }, title: { type: 'text', rules : { } }, description: { type: 'text', rules : { } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, visible: { type: 'number', rules : { required: true, number: true, }, source: { type: 'magic_number', key: 'story_visible_items', }, }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'method', name: 'title_with_t', }, }, }, StorySheet: 'story_sheet', story_sheet: { class_name: 'StorySheet', table_name: 'story_sheets', associations: { belongs_to: { story: { id_column: 'story_id' }, sheet: { id_column: 'sheet_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, story_id: { type: 'number', rules : { number: true, } }, sheet_id: { type: 'number', rules : { number: true, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, Sheet: 'sheet', sheet: { class_name: 'Sheet', table_name: 'sheets', associations: { belongs_to: { author: { id_column: 'author_id' }, }, has_many: { story_sheets: { foreign_key: 'story_id', list_method: 'list_by_sheet', }, stories: { through: 'story_sheets', foreign_key: 'sheet_id' list_method: 'list_by_sheet', }, sheet_panels: { foreign_key: 'sheet_id', list_method: 'list_by_sheet', }, panels: { through: 'sheet_panels', foreign_key: 'sheet_id' list_method: 'list_by_sheet', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, caption: { type: 'text', rules : { } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, visible: { type: 'number', rules : { required: true, number: true, }, source: { type: 'magic_number', key: 'sheet_visible_items', }, }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'column', name: 'caption' }, }, }, SheetPanel: 'sheet_panel', sheet_panel: { class_name: 'SheetPanel', table_name: 'sheet_panels', associations: { belongs_to: { sheet: { id_column: 'sheet_id' }, panel: { id_column: 'panel_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, sheet_id: { type: 'number', rules : { number: true, } }, panel_id: { type: 'number', rules : { number: true, } }, x: { type: 'number', rules : { required: true, number: true, } }, y: { type: 'number', rules : { required: true, number: true, } }, z: { type: 'number', rules : { required: true, number: true, min: 1, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, author_id: { type: 'number', rules : { number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, Panel: 'panel', panel: { class_name: 'Panel', table_name: 'panels', associations: { belongs_to: { author: { id_column: 'author_id' }, }, has_many: { scroll_panels: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, scrolls: { through: 'scroll_panels', foreign_key: 'panel_id' list_method: 'list_by_panel', }, sheet_panels: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, sheets: { through: 'sheet_panels', foreign_key: 'panel_id' list_method: 'list_by_panel', }, panel_pictures: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, speech_balloons: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, ground_pictures: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, ground_colors: { foreign_key: 'panel_id', list_method: 'list_by_panel', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, width: { type: 'number', rules : { required: true, number: true, min: 1, } }, height: { type: 'number', rules : { required: true, number: true, min: 1, } }, border: { type: 'number', rules : { required: true, number: true, min: 0, } }, caption: { type: 'text', rules : { } }, publish: { type: 'number', rules : { required: true, number: true, }, source: { type: 'magic_number', key: 'panel_visible_items', }, }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'method', name: 'plain_scenario', }, }, }, PanelPicture: 'panel_picture', panel_picture: { class_name: 'PanelPicture', table_name: 'panel_pictures', associations: { belongs_to: { panel: { id_column: 'panel_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, panel_id: { type: 'number', rules : { number: true, } }, picture_id: { type: 'number', rules : { required: true, number: true, } }, caption: { type: 'text', rules : { } }, x: { type: 'number', rules : { required: true, number: true, } }, y: { type: 'number', rules : { required: true, number: true, } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, link: { type: 'text', rules : { url: true, } }, z: { type: 'number', rules : { required: true, number: true, min: 1, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, SpeechBalloon: 'speech_balloon', speech_balloon: { class_name: 'SpeechBalloon', table_name: 'speech_balloons', extend: 'classname', associations: { belongs_to: { panel: { id_column: 'panel_id' }, }, has_many: { }, has_one: { balloon: { foreign_key: 'speech_balloon_id', list_method: 'list_by_speech_balloon', }, speech: { foreign_key: 'speech_balloon_id', list_method: 'list_by_speech_balloon', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, panel_id: { type: 'number', rules : { number: true, } }, speech_balloon_template_id: { type: 'number', rules : { required: true, number: true, } }, classname: { type: 'text', rules : { required: true, } }, z: { type: 'number', rules : { required: true, number: true, min: 1, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, settings: { type: 'text', rules : { } }, caption: { type: 'text', rules : { } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'method', name: 'plain_scenario', }, }, }, Balloon: 'balloon', balloon: { class_name: 'Balloon', table_name: 'balloons', associations: { belongs_to: { speech_balloon: { id_column: 'speech_balloon_id' }, system_picture: { id_column: 'system_picture_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, speech_balloon_id: { type: 'number', rules : { number: true, } }, system_picture_id: { type: 'number', rules : { required: true, number: true, } }, x: { type: 'number', rules : { required: true, number: true, } }, y: { type: 'number', rules : { required: true, number: true, } }, width: { type: 'number', rules : { required: true, number: true, min: 1, } }, height: { type: 'number', rules : { required: true, number: true, min: 1, } }, r: { type: 'number', rules : { required: true, number: true, } }, settings: { type: 'text', rules : { } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, Speech: 'speech', speech: { class_name: 'Speech', table_name: 'speeches', associations: { belongs_to: { speech_balloon: { id_column: 'speech_balloon_id' }, writing_format: { id_column: 'writing_format_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, speech_balloon_id: { type: 'number', rules : { number: true, } }, writing_format_id: { type: 'number', source: { type: 'model', model: 'writing_format', method: 'enable_list', caption: 'caption' }, rules : { required: true, number: true, } }, content: { type: 'text', rules : { } }, font_size: { type: 'float', rules : { required: true, number: true, min: 0, }, source: { type: 'magic_number', key: 'speech_font_size_items', }, }, text_align: { type: 'number', rules : { required: true, number: true, range: [0, 3], }, source: { type: 'magic_number', key: 'speech_text_align_items', }, }, fore_color: { type: 'number', rules : { required: true, number: true, range: [0, 0xffffff], } }, x: { type: 'number', rules : { required: true, number: true, } }, y: { type: 'number', rules : { required: true, number: true, } }, width: { type: 'number', rules : { required: true, number: true, min: 1, } }, height: { type: 'number', rules : { required: true, number: true, min: 1, } }, quotes: { type: 'text', rules : { } }, settings: { type: 'text', rules : { } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, GroundPicture: 'ground_picture', ground_picture: { class_name: 'GroundPicture', table_name: 'ground_pictures', associations: { belongs_to: { panel: { id_column: 'panel_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, panel_id: { type: 'number', rules : { number: true, } }, picture_id: { type: 'number', rules : { required: true, number: true, } }, caption: { type: 'text', rules : { } }, repeat: { type: 'number', rules : { required: true, number: true, range: [0, 3], }, source: { type: 'magic_number', key: 'ground_picture_repeat_items', }, }, x: { type: 'number', rules : { required: true, number: true, } }, y: { type: 'number', rules : { required: true, number: true, } }, z: { type: 'number', rules : { required: true, number: true, min: 1, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, GroundColor: 'ground_color', ground_color: { class_name: 'GroundColor', table_name: 'ground_colors', associations: { belongs_to: { panel: { id_column: 'panel_id' }, }, has_many: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, panel_id: { type: 'number', rules : { number: true, } }, caption: { type: 'text', rules : { } }, code: { type: 'number', rules : { required: true, number: true, range: [0, 0xffffff], } }, orientation: { type: 'number', rules : { required: true, number: true, range: [0, 1], }, source: { type: 'magic_number', key: 'ground_color_orientation_items', }, }, xy: { type: 'number', rules : { number: true, } }, wh: { type: 'number', rules : { number: true, } }, z: { type: 'number', rules : { required: true, number: true, min: 1, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, OriginalPicture: 'original_picture', original_picture: { class_name: 'OriginalPicture', table_name: 'original_pictures', associations: { belongs_to: { artist: { id_column: 'artist_id' }, }, has_many: { pictures: { foreign_key: 'original_picture_id', list_method: 'list_by_original_picture', }, }, has_one: { resource_picture: { foreign_key: 'original_picture_id', list_method: 'list_by_original_picture', }, }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, ext: { type: 'text', rules : { required: true, } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, filesize: { type: 'number', rules : { required: true, number: true, } }, artist_id: { type: 'number', rules : { required: true, number: true, } }, md5: { type: 'text', rules : { required: true, required: true, } }, uploaded_at: { type: 'datetime', }, published_at: { type: 'datetime', }, stopped_at: { type: 'datetime', }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, }, Picture: 'picture', picture: { class_name: 'Picture', table_name: 'pictures', associations: { belongs_to: { license: { id_column: 'license_id' }, artist: { id_column: 'artist_id' }, }, has_many: { }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, original_picture_id: { type: 'number', rules : { required: true, number: true, } }, revision: { type: 'number', rules : { required: true, number: true, } }, ext: { type: 'text', rules : { required: true, } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, filesize: { type: 'number', rules : { required: true, number: true, } }, artist_id: { type: 'number', rules : { required: true, number: true, } }, license_id: { type: 'number', rules : { required: true, number: true, } }, md5: { type: 'text', rules : { required: true, } }, artist_name: { type: 'text', rules : { required: true, } }, credit: { type: 'text', rules : { } }, settings: { type: 'text', rules : { } }, classname: { type: 'text', rules : { required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, ResourcePicture: 'resource_picture', resource_picture: { class_name: 'ResourcePicture', table_name: 'resource_pictures', associations: { belongs_to: { license: { id_column: 'license_id' }, artist: { id_column: 'artist_id' }, }, has_many: { }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, original_picture_id: { type: 'number', rules : { required: true, number: true, } }, revision: { type: 'number', rules : { required: true, number: true, } }, ext: { type: 'text', rules : { required: true, } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, filesize: { type: 'number', rules : { required: true, number: true, } }, artist_id: { type: 'number', rules : { required: true, number: true, } }, license_id: { type: 'number', rules : { required: true, number: true, } }, md5: { type: 'text', rules : { required: true, } }, artist_name: { type: 'text', rules : { required: true, } }, credit: { type: 'text', rules : { } }, settings: { type: 'text', rules : { } }, picture_id: { type: 'number', rules : { required: true, number: true, } }, classname: { type: 'text', rules : { required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, SpeechBalloonTemplate: 'speech_balloon_template', speech_balloon_template: { class_name: 'SpeechBalloonTemplate', table_name: 'speech_balloon_templates', associations: { belongs_to: { system_picture: { id_column: 'system_picture_id' }, }, has_many: { speech_balloons: { foreign_key: 'speech_balloon_template_id', list_method: 'list_by_speech_balloon_template', }, panels: { through: 'speech_balloons', foreign_key: 'speech_balloon_template_id', list_method: 'list_by_speech_balloon_template', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, classname: { type: 'text', rules : { required: true, } }, caption: { type: 'text', rules : { required: true, } }, t: { type: 'number', rules : { required: true, number: true, min: 0, } }, system_picture_id: { type: 'number', rules : { required: true, number: true, } }, settings: { type: 'text', rules : { required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'enable_list', caption: { type: 'column', name: 'caption', }, }, }, WritingFormat: 'writing_format', writing_format: { class_name: 'WritingFormat', table_name: 'writing_formats', associations: { belongs_to: { system_picture: { id_column: 'system_picture_id' }, }, has_many: { speeches: { foreign_key: 'writing_format_id', list_method: 'list_by_writing_format', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, classname: { type: 'text', rules : { required: true, } }, caption: { type: 'text', rules : { required: true, } }, system_picture_id: { type: 'number', rules : { required: true, number: true, } }, settings: { type: 'text', rules : { required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'enable_list', caption: { type: 'column', name: 'caption', }, }, }, LicenseGroup: 'license_group', license_group: { class_name: 'LicenseGroup', table_name: 'license_groups', associations: { belongs_to: { }, has_many: { licenses: { foreign_key: 'license_group_id', list_method: 'list_by_license_group', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, classname: { type: 'text', rules : { required: true, } }, caption: { type: 'text', rules : { required: true, } }, url: { type: 'text', rules : { required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'column', name: 'caption', }, }, }, License: 'license', license: { class_name: 'License', table_name: 'licenses', associations: { belongs_to: { license_group: { id_column: 'license_group_id' }, system_picture: { id_column: 'system_picture_id' }, }, has_many: { resource_pictures: { foreign_key: 'license_id', list_method: 'list_by_license', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, license_group_id: { type: 'number', rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, caption: { type: 'text', rules : { required: true, } }, system_picture_id: { type: 'number', rules : { required: true, number: true, } }, url: { type: 'text', rules : { required: true, } }, settings: { type: 'text', rules : { } }, credit_pictures: { type: 'text', rules : { } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, Author: 'author', author: { class_name: 'Author', table_name: 'authors', associations: { belongs_to: { }, has_many: { scrolls: { foreign_key: 'author_id', list_method: 'list_by_author', }, comics: { foreign_key: 'author_id', list_method: 'list_by_author', }, stories: { foreign_key: 'author_id', list_method: 'list_by_author', }, sheets: { foreign_key: 'author_id', list_method: 'list_by_author', }, panels: { foreign_key: 'author_id', list_method: 'list_by_author', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, user_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'column', name: 'name', }, }, }, Artist: 'artist', artist: { class_name: 'Artist', table_name: 'artists', associations: { belongs_to: { }, has_many: { resource_pictures: { foreign_key: 'artist_id', list_method: 'list_by_artist', }, }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, name: { type: 'text', rules : { required: true, } }, author_id: { type: 'number', rules : { required: true, number: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } }, select: { method: 'list', caption: { type: 'column', name: 'name', }, }, }, SystemPicture: 'system_picture', system_picture: { class_name: 'SystemPicture', table_name: 'system_pictures', associations: { belongs_to: { }, has_many: { }, has_one: { }, }, attributes: { id: { type: 'number', primary_key: 1, rules : { number: true, } }, ext: { type: 'text', rules : { required: true, } }, width: { type: 'number', rules : { required: true, number: true, } }, height: { type: 'number', rules : { required: true, number: true, } }, filesize: { type: 'number', rules : { required: true, number: true, } }, md5: { type: 'text', rules : { required: true, required: true, } }, created_at: { type: 'datetime', }, updated_at: { type: 'datetime', } } }, }, }