Sha256: acd659a4a7efda34e970d9d4969855d856c775a493e7fa0feb2f6819aa69dcaa

Contents?: true

Size: 435 Bytes

Versions: 92

Compression:

Stored size: 435 Bytes

Contents

module Alula
  class Pagination
    attr_reader :total, :number, :size

    def initialize(meta_page_obj)
      @total = meta_page_obj['total']
      @number = meta_page_obj['number']
      @size = meta_page_obj['size']
    end

    def has_next?
      number < page_count
    end

    def has_prev?
      number > 1
    end

    def page_count
      (total.to_f / size.to_f).ceil
    rescue ZeroDivisionError
      0
    end
  end
end

Version data entries

92 entries across 92 versions & 1 rubygems

Version Path
alula-ruby-2.12.0 lib/alula/pagination.rb
alula-ruby-2.11.0 lib/alula/pagination.rb
alula-ruby-2.10.1 lib/alula/pagination.rb
alula-ruby-2.10.0 lib/alula/pagination.rb
alula-ruby-2.9.1 lib/alula/pagination.rb
alula-ruby-2.9.0 lib/alula/pagination.rb
alula-ruby-2.8.1 lib/alula/pagination.rb
alula-ruby-2.8.0 lib/alula/pagination.rb
alula-ruby-2.7.0 lib/alula/pagination.rb
alula-ruby-2.6.3 lib/alula/pagination.rb
alula-ruby-2.6.2 lib/alula/pagination.rb
alula-ruby-2.6.1 lib/alula/pagination.rb
alula-ruby-2.6.0 lib/alula/pagination.rb
alula-ruby-2.5.0 lib/alula/pagination.rb
alula-ruby-2.4.0 lib/alula/pagination.rb
alula-ruby-2.3.0 lib/alula/pagination.rb
alula-ruby-2.2.0 lib/alula/pagination.rb
alula-ruby-2.1.2 lib/alula/pagination.rb
alula-ruby-2.1.1 lib/alula/pagination.rb
alula-ruby-2.1.0 lib/alula/pagination.rb