Class: Pagify::Helper::HTML
- Inherits:
-
Abstract
show all
- Extended by:
- Rails
- Defined in:
- lib/pagify/helper/html.rb,
lib/pagify/helper/rails.rb
Instance Attribute Summary
Attributes inherited from Abstract
#pager
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Rails
default_attributes
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
|
# 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 => '...' })
end
|
Instance Method Details
#links(page) ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/pagify/helper/html.rb', line 48
def links page
page = normalize_page(page)
size = .size
attrs =
prepare_links(page).map{ |i|
if i == page
case page
when 1; setting[:first_text]
when size; setting[ :last_text]
else; page
end
else
case i
when 1; "<a href=\"#{yield(i)}\"#{attrs}>#{setting[:first_text]}</a>"
when size; "<a href=\"#{yield(i)}\"#{attrs}>#{setting[ :last_text]}</a>"
when Fixnum; "<a href=\"#{yield(i)}\"#{attrs}>#{i}</a>"
else; i.to_s
end
end
}.join(setting[:separator])
end
|
#links_full(page, &block) ⇒ Object
23
24
25
26
|
# File 'lib/pagify/helper/html.rb', line 23
def links_full page, &block
page = normalize_page(page)
"#{links_navigate(page, &block)}<br />#{links(page, &block)}"
end
|
#links_navigate(page) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/pagify/helper/html.rb', line 28
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
|