Class: Parser
- Inherits:
-
Object
- Object
- Parser
- Defined in:
- src/parser.rb
Instance Method Summary collapse
-
#initialize(date, msg) ⇒ Parser
constructor
A new instance of Parser.
- #metar(method = :represent) ⇒ Object
- #summary ⇒ Object
Constructor Details
#initialize(date, msg) ⇒ Parser
Returns a new instance of Parser.
49 50 51 52 |
# File 'src/parser.rb', line 49 def initialize(date, msg) raw = Metar::Raw::Data.new(msg, DateTime.parse(date)) @parser = Metar::Parser.new(raw) end |
Instance Method Details
#metar(method = :represent) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'src/parser.rb', line 59 def (method = :represent) @parser.instance_eval do attr = { datetime: time } # station_code: station_code, #metar: metar, %i( minimum_visibility observer sea_level_pressure temperature dew_point visibility variable_wind vertical_visibility wind present_weather recent_weather runway_visible_range sky_conditions remarks) .each do |key| attr[key] = self.send(key)&.send(method) end attr[:cavok] = 'CAVOK' if cavok? attr end end |
#summary ⇒ Object
54 55 56 57 |
# File 'src/parser.rb', line 54 def summary to_s = self. :to_s to_s.reject{ _2.nil? || _2.to_s.empty? }.map{ "#{_1}: #{_2}"}.join ', ' end |