X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fmodels%2Fcomic.rb;h=ed15468c6be4b4e85492483fa5b4c07ee7bc56e5;hb=674d4fb2e72c2e1653b13d026af884559fd9eb4e;hp=520420195dc6bc1826b0d9dd6729a1cc263985ed;hpb=aa75d8fb5985a21652c5c9d191dc915a6ce784e4;p=pettanr%2Fpettanr.git diff --git a/app/models/comic.rb b/app/models/comic.rb index 52042019..ed15468c 100644 --- a/app/models/comic.rb +++ b/app/models/comic.rb @@ -1,19 +1,16 @@ #コミック -class Comic < Peta::Content +class Comic < Peta::Binder load_manifest - has_many :stories, :order => 't' + has_many :comic_stories belongs_to :author validates :title, :presence => true, :length => {:maximum => 100} validates :visible, :presence => true, :numericality => true, :inclusion => {:in => 0..1} validates :author_id, :presence => true, :numericality => true, :existence => {:both => false} - def self.visible_count_options - {:conditions => 'visible > 0'} - end - def supply_default self.visible = 0 if self.visible.blank? + self.author_id = nil end def overwrite operators @@ -22,56 +19,25 @@ class Comic < Peta::Content end def visible? operators - return false unless super - self.visible > 0 - end - - def comic_stories_count - Story.where(['stories.comic_id = ?', self.id]).count + case super + when nil # super return + return true + when false + return false + else + self.visible > 0 + end end def symbol_filename end - def self.list_where + def self.public_list_where list 'comics.visible > 0' end - def self.list_order - 'comics.updated_at desc' - end - - def self.list_opt - {:stories => {}, :author => {} } - end - - def self.list_json_opt - {:include => {:stories => {}, :author => {}} } - end - def self.show_opt - {:include => {:stories => {}, :author => {}} } - end - - def self.show_json_opt - {:include => {:stories => {}, :author => {}} } - end - - def tag_attributes column = nil, opt = {} - { - } - end - - def destroy_with_story - res = false - Comic.transaction do - self.stories.each do |story| - raise ActiveRecord::Rollback unless story.destroy_and_shorten - end - raise ActiveRecord::Rollback unless self.destroy - res = true - end - res + {:include => {:comic_stories => {:story => {}}, :author => {}}} end def scenario