30 lines
782 B
Ruby
30 lines
782 B
Ruby
module JamRuby
|
|
class Region < ActiveRecord::Base
|
|
|
|
self.table_name = 'regions'
|
|
|
|
def self.get_all(country)
|
|
self.where(countrycode: country).order('regionname asc').all
|
|
end
|
|
|
|
def self.find_region_codes
|
|
gem_dir = Gem::Specification.find_by_name("jam_ruby").gem_dir
|
|
File.join(gem_dir, 'lib', 'jam_ruby', 'geodata', 'region_codes.csv')
|
|
end
|
|
|
|
def self.import_from_region_codes(file = find_region_codes)
|
|
self.delete_all
|
|
File.open(file, 'r:ISO-8859-1') do |io|
|
|
csv = ::CSV.new(io, {encoding: 'ISO-8859-1', headers: false})
|
|
csv.each do |row|
|
|
rr = Region.new
|
|
rr.countrycode = row[0]
|
|
rr.region = row[1]
|
|
rr.regionname = row[2]
|
|
rr.save
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|