app/controllers/concerns/api/pagination_concern.rb in captive-api-0.2.12 vs app/controllers/concerns/api/pagination_concern.rb in captive-api-1.0.0

- old
+ new

@@ -1,28 +1,19 @@ # frozen_string_literal: true -module API - ## - # Défini le nombre max d'items par page à 100 - # `MAX_ITEMS_PAR_PAGE = 100` - # - # Défini le nombre par défaut d'items par page à 20 - # DEFAULT_NB_ITEMS_PAR_PAGE = 20 +module Api module PaginationConcern extend ActiveSupport::Concern - included do |base| - base.const_set :MAX_ITEMS_PAR_PAGE, 100 - base.const_set :DEFAULT_NB_ITEMS_PAR_PAGE, 20 + included do + MAX_ITEMS_PAR_PAGE = 100 + DEFAULT_NB_ITEMS_PAR_PAGE = 10 def pagination - @pagination ||= - begin - par_page = (params[:per_page] || self.class::DEFAULT_NB_ITEMS_PAR_PAGE).to_i - par_page = self.class::MAX_ITEMS_PAR_PAGE if par_page > self.class::MAX_ITEMS_PAR_PAGE - page = (params[:page] || 1).to_i - { page: page, per_page: par_page } - end + par_page = (params[:per_page] || DEFAULT_NB_ITEMS_PAR_PAGE).to_i + par_page = MAX_ITEMS_PAR_PAGE if par_page > MAX_ITEMS_PAR_PAGE + page = (params[:page] || 1).to_i + @pagination ||= { page: page, per_page: par_page } end end end end