Sha256: 984adb3bcc436076d5975de9a9c1ce32609d0dc123c8adef87795ec1f90a4827

Contents?: true

Size: 578 Bytes

Versions: 1

Compression:

Stored size: 578 Bytes

Contents

module MongoBrowser
  module Models
    class Pager
      PER_PAGE = 25

      attr_reader :current_page
      attr_reader :size

      def initialize(current_page, size)
        @size = size
        @current_page = if current_page.to_i <= 0 then 1
                        else
                          [current_page.to_i, total_pages].min
                        end
      end

      def per_page
        PER_PAGE
      end

      def offset
        (current_page - 1) * per_page
      end

      def total_pages
        (size.to_f / per_page).ceil
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongo_browser-0.2.0.rc2 lib/mongo_browser/models/pager.rb