Class: Vatsim::Airport

Inherits:
Object
  • Object
show all
Defined in:
lib/vatsim/airport.rb

Overview

Airport

Constant Summary collapse

@@airport_cache =

Cache of Airports already looked up to prevent searching for it again.

nil

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line) ⇒ Airport

Initialize Airport with colon delimited line



13
14
15
16
17
18
19
20
21
22
# File 'lib/vatsim/airport.rb', line 13

def initialize line

  attributes = [:icao, :latitude, :longitude]

  line_split = line.strip.split(":")

  attributes.each_with_index.map { |attribute, index|
    instance_variable_set("@#{attribute}", line_split[index]) if self.respond_to?(attribute)
  }
end

Instance Attribute Details

#icaoObject (readonly)

Returns the value of attribute icao.



7
8
9
# File 'lib/vatsim/airport.rb', line 7

def icao
  @icao
end

#latitudeObject (readonly)

Returns the value of attribute latitude.



7
8
9
# File 'lib/vatsim/airport.rb', line 7

def latitude
  @latitude
end

#longitudeObject (readonly)

Returns the value of attribute longitude.



7
8
9
# File 'lib/vatsim/airport.rb', line 7

def longitude
  @longitude
end

Class Method Details

.get(icao) ⇒ Object

Returns Airport with given icao, or nil if it can’t be found



26
27
28
# File 'lib/vatsim/airport.rb', line 26

def self.get icao
  return self.airport_cache[icao]
end