Sha256: 43fe477c7caeede3d91445aea6f632ea342f8a2b1e173de35acb51a340afdc0e

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

module PowerApi::GeneratorHelper::PaginationHelper
  extend ActiveSupport::Concern

  included do
    attr_accessor :use_paginator
  end

  def api_pagination_initializer_path
    "config/initializers/api_pagination.rb"
  end

  def api_pagination_initializer_tpl
    <<~API_PAGINATION
      ApiPagination.configure do |config|
        # If you have more than one gem included, you can choose a paginator.
        config.paginator = :kaminari

        # By default, this is set to 'Total'
        config.total_header = 'X-Total'

        # By default, this is set to 'Per-Page'
        config.per_page_header = 'X-Per-Page'

        # Optional: set this to add a header with the current page number.
        config.page_header = 'X-Page'

        # Optional: set this to add other response format. Useful with tools that define :jsonapi format
        # config.response_formats = [:json, :xml, :jsonapi]
        config.response_formats = [:jsonapi]

        # Optional: what parameter should be used to set the page option
        config.page_param do |params|
          params[:page][:number] if params[:page].is_a?(ActionController::Parameters)
        end

        # Optional: what parameter should be used to set the per page option
        config.per_page_param do |params|
          params[:page][:size] if params[:page].is_a?(ActionController::Parameters)
        end

        # Optional: Include the total and last_page link header
        # By default, this is set to true
        # Note: When using kaminari, this prevents the count call to the database
        config.include_total = true
      end
    API_PAGINATION
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
power_api-2.1.1 lib/power_api/generator_helper/pagination_helper.rb
power_api-2.1.0 lib/power_api/generator_helper/pagination_helper.rb
power_api-2.0.2 lib/power_api/generator_helper/pagination_helper.rb
power_api-2.0.1 lib/power_api/generator_helper/pagination_helper.rb
power_api-2.0.0 lib/power_api/generator_helper/pagination_helper.rb
power_api-1.0.0 lib/power_api/generator_helper/pagination_helper.rb
power_api-0.2.0 lib/power_api/generator_helper/pagination_helper.rb
power_api-0.1.0 lib/power_api/generator_helper/pagination_helper.rb