class PQSDK::City

The City class provides an interface for crawlers to the v1/cities api endpoint.

Attributes

country[RW]
county[RW]
id[RW]
inhabitants[RW]
is_county[RW]
latitude[RW]
longitude[RW]
name[RW]
state[RW]
zipcode[RW]

Public Class Methods

find(name) click to toggle source
# File lib/pqsdk/city.rb, line 20
def self.find(name)
  res = RestLayer.get(@endpoint, q: name)
  if res[0] == 200
    from_hash res[1]
  elsif res[0] == 404
    nil
  else
    raise "Unexpected HTTP status code #{res[0]}, #{res[1]}"
  end
end
find_or_create(name) click to toggle source
# File lib/pqsdk/city.rb, line 31
def self.find_or_create(name)
  city = find(name)
  return city if city

  city = City.new
  city.name = name
  city.create!

  city
end

Public Instance Methods

attributes() click to toggle source
# File lib/pqsdk/city.rb, line 13
def attributes
  {
    'name' => nil, 'inhabitants' => nil, 'latitude' => nil,
    'longitude' => nil, 'state' => nil, 'country' => nil
  }
end