module SearchObject::Plugin::Paging::ClassMethods

Public Instance Methods

calculate_per_page(given) click to toggle source

:api: private

# File lib/search_object/plugin/paging.rb, line 49
def calculate_per_page(given)
  per_page = (given || config[:per_page] || 25).to_i.abs
  per_page = [per_page, config[:max_per_page]].min if config[:max_per_page]
  per_page = [per_page, config[:min_per_page]].max if config[:min_per_page]
  per_page
end
max_per_page(number) click to toggle source
# File lib/search_object/plugin/paging.rb, line 42
def max_per_page(number)
  raise InvalidNumberError.new('Max per page', number) unless number.positive?

  config[:max_per_page] = number
end
min_per_page(number) click to toggle source
# File lib/search_object/plugin/paging.rb, line 36
def min_per_page(number)
  raise InvalidNumberError.new('Min per page', number) unless number.positive?

  config[:min_per_page] = number
end
per_page(number) click to toggle source
# File lib/search_object/plugin/paging.rb, line 30
def per_page(number)
  raise InvalidNumberError.new('Per page', number) unless number.positive?

  config[:per_page] = number
end