Module: ApiPagination
- Defined in:
- lib/api-pagination.rb,
lib/api-pagination/version.rb,
lib/api-pagination/configuration.rb
Defined Under Namespace
Classes: Configuration, Version
Constant Summary
collapse
- VERSION =
Version.to_s
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
Also known as:
configuration
92
93
94
|
# File 'lib/api-pagination/configuration.rb', line 92
def config
@config ||= Configuration.new
end
|
88
89
90
|
# File 'lib/api-pagination/configuration.rb', line 88
def configure
yield config
end
|
.pages_from(collection) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/api-pagination.rb', line 21
def pages_from(collection)
{}.tap do |pages|
unless collection.first_page?
pages[:first] = 1
pages[:prev] = collection.current_page - 1
end
unless collection.last_page?
pages[:last] = collection.total_pages
pages[:next] = collection.current_page + 1
end
end
end
|
.paginate(collection, options = {}) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/api-pagination.rb', line 6
def paginate(collection, options = {})
options[:page] = options[:page].to_i
options[:page] = 1 if options[:page] <= 0
options[:per_page] = options[:per_page].to_i
case .config.paginator
when :kaminari
paginate_with_kaminari(collection, options)
when :will_paginate
paginate_with_will_paginate(collection, options)
else
raise StandardError, "Unknown paginator: #{ApiPagination.config.paginator}"
end
end
|
.paginator ⇒ Object
42
43
44
45
|
# File 'lib/api-pagination.rb', line 42
def paginator
warn "[DEPRECATION] ApiPagination.paginator is deprecated. Please use ApiPagination.config.paginator"
config.paginator
end
|
47
48
49
50
|
# File 'lib/api-pagination.rb', line 47
def
warn "[DEPRECATION] ApiPagination.paginator is deprecated. Please use ApiPagination.config.per_page_header"
config.
end
|
.total_from(collection) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/api-pagination.rb', line 35
def total_from(collection)
case .config.paginator
when :kaminari then collection.total_count.to_s
when :will_paginate then collection.total_entries.to_s
end
end
|
52
53
54
55
|
# File 'lib/api-pagination.rb', line 52
def
warn "[DEPRECATION] ApiPagination.paginator is deprecated. Please use ApiPagination.config.total_header"
config.
end
|