module KaminariExtension::QueryExt

Public Instance Methods

limit_value() click to toggle source
# File lib/kaminari_extension.rb, line 22
def limit_value
  criteria[:limit]
end
max_per_page() click to toggle source
# File lib/kaminari_extension.rb, line 34
def max_per_page
  @klass.max_per_page
end
offset_value() click to toggle source
# File lib/kaminari_extension.rb, line 26
def offset_value
  criteria[:skip]
end
page(num) click to toggle source
# File lib/kaminari_extension.rb, line 38
def page(num)
  limit(@klass.default_per_page).skip(@klass.default_per_page * ([num.to_i, 1].max - 1))
  self
end
per(num) click to toggle source
# File lib/kaminari_extension.rb, line 43
def per(num)
  if (n = num.to_i) <= 0
    self
  elsif max_per_page && max_per_page < n
    new_offset_value = offset_value / limit_value * max_per_page
    limit(max_per_page).offset(new_offset_value)
  else
    new_offset_value = offset_value / limit_value * n
    limit(n).offset(new_offset_value)
  end
  self
end
total_count() click to toggle source
# File lib/kaminari_extension.rb, line 30
def total_count
  count
end