Module: SystemSettings::Pagination

Defined in:
app/models/system_settings/pagination.rb

Instance Method Summary collapse

Instance Method Details

#default_per_pageObject



9
10
11
# File 'app/models/system_settings/pagination.rb', line 9

def default_per_page
  25
end

#max_per_pageObject



5
6
7
# File 'app/models/system_settings/pagination.rb', line 5

def max_per_page
  100
end

#page(number = nil, per_page: nil) ⇒ Object



13
14
15
16
17
18
# File 'app/models/system_settings/pagination.rb', line 13

def page(number = nil, per_page: nil)
  sanitized_per_page = per_page.presence.to_i || default_per_page
  sanitized_per_page = max_per_page if sanitized_per_page > max_per_page
  sanitized_per_page = default_per_page unless sanitized_per_page.positive?
  limit(sanitized_per_page).offset(sanitized_per_page * ((number = number.to_i - 1).negative? ? 0 : number))
end