module Ziptedu

Constants

VERSION
ZIPS_CSV_FILE

Public Class Methods

citystate(city, state) click to toggle source
# File lib/ziptedu.rb, line 22
def citystate(city, state)
  zipcodes.find { |zip| zip.city.upcase == city.upcase && zip.state.upcase == state.upcase }
end
initialize() click to toggle source
# File lib/ziptedu.rb, line 10
def initialize
  zipcodes
end
latlong(latitude, longitude) click to toggle source
# File lib/ziptedu.rb, line 26
def latlong(latitude, longitude)
  zipcodes.reject { |zip| !zip.longitude || !zip.latitude }
    .find { |zip| zip.latitude.upcase == latitude.to_s.upcase && zip.longitude.upcase == longitude.to_s.upcase }
end
random(how_many = 1) click to toggle source
# File lib/ziptedu.rb, line 14
def random(how_many = 1)
  zipcodes.sample(how_many)
end
zipcode(zipcode) click to toggle source
# File lib/ziptedu.rb, line 18
def zipcode(zipcode)
  zipcodes.find { |zip| zip.zipcode == zipcode.to_s }
end

Private Class Methods

zipcodes() click to toggle source
# File lib/ziptedu.rb, line 33
def zipcodes
  # Cache zipcodes after doing this once...
  @zipcodes ||= ZipcodeParser.parse ZIPS_CSV_FILE
end