class WillPaginate::PageNumber

integer representing a page number

def initialize(value, name)

def initialize(value, name)
  value = Integer(value)
  if 'offset' == name ? (value < 0 or value > BIGINT) : value < 1
    raise RangeError, "invalid #{name}: #{value.inspect}"
  end
  @name = name
  @value = value
rescue ArgumentError, TypeError, RangeError => error
  error.extend InvalidPage
  raise error
end

def inspect

def inspect
  "#{@name} #{to_i}"
end

def kind_of?(klass)

def kind_of?(klass)
  super || to_i.kind_of?(klass)
end

def to_i

def to_i
  @value
end

def to_offset(per_page)

def to_offset(per_page)
  PageNumber.new((to_i - 1) * per_page.to_i, 'offset')
end