current_metar 0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/current_metar/metar.rb +13 -6
  2. metadata +6 -7
@@ -1,6 +1,6 @@
1
1
  class CurrentMetar::Metar
2
2
  require 'rexml/document'
3
- attr_accessor :wind_speed, :wind_direction, :wind_gust_speed, :observation_time, :visibility, :temperature, :available
3
+ attr_accessor :wind_speed, :wind_direction, :wind_gust_speed, :observation_time, :visibility, :temperature, :available, :no_results
4
4
  attr_reader :icao
5
5
 
6
6
  METAR_ATTRIBUTE_MAPPING = {
@@ -19,15 +19,22 @@ class CurrentMetar::Metar
19
19
  metar = CurrentMetar::Metar.new(icao)
20
20
  begin
21
21
  metar_response_body = REXML::Document.new(CurrentMetar::Request.query_adds(metar.icao))
22
- metar_response_body.root.elements.each("data/METAR") do |metar_xml|
23
- unless metar_xml.elements['temp_c'].nil?
24
- metar.temperature = (9/5.0 * metar_xml.elements['temp_c'].text.to_i + 32).round
22
+ if metar_response_body.root.elements['data'].attributes.get_attribute('num_results').value == '0'
23
+ metar.available = false
24
+ metar.no_results = true
25
+ else
26
+ metar_response_body.root.elements.each("data/METAR") do |metar_xml|
27
+ unless metar_xml.elements['temp_c'].nil?
28
+ metar.temperature = (9/5.0 * metar_xml.elements['temp_c'].text.to_i + 32).round
29
+ end
30
+ metar.parse_standard_attributes(metar_xml)
25
31
  end
26
- metar.parse_standard_attributes(metar_xml)
32
+ metar.available = true
33
+ metar.no_results = false
27
34
  end
28
- metar.available = true
29
35
  rescue
30
36
  metar.available = false
37
+ metar.no_results = false
31
38
  ensure
32
39
  return metar
33
40
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: current_metar
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
4
+ hash: 25
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- version: "0.1"
9
+ - 1
10
+ version: 0.1.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Nathan Humbert
@@ -14,8 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-12-29 00:00:00 -08:00
18
- default_executable:
18
+ date: 2011-06-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: fakeweb
@@ -46,7 +46,6 @@ files:
46
46
  - lib/current_metar/metar.rb
47
47
  - lib/current_metar/request.rb
48
48
  - lib/current_metar.rb
49
- has_rdoc: true
50
49
  homepage: https://github.com/nathanhumbert/current_metar
51
50
  licenses:
52
51
  - MIT
@@ -76,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
75
  requirements: []
77
76
 
78
77
  rubyforge_project:
79
- rubygems_version: 1.3.7
78
+ rubygems_version: 1.7.2
80
79
  signing_key:
81
80
  specification_version: 3
82
81
  summary: Query current metar data from the ADDS Experimental data server.