class PSGC::ProvinceOrDistrict
Public Instance Methods
cities()
click to toggle source
# File lib/psgc/province.rb, line 10 def cities @cities ||= load(cities_data, PSGC::City) || [] end
code()
click to toggle source
# File lib/psgc/province.rb, line 3 def code "#{id}00000" end
municipalities()
click to toggle source
# File lib/psgc/province.rb, line 14 def municipalities @municipalities ||= load(municipalities_data, PSGC::Municipality) || [] end
province?()
click to toggle source
# File lib/psgc/province.rb, line 6 def province? is_a? Province end
Private Instance Methods
base_dir()
click to toggle source
# File lib/psgc/province.rb, line 20 def base_dir File.join(PSGC::DATA_DIR, id[0, 2], id) end
cities_data()
click to toggle source
# File lib/psgc/province.rb, line 24 def cities_data File.join(base_dir, 'cities.csv') end
load(csv_file, cls)
click to toggle source
# File lib/psgc/province.rb, line 32 def load(csv_file, cls) if File.file?(csv_file) CSV.open(csv_file) do |csv| csv.shift # skip header row csv.read.map {|id, name| cls.new(id, name)} end end end
municipalities_data()
click to toggle source
# File lib/psgc/province.rb, line 28 def municipalities_data File.join(base_dir, 'municipalities.csv') end