Module: ScfCore::Pagination
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/concerns/pagination.rb
Instance Method Summary collapse
- #default_per_page ⇒ Object
- #order_by ⇒ Object
- #order_direction ⇒ Object
- #page_no ⇒ Object
- #paginate ⇒ Object
- #paginate_offset ⇒ Object
- #per_page ⇒ Object
Instance Method Details
#default_per_page ⇒ Object
5 6 7 |
# File 'app/controllers/concerns/pagination.rb', line 5 def default_per_page 25 end |
#order_by ⇒ Object
21 22 23 |
# File 'app/controllers/concerns/pagination.rb', line 21 def order_by params.fetch(:order_by, :id) end |
#order_direction ⇒ Object
25 26 27 |
# File 'app/controllers/concerns/pagination.rb', line 25 def order_direction params.fetch(:order_direction, :asc) end |
#page_no ⇒ Object
9 10 11 |
# File 'app/controllers/concerns/pagination.rb', line 9 def page_no params[:page]&.to_i || 1 end |
#paginate ⇒ Object
29 30 31 |
# File 'app/controllers/concerns/pagination.rb', line 29 def paginate ->(it) { it.limit(per_page).offset(paginate_offset).order("#{order_by}": order_direction) } end |
#paginate_offset ⇒ Object
17 18 19 |
# File 'app/controllers/concerns/pagination.rb', line 17 def paginate_offset (page_no - 1) * per_page end |
#per_page ⇒ Object
13 14 15 |
# File 'app/controllers/concerns/pagination.rb', line 13 def per_page params[:per_page]&.to_i || default_per_page end |