blob: 1c6e954a53e775f264563999c76d03ca6dc1bc81 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# frozen_string_literal: true
# t.string :title
# t.integer :number
# t.belongs_to :book
# t.timestamps
class Chapter < ApplicationRecord
default_scope { order(:number) }
belongs_to :book
has_many :sections, dependent: :delete_all
has_many :chapters, through: :book
def prev
return false unless number
num = number - 1
return chapters.find_by(number: num) if num > 0
false
end
def next
return false unless number
num = number + 1
return chapters.find_by(number: num) if num > 0
false
end
def last_section
sections.reorder("number DESC").first
end
def first_section
sections.first
end
def cs_number
if chapter_type == "appendix"
"A" + chapter_number
else
chapter_number
end
end
end
|