Class: Might::PaginationMiddleware
- Inherits:
-
Object
- Object
- Might::PaginationMiddleware
- Defined in:
- lib/might/pagination_middleware.rb
Overview
Pagination middleware
Instance Method Summary collapse
-
#call(env) ⇒ Object
First argument is a ActiveRecord relation which must be paginated Second argument is a request parameters provided by user.
-
#initialize(app, max_per_page: false, per_page: 50, paginator_class: Paginator) ⇒ PaginationMiddleware
constructor
A new instance of PaginationMiddleware.
Constructor Details
#initialize(app, max_per_page: false, per_page: 50, paginator_class: Paginator) ⇒ PaginationMiddleware
Returns a new instance of PaginationMiddleware.
10 11 12 13 14 15 |
# File 'lib/might/pagination_middleware.rb', line 10 def initialize(app, max_per_page: false, per_page: 50, paginator_class: Paginator) @app = app @max_per_page = max_per_page @per_page = per_page @paginator_class = paginator_class end |
Instance Method Details
#call(env) ⇒ Object
First argument is a ActiveRecord relation which must be paginated Second argument is a request parameters provided by user
21 22 23 24 25 26 |
# File 'lib/might/pagination_middleware.rb', line 21 def call(env) scope, params = env paginated_scope = @paginator_class.new((params)).paginate(scope) app.call([paginated_scope, params]) end |