Sha256: 092c130100b93ff55ce7df724a12cd9727e7cd573a1231925ae5ec304360d81e

Contents?: true

Size: 608 Bytes

Versions: 42

Compression:

Stored size: 608 Bytes

Contents

module Spree
  module Shared
    class Paginate
      def initialize(collection, params)
        @collection = collection
        @page       = params[:page]

        per_page_limit = Spree::Api::Config[:api_v2_per_page_limit]

        @per_page = if params[:per_page].to_i.between?(1, per_page_limit)
                      params[:per_page]
                    else
                      Kaminari.config.default_per_page
                    end
      end

      def call
        collection.page(page).per(per_page)
      end

      private

      attr_reader :collection, :page, :per_page
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
spree_core-4.10.1 app/paginators/spree/shared/paginate.rb
spree_core-4.10.0 app/paginators/spree/shared/paginate.rb
spree_core-4.9.0 app/paginators/spree/shared/paginate.rb
spree_core-4.8.3 app/paginators/spree/shared/paginate.rb
spree_core-4.8.2 app/paginators/spree/shared/paginate.rb
spree_core-4.7.3 app/paginators/spree/shared/paginate.rb
spree_core-4.6.6 app/paginators/spree/shared/paginate.rb
spree_core-4.5.5 app/paginators/spree/shared/paginate.rb
spree_core-4.2.7 app/paginators/spree/shared/paginate.rb
spree_core-4.3.3 app/paginators/spree/shared/paginate.rb
spree_core-4.4.1 app/paginators/spree/shared/paginate.rb
spree_core-4.5.4 app/paginators/spree/shared/paginate.rb
spree_core-4.6.5 app/paginators/spree/shared/paginate.rb
spree_core-4.7.2 app/paginators/spree/shared/paginate.rb
spree_core-4.7.1 app/paginators/spree/shared/paginate.rb
spree_core-4.6.4 app/paginators/spree/shared/paginate.rb
spree_core-4.7.0 app/paginators/spree/shared/paginate.rb
spree_core-4.6.3 app/paginators/spree/shared/paginate.rb
spree_core-4.6.2 app/paginators/spree/shared/paginate.rb
spree_core-4.6.1 app/paginators/spree/shared/paginate.rb