class PaginateResponder::PagyAdapter
Pagination adapter for pagy.
Attributes
pagy[RW]
pagy_resource[RW]
Public Class Methods
pagy_method(resource)
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 38 def pagy_method(resource) %i[limit offset].all? { |model_method| resource.respond_to?(model_method) } ? :pagy : :pagy_array end
suitable?(resource, responder)
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 34 def suitable?(resource, responder) responder.controller.respond_to?(pagy_method(resource), true) end
Public Instance Methods
default_max_per_page()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 23 def default_max_per_page Pagy::VARS[:max_items] || BigDecimal::INFINITY end
default_per_page()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 19 def default_per_page Pagy::VARS[:items] end
paginate()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 6 def paginate self.pagy, self.pagy_resource = controller.send(self.class.pagy_method(resource), resource, page: page, items: per_page) pagy_resource end
paginate!()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 27 def paginate! paginate.tap do update end end
total_count()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 15 def total_count pagy.count end
total_pages()
click to toggle source
# File lib/paginate-responder/pagy_adapter.rb, line 11 def total_pages pagy.pages end