Class: SimpleCrud::Pagination::WillPaginateAdapter

Inherits:
Object
  • Object
show all
Includes:
Adapter
Defined in:
lib/simple_crud/pagination/will_paginate_adapter.rb

Overview

Adapter for will_paginate (https://github.com/mislav/will_paginate). Uses #paginate, not #page (also defined by Kaminari).

Instance Method Summary collapse

Instance Method Details

#paginate(controller, relation, options) ⇒ Object



14
15
16
17
# File 'lib/simple_crud/pagination/will_paginate_adapter.rb', line 14

def paginate(controller, relation, options)
  records = paginated_records(controller, relation, options)
  controller.render({ json: records }.merge(options))
end

#paginated_records(controller, relation, _options) ⇒ Object



19
20
21
22
23
# File 'lib/simple_crud/pagination/will_paginate_adapter.rb', line 19

def paginated_records(controller, relation, _options)
  page = controller.params[:page] || 1
  per_page = controller.params[:per_page] || WillPaginate.per_page
  relation.paginate(page: page, per_page: per_page)
end