12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/pragma/macro/pagination.rb', line 12
def for(_input, options)
set_defaults(options)
normalize_params(options)
unless validate_params(options)
handle_invalid_contract(options)
return false
end
= {
page: page(options, **options),
per_page: per_page(options, **options)
}
options['model'] = if defined?(Kaminari)
options['model'].page([:page]).per([:per_page])
elsif defined?(WillPaginate)
options['model'].paginate()
else
fail 'Cannot find a supported pagination adapter (tried Kaminari, will_paginate)!'
end
end
|