Module: SearchObject::Plugin::Paging::ClassMethods

Defined in:
lib/search_object/plugin/paging.rb

Instance Method Summary collapse

Instance Method Details

#calculate_per_page(given) ⇒ Object

:api: private



44
45
46
47
48
49
# File 'lib/search_object/plugin/paging.rb', line 44

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) ⇒ Object

Raises:



38
39
40
41
# File 'lib/search_object/plugin/paging.rb', line 38

def max_per_page(number)
  raise InvalidNumberError.new('Max per page', number) unless number > 0
  config[:max_per_page] = number
end

#min_per_page(number) ⇒ Object

Raises:



33
34
35
36
# File 'lib/search_object/plugin/paging.rb', line 33

def min_per_page(number)
  raise InvalidNumberError.new('Min per page', number) unless number > 0
  config[:min_per_page] = number
end

#per_page(number) ⇒ Object

Raises:



28
29
30
31
# File 'lib/search_object/plugin/paging.rb', line 28

def per_page(number)
  raise InvalidNumberError.new('Per page', number) unless number > 0
  config[:per_page] = number
end