Sha256: e88ee0ec28fe912a185915a952f1285716f7fe3c198463df83bb123e3dad39d7

Contents?: true

Size: 595 Bytes

Versions: 7

Compression:

Stored size: 595 Bytes

Contents

# See the Pagy Extras documentation: https://ddnexus.github.io/pagy/extras

class Pagy
  # Add specialized backend methods to paginate array collections
  module Backend ; private

    # return pagy object and items
    def pagy_array(array, vars={})
      pagy = Pagy.new(pagy_array_get_vars(array, vars))
      return pagy, array[pagy.offset, pagy.items]
    end

    def pagy_array_get_vars(array, vars)
      # return the merged variables to initialize the pagy object
      { count: array.count,
        page:  params[vars[:page_param]||VARS[:page_param]] }.merge!(vars)
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pagy-0.8.6 lib/pagy/extras/array.rb
pagy-0.8.5 lib/pagy/extras/array.rb
pagy-0.8.4 lib/pagy/extras/array.rb
pagy-0.8.3 lib/pagy/extras/array.rb
pagy-0.8.2 lib/pagy/extras/array.rb
pagy-0.8.1 lib/pagy/extras/array.rb
pagy-0.8.0 lib/pagy/extras/array.rb