Module: Zipcodr

Defined in:
lib/zipcodr/db.rb,
lib/zipcodr/version.rb,
lib/zipcodr/zip_code.rb

Defined Under Namespace

Classes: ZipCode

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.columnsObject



25
26
27
# File 'lib/zipcodr/db.rb', line 25

def self.columns
  ['id', 'zip', 'zip_class', 'city', 'county', 'state', 'lat', 'long']
end

.dbObject



13
14
15
16
17
# File 'lib/zipcodr/db.rb', line 13

def self.db
  db = self.open_db
  raise "Sorry, Invalid database." unless db.kind_of?(SQLite3::Database)
  db
end

.find(zip) ⇒ Object



3
4
5
# File 'lib/zipcodr/db.rb', line 3

def self.find(zip)
  ZipCode.new self.query(zip)
end

.open_dbObject



19
20
21
22
23
# File 'lib/zipcodr/db.rb', line 19

def self.open_db
  db = File.dirname(__FILE__) + '/zipcodr.db'
  raise "Database is not present." unless File.exist?(db)
  SQLite3::Database.open(db)
end

.query(zip) ⇒ Object



7
8
9
10
11
# File 'lib/zipcodr/db.rb', line 7

def self.query(zip)
  row = Zipcodr::db.execute("select * from zip_codes where zip = '#{zip.to_s}';").first
  return nil unless (row.kind_of?(Array) && row[1].to_s == zip.to_s)
  row
end