Module: Pagy::FrontendHelpers::PagyAddOn
- Included in:
- Pagy
- Defined in:
- lib/pagy/extras/frontend_helpers.rb
Overview
Additions for the Pagy class
Instance Method Summary collapse
-
#label_sequels ⇒ Object
Support for the Calendar API.
-
#sequels(steps: @vars[:steps] || { 0 => @vars[:size] }, **_) ⇒ Object
‘Pagy` instance method used by the `pagy*_nav_js` helpers.
Instance Method Details
#label_sequels ⇒ Object
Support for the Calendar API
28 |
# File 'lib/pagy/extras/frontend_helpers.rb', line 28 def label_sequels(*); end |
#sequels(steps: @vars[:steps] || { 0 => @vars[:size] }, **_) ⇒ Object
‘Pagy` instance method used by the `pagy*_nav_js` helpers. It returns the sequels of width/series generated from the :steps hash Example: >> pagy = Pagy.new(count:1000, page: 20, steps: => [1,2,2,1], 350 => [2,3,3,2], 550 => [3,4,4,3]) >> pagy.sequels #=> { “0” => [1, :gap, 18, 19, “20”, 21, 22, :gap, 50],
"350" => [1, 2, :gap, 17, 18, 19, "20", 21, 22, 23, :gap, 49, 50],
"550" => [1, 2, 3, :gap, 16, 17, 18, 19, "20", 21, 22, 23, 24, :gap, 48, 49, 50] }
Notice: if :steps is false it will use the single => @vars size
19 20 21 22 23 24 25 |
# File 'lib/pagy/extras/frontend_helpers.rb', line 19 def sequels(steps: @vars[:steps] || { 0 => @vars[:size] }, **_) raise VariableError.new(self, :steps, 'to define the 0 width', steps) unless steps.key?(0) {}.tap do |sequels| steps.each { |width, step_size| sequels[width.to_s] = series(size: step_size) } end end |