Sha256: 6af939c66df02beb7176b2e1af11a054a0e9c4f6337efd31f38169b7fb22405f

Contents?: true

Size: 645 Bytes

Versions: 231

Compression:

Stored size: 645 Bytes

Contents

module Comee
  module Core
    module Pagination
      extend ActiveSupport::Concern

      def default_per_page
        25
      end

      def page_no
        params[:page]&.to_i || 1
      end

      def per_page
        params[:per_page]&.to_i || default_per_page
      end

      def paginate_offset
        (page_no - 1) * per_page
      end

      def order_by
        params.fetch(:order_by, :id)
      end

      def order_direction
        params.fetch(:order_direction, :asc)
      end

      def paginate
        ->(it) { it.limit(per_page).offset(paginate_offset).order("#{order_by}": order_direction) }
      end
    end
  end
end

Version data entries

231 entries across 231 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.61 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.60 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.59 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.58 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.57 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.56 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.55 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.54 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.53 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.51 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.50 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.49 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.48 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.47 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.46 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.45 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.44 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.43 app/controllers/concerns/comee/core/pagination.rb
comee_core-0.3.42 app/controllers/concerns/comee/core/pagination.rb