Sha256: 0b4c74fd8cbf52f9d49c7ebf7b0851a4a139c2db4086b683994b65de4a781489
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true require 'active_support' class DHS::Record module Pagination extend ActiveSupport::Concern # Kaminari-Interface delegate :current_page, :first_page, :last_page, :prev_page, :next_page, :limit_value, :total_pages, to: :_pagination def paginated?(raw = nil) self.class.paginated?(raw || _raw) end def _pagination self.class.pagination(_data) end module ClassMethods def pagination_class case pagination_strategy.to_sym when :page DHS::Pagination::Page when :total_pages DHS::Pagination::TotalPages when :offset_page DHS::Pagination::OffsetPage when :start DHS::Pagination::Start when :link DHS::Pagination::Link when :next_offset DHS::Pagination::NextOffset else DHS::Pagination::Offset end end def pagination(data) pagination_class.new(data) end # Checks if given raw is paginated or not def paginated?(raw) raw.is_a?(Hash) && ( raw.dig(*total_key).present? || raw.dig(*limit_key(:body)).present? || raw.dig(*pagination_key(:body)).present? ) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dhs-1.4.2 | lib/dhs/concerns/record/pagination.rb |
dhs-1.4.1 | lib/dhs/concerns/record/pagination.rb |
dhs-1.4.0 | lib/dhs/concerns/record/pagination.rb |