module WillPaginate

def self.PageNumber(value, name = 'page')

An idemptotent coercion method
def self.PageNumber(value, name = 'page')
  case value
  when PageNumber then value
  else PageNumber.new(value, name)
  end
end