Module: Folio::Ordinal::Page
- Included in:
- Decorator
- Defined in:
- lib/folio/ordinal/page.rb
Defined Under Namespace
Classes: DecoratedArray, Decorator
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.decorate(collection) ⇒ Object
97
98
99
100
|
# File 'lib/folio/ordinal/page.rb', line 97
def self.decorate(collection)
collection = Folio::Ordinal::Page::Decorator.new(collection) unless collection.is_a?(Folio::Ordinal::Page)
collection
end
|
Instance Method Details
#current_page=(value) ⇒ Object
41
42
43
|
# File 'lib/folio/ordinal/page.rb', line 41
def current_page=(value)
@current_page = value.to_i
end
|
#first_page ⇒ Object
33
34
35
|
# File 'lib/folio/ordinal/page.rb', line 33
def first_page
1
end
|
#last_page ⇒ Object
37
38
39
|
# File 'lib/folio/ordinal/page.rb', line 37
def last_page
(total_pages || next_page) ? total_pages : current_page
end
|
#next_page ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/folio/ordinal/page.rb', line 49
def next_page
if total_pages && current_page >= total_pages
nil
elsif total_pages || !defined?(@next_page)
current_page + 1
else
@next_page
end
end
|
#next_page=(value) ⇒ Object
45
46
47
|
# File 'lib/folio/ordinal/page.rb', line 45
def next_page=(value)
@next_page = value && value.to_i
end
|
#offset ⇒ Object
75
76
77
|
# File 'lib/folio/ordinal/page.rb', line 75
def offset
(current_page - 1) * per_page
end
|
#ordinal_pages ⇒ Object
Also known as:
ordinal_pages?
28
29
30
|
# File 'lib/folio/ordinal/page.rb', line 28
def ordinal_pages
true
end
|
#out_of_bounds? ⇒ Boolean
71
72
73
|
# File 'lib/folio/ordinal/page.rb', line 71
def out_of_bounds?
(current_page < first_page) || (last_page && current_page > last_page) || false
end
|
#previous_page ⇒ Object
67
68
69
|
# File 'lib/folio/ordinal/page.rb', line 67
def previous_page
current_page > first_page ? current_page - 1 : nil
end
|