Sha256: c65f2bc0fe00260da4b21e7d39145abb183cb1e76a425bd4598b8f75fa0de8d4
Contents?: true
Size: 1.46 KB
Versions: 3
Compression:
Stored size: 1.46 KB
Contents
module ShackKit module Data class SOTASummits def self.update(source_file = SOURCES_DIR + "/summitslist.csv") summits = DB[:sota_summits] summits.delete CSV.foreach(source_file, headers: true, skip_lines: /SOTA Summits List/) do |row| summits.insert( summit_code: row["SummitCode"], association_name: row["AssociationName"], region_name: row["RegionName"], summit_name: row["SummitName"], alt_m: row["AltM"].to_i, alt_ft: row["AltFt"].to_i, grid_ref1: row["GridRef1"], grid_ref2: row["GridRef2"], longitude: row["Longitude"].to_f, latitude: row["Latitude"].to_f, points: row["Points"].to_i, bonus_points: row["BonusPoints"].to_i, valid_from: Date.parse(row["ValidFrom"]), valid_to: Date.parse(row["ValidTo"]), activation_count: row["ActivationCount"].to_i, activation_date: row["ActivationDate"].nil? ? nil : Date.parse(row["ActivationDate"]), activation_call: row["ActivationCall"] ) end summits.count end def self.check(reference) summit = DB[:sota_summits].where(summit_code: reference).first return false if summit.nil? locator = Maidenhead.to_maidenhead(summit[:latitude], summit[:longitude], 3) summit.merge(maidenhead_locator: locator) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
shack_kit-0.2.2 | lib/shack_kit/data/sota_summits.rb |
shack_kit-0.2.1 | lib/shack_kit/data/sota_summits.rb |
shack_kit-0.2.0 | lib/shack_kit/data/sota_summits.rb |