Sha256: 3248b585025593f819c69c6cba6382e92b6298df41cf9d76f1f3dd9262b92257

Contents?: true

Size: 560 Bytes

Versions: 4

Compression:

Stored size: 560 Bytes

Contents

# frozen_string_literal: true

module  Drillbit
class   Parameters
class   Page
  PAGING_PARAMETERS     = %w{number size limit offset cursor}.freeze
  DEFAULT_STARTING_PAGE = 1
  DEFAULT_PAGE_SIZE     = 25

  attr_accessor :raw_parameters

  def initialize(raw_parameters)
    self.raw_parameters = raw_parameters || {}
  end

  def present?
    (raw_parameters.keys & PAGING_PARAMETERS).any?
  end

  def page_number
    raw_parameters['number'] || DEFAULT_STARTING_PAGE
  end

  def per_page
    raw_parameters['size'] || DEFAULT_PAGE_SIZE
  end
end
end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
drillbit-3.0.3 lib/drillbit/parameters/page.rb
drillbit-3.0.2 lib/drillbit/parameters/page.rb
drillbit-3.0.1 lib/drillbit/parameters/page.rb
drillbit-3.0.0 lib/drillbit/parameters/page.rb