Sha256: 861365144e8cb1cdb4de9faf523cfb1bb2c884d0133a2be27eef9a78997c2ddc

Contents?: true

Size: 387 Bytes

Versions: 5

Compression:

Stored size: 387 Bytes

Contents

module GearedPagination
  class Ratios
    DEFAULTS = [ 15, 30, 50, 100 ]

    def initialize(ratios = nil)
      @ratios = Array(ratios || DEFAULTS).map(&:to_i)
    end

    def [](page_number)
      @ratios[page_number - 1] || fixed
    end

    def cache_key
      @ratios.join('-')
    end

    def size
      @ratios.size
    end

    def fixed
      @ratios.last
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
geared_pagination-1.2.0 lib/geared_pagination/ratios.rb
geared_pagination-1.1.2 lib/geared_pagination/ratios.rb
geared_pagination-1.1.1 lib/geared_pagination/ratios.rb
geared_pagination-1.1.0 lib/geared_pagination/ratios.rb
geared_pagination-1.0.2 lib/geared_pagination/ratios.rb