OSDN Git Service

t#32046:
[pettanr/pettanr.git] / app / models / story_sheet.rb
index f988d29..699b444 100644 (file)
@@ -52,13 +52,6 @@ class StorySheet < ActiveRecord::Base
     offset
   end
   
-  def self.sheet_count cnt, prm = self.default_sheet_size
-    count = prm.to_i
-    count = self.max_sheet_size if count > self.max_sheet_size
-    count = self.default_sheet_size if count < 1
-    count
-  end
-  
   def self.default_page_size
     25
   end
@@ -80,8 +73,8 @@ class StorySheet < ActiveRecord::Base
     page_size
   end
   
-  def self.play_list_where cid
-    ['story_sheets.story_id = ?', cid]
+  def self.play_list_where sid
+    ['story_sheets.story_id = ?', sid]
   end
   
   def self.list_where
@@ -96,8 +89,9 @@ class StorySheet < ActiveRecord::Base
     ['story_sheets.author_id = ? and stories.visible > 0', au.id]
   end
   
-  def self.play_list story, author, offset = 0, limit = StorySheet.default_sheet_size
-    StorySheet.where(self.play_list_where(story.id)).includes(StorySheet.list_opt).order('story_sheets.t').offset(offset).limit(limit)
+  def self.play_sheet story, au, page = 1
+    ss = StorySheet.where(self.play_list_where(story.id)).includes(StorySheet.list_opt).order('story_sheets.t').offset(page -1).limit(1).first
+    ss ? ss.sheet : nil
   end
   
   def self.list page = 1, page_size = self.default_page_size
@@ -124,6 +118,10 @@ class StorySheet < ActiveRecord::Base
     Kaminari.paginate_array(Array.new(StorySheet.where(self.himlist_where(au)).includes(StorySheet.list_opt).count, nil)).page(page).per(page_size)
   end
   
+  def self.play_paginate story, page
+    Kaminari.paginate_array(Array.new(StorySheet.where(self.play_list_where(story.id)).includes(StorySheet.list_opt).count, nil)).page(page).per(1)
+  end
+  
   def self.list_opt
     {
       :author => {}, 
@@ -185,6 +183,10 @@ class StorySheet < ActiveRecord::Base
     r.blank? ? 0 : r.to_i + 1
   end
   
+  def self.top_sheet story, author
+    StorySheet.play_list(story, author).first
+  end
+  
   def self.max_t story_id
     StorySheet.maximum(:t, :conditions => ['story_id = ?', story_id])
   end