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
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
['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
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 => {},
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