Module: Pagy::OverflowExtra::Pagy
- Included in:
- Pagy
- Defined in:
- lib/pagy/extras/overflow.rb
Overview
Support for Pagy class
Defined Under Namespace
Modules: Series
Instance Method Summary collapse
-
#initialize(vars) ⇒ Object
Add rescue clause for different behaviors.
-
#overflow? ⇒ Boolean
Is the requested page overflowing?.
Instance Method Details
#initialize(vars) ⇒ Object
Add rescue clause for different behaviors
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/pagy/extras/overflow.rb', line 17 def initialize(vars) @overflow ||= false # don't override if :last_page re-run the method after an overflow super rescue OverflowError @overflow = true # add the overflow flag case @vars[:overflow] when :exception raise # same as without the extra when :last_page initial_page = @vars[:page] # save the very initial page (even after re-run) initialize vars.merge!(page: @last) # re-run with the last page @vars[:page] = initial_page # restore the initial page when :empty_page @offset = @items = @from = @to = 0 # vars relative to the actual page @prev = @last # prev relative to the actual page extend Series # special series for :empty_page else raise VariableError.new(self), \ "expected :overflow to be in [:last_page, :empty_page, :exception]; got #{@vars[:overflow].inspect}" end end |
#overflow? ⇒ Boolean
Is the requested page overflowing?
12 13 14 |
# File 'lib/pagy/extras/overflow.rb', line 12 def overflow? @overflow end |