Sha256: e1e9e7729725ca11c9bb971cb5dff274d21c68709da1352978d0b0230c17af2d
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 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 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? ) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dhs-1.3.0 | lib/dhs/concerns/record/pagination.rb |
dhs-1.2.0 | lib/dhs/concerns/record/pagination.rb |
dhs-1.1.0 | lib/dhs/concerns/record/pagination.rb |