Sha256: 98d41c18faf90aeb7c7b8c910da1a51d3e8e3d0e720186ece1aad506ee59781d
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
module GeonamesRails class Puller def pull @temp_geonames_files = [] target_dir = File.join(Rails.root, 'tmp') file_names = %w(cities1000.zip cities5000.zip cities15000.zip admin1CodesASCII.txt countryInfo.txt) file_names.each do |file_name| url = "http://download.geonames.org/export/dump/#{file_name}" remote_file = open(url) target_file_name = File.join(target_dir, file_name) File.open target_file_name, 'w' do |f| f.write(remote_file.read.force_encoding("UTF-8")) end remote_file.close @temp_geonames_files << target_file_name file_base_name, file_extension = file_name.split('.') if file_extension == 'zip' `unzip #{target_file_name} -d #{target_dir}` @temp_geonames_files << File.join(target_dir, "#{file_base_name}.txt") end end end def cleanup @temp_geonames_files.each do |f| FileUtils.rm f end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
geonames_rails-0.1.1 | lib/geonames_rails/puller.rb |
geonames_rails-0.1.0 | lib/geonames_rails/puller.rb |