Class: Pagify::Helper::HTML
Instance Attribute Summary
Attributes inherited from Abstract
#pager
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Abstract
#initialize, setting, #setting
Class Method Details
.default_attributes ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/pagify/helper/html.rb', line 10
def self.default_attributes
super.merge(
{ :first_text => '« First',
:last_text => 'Last »',
:prev_text => '< Previous',
:next_text => 'Next >',
:inner_links => 4,
:outer_links => 2,
:separator => ' ',
:ellipsis => '...',
:query_name => :page,
:links_type => :links_full,
:inactive_class => 'pagination_inactive',
:active_class => 'pagination_active',
:wrapper_class => 'pagination' })
end
|
Instance Method Details
#links(page) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/pagify/helper/html.rb', line 53
def links page
page = normalize_page(page)
size = .size
a =
prepare_links(page).map{ |i|
if i == page
case page
when 1 ; wrap_active(setting[:first_text] || i)
when size; wrap_active(setting[ :last_text] || i)
else ; wrap_active(i)
end
else
case i
when 1 ; wrap_inactive(setting[:first_text] || i, a){yield(i)}
when size; wrap_inactive(setting[ :last_text] || i, a){yield(i)}
when Fixnum
wrap_inactive(i, a){yield(i)}
else ; i.to_s
end
end
}.join(setting[:separator])
end
|
#links_full(page, &block) ⇒ Object
28
29
30
31
|
# File 'lib/pagify/helper/html.rb', line 28
def links_full page, &block
page = normalize_page(page)
"#{links_navigate(page, &block)}<br/>#{links(page, &block)}"
end
|
#links_navigate(page) ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/pagify/helper/html.rb', line 33
def links_navigate page
page = normalize_page(page)
size = .size
attrs =
prev = if page > 1 && page_exists?(page - 1, size)
"<a href=\"#{yield(page - 1)}\"#{attrs}>#{setting[:prev_text]}</a>"
else
nil
end
post = if page < size && page_exists?(page + 1, size)
"<a href=\"#{yield(page + 1)}\"#{attrs}>#{setting[:next_text]}</a>"
else
nil
end
[prev, post].compact.join(setting[:separator])
end
|