Module: Ziptedu

Defined in:
lib/ziptedu.rb,
lib/ziptedu/version.rb,
lib/ziptedu/zipcode.rb,
lib/ziptedu/zipcode_parser.rb

Defined Under Namespace

Classes: Zipcode, ZipcodeParser

Constant Summary collapse

ZIPS_CSV_FILE =
File.join(__dir__, 'data', 'zips.csv')
VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.citystate(city, state) ⇒ Object



22
23
24
# File 'lib/ziptedu.rb', line 22

def citystate(city, state)
  zipcodes.find { |zip| zip.city.upcase == city.upcase && zip.state.upcase == state.upcase }
end

.initializeObject



10
11
12
# File 'lib/ziptedu.rb', line 10

def initialize
  zipcodes
end

.latlong(latitude, longitude) ⇒ Object



26
27
28
29
# 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) ⇒ Object



14
15
16
# File 'lib/ziptedu.rb', line 14

def random(how_many = 1)
  zipcodes.sample(how_many)
end

.zipcode(zipcode) ⇒ Object



18
19
20
# File 'lib/ziptedu.rb', line 18

def zipcode(zipcode)
  zipcodes.find { |zip| zip.zipcode == zipcode.to_s }
end