Sha256: 806b8a0d28ded6e14bb0fb48051810899e83bb2000fb12113278ce7a12168781
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
require "bundler/gem_tasks" require "rspec/core/rake_task" require "csv" require "json" require "open-uri" RSpec::Core::RakeTask.new(:spec) task :update do raw_data = open("https://raw.githubusercontent.com/jpatokal/openflights/master/data/airports.dat").read cleaned_data = raw_data.gsub(/\\"/,'""') data = CSV.parse(cleaned_data).each_with_object({}) do |row, accumulator| # Doha is missing its IATA code, for some reason 🙄 iata_code = row[5] == "OTBD" ? "DOH" : row[4] accumulator[iata_code] = { name: row[1], city: row[2], country: row[3], iata: iata_code, icao: row[5], latitude: row[6], longitude: row[7], altitude: row[8], timezone: row[9], dst: row[10] } end. tap do |data| # Hyderabad (HYD) is missing, so add it in data["HYD"] = { name: "Rajiv Gandhi International Airport", city: "Hyderabad", country: "India", iata: "HYD", icao: "VOHS", latitude: "17.2403", longitude: "78.4294", altitude: nil, timezone: "N", dst: "5.5", } end. # We aren't interested in airports with no IATA code reject { |code, _| code.nil? || code == "" } File.open("data/airports.json", "w").puts JSON.generate(data) end task :default => :spec
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
airports-1.0.0 | Rakefile |