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