OSDN Git Service

classname rename to module_name
[pettanr/pettanr.git] / app / models / story.rb
1 #ストーリー
2 class Story < Peta::Binder
3   load_manifest
4   has_many :comic_stories
5   has_many :story_sheets
6   belongs_to :author
7   
8   validates :title, :presence => true, :length => {:maximum => 100}
9   validates :visible, :presence => true, :numericality => true, :inclusion => {:in => 0..1}
10   validates :author_id, :presence => true, :numericality => true, :existence => {:both => false}
11   
12   def supply_default
13     self.visible = 0 if self.visible.blank?
14     self.author_id = nil
15   end
16   
17   def overwrite operators
18     return false unless operators.author
19     self.author_id = operators.author.id
20     super()
21   end
22   
23   def visible? operators
24     case super
25     when nil # super return
26       return true
27     when false
28       return false
29     else
30       self.visible > 0
31     end
32   end
33   
34   def self.public_list_where
35     'stories.visible > 0'
36   end
37   
38   def self.show_opt
39     {:include => {:story_sheets => {:sheet => {}}, :author => {}}}
40   end
41   
42 end