2 class Comic < Peta::Content
4 has_many :comic_stories
7 validates :title, :presence => true, :length => {:maximum => 100}
8 validates :visible, :presence => true, :numericality => true, :inclusion => {:in => 0..1}
9 validates :author_id, :presence => true, :numericality => true, :existence => {:both => false}
11 def self.visible_count_options
12 {:conditions => 'visible > 0'}
16 self.visible = 0 if self.visible.blank?
19 def overwrite operators
20 return false unless operators.author
21 self.author_id = operators.author.id
24 def visible? operators
26 when nil # super return
38 def self.public_list_where
43 'comics.updated_at desc'
47 {:comic_stories => {:story => {}}, :author => {} }
50 def self.list_json_opt
51 {:include => {:comic_stories => {:include => {:story => {}}}, :author => {}}}
55 {:include => {:comic_stories => {:story => {}}, :author => {}}}
58 def self.show_json_opt
59 {:include => {:comic_stories => {:include => {:story => {}}}, :author => {}}}
62 def tag_attributes column = nil, opt = {}
67 def destroy_with_story
70 self.stories.each do |story|
71 raise ActiveRecord::Rollback unless story.destroy_and_shorten
73 raise ActiveRecord::Rollback unless self.destroy