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



49
50
51
52
53
54
# 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) ⇒ Object

Raises:



42
43
44
45
46
# 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) ⇒ Object

Raises:



36
37
38
39
40
# 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) ⇒ Object

Raises:



30
31
32
33
34
# 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