Module: ScfCore::Pagination

Extended by:
ActiveSupport::Concern
Defined in:
app/controllers/concerns/pagination.rb

Instance Method Summary collapse

Instance Method Details

#default_per_pageObject



5
6
7
# File 'app/controllers/concerns/pagination.rb', line 5

def default_per_page
  25
end

#order_byObject



21
22
23
# File 'app/controllers/concerns/pagination.rb', line 21

def order_by
  params.fetch(:order_by, :id)
end

#order_directionObject



25
26
27
# File 'app/controllers/concerns/pagination.rb', line 25

def order_direction
  params.fetch(:order_direction, :asc)
end

#page_noObject



9
10
11
# File 'app/controllers/concerns/pagination.rb', line 9

def page_no
  params[:page]&.to_i || 1
end

#paginateObject



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_offsetObject



17
18
19
# File 'app/controllers/concerns/pagination.rb', line 17

def paginate_offset
  (page_no - 1) * per_page
end

#per_pageObject



13
14
15
# File 'app/controllers/concerns/pagination.rb', line 13

def per_page
  params[:per_page]&.to_i || default_per_page
end