class PSGC::Import::ImportProvinceMunicipalities

Import Province cities and municipalities

Constants

CSV_HEADER

Attributes

provice_id[R]

Public Class Methods

new(province_id, src) click to toggle source
Calls superclass method
# File lib/psgc/import/import_province_municipalities.rb, line 14
def initialize(province_id, src)
  super(src)
  @province_id = province_id
end

Public Instance Methods

parse() click to toggle source
# File lib/psgc/import/import_province_municipalities.rb, line 19
def parse
  parser = Parser.new
  File.open(full_target) do |input|
    parser.parse Nokogiri::HTML(input)
  end

  # mkdir
  region_dir = @province_id.to_s[0, 2]
  dir = File.join(PSGC::DATA_DIR, region_dir, @province_id)
  FileUtils.mkdir_p dir

  # cities.csv
  unless parser.cities.empty?
    CSV.open(File.join(dir, 'cities.csv'), 'w') do |out|
      out << CSV_HEADER
      parser.cities.each { |city| out << city }
    end
  end

  # municipalities.csv
  unless parser.municipalities.empty?
    CSV.open(File.join(dir, 'municipalities.csv'), 'w') do |out|
      out << CSV_HEADER
      parser.municipalities.each { |muni| out << muni }
    end
  end

  parser.hrefs.each do |municipality_id, href|
    ipm = ImportMunicipalityBarangays.new municipality_id, href
    ipm.fetch
  end

end