From 0f00107de1c7ad401617ddee71fc9cd3d27e338c Mon Sep 17 00:00:00 2001 From: Paulo Vilarinho Date: Mon, 4 Jan 2021 20:21:24 -0300 Subject: [PATCH] add pagination data concern --- app/controllers/concerns/pagination_data.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 app/controllers/concerns/pagination_data.rb diff --git a/app/controllers/concerns/pagination_data.rb b/app/controllers/concerns/pagination_data.rb new file mode 100644 index 0000000000..d03c54304a --- /dev/null +++ b/app/controllers/concerns/pagination_data.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module PaginationData + extend ActiveSupport::Concern + + def pagination_data(objects, default_page: nil, default_per_page: nil) + { + results: objects.total_count, + pages: objects.num_pages, + page: (params[:page] || default_page).to_i, + per_page: (params[:per_page] || default_per_page).to_i + } + end + + def pagination_required? + params[:page].present? || params[:per_page].present? + end +end