metar-parser 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.
- data/COPYING +20 -0
- data/README.rdoc +40 -0
- data/Rakefile +53 -0
- data/bin/download_raw.rb +57 -0
- data/bin/parse_raw.rb +28 -0
- data/lib/metar/data.rb +374 -0
- data/lib/metar/parser.rb +352 -0
- data/lib/metar/raw.rb +49 -0
- data/lib/metar/report.rb +95 -0
- data/lib/metar/station.rb +176 -0
- data/lib/metar.rb +16 -0
- data/locales/en.yml +111 -0
- data/locales/it.yml +111 -0
- data/test/all_tests.rb +6 -0
- data/test/metar_test_helper.rb +14 -0
- data/test/unit/data_test.rb +183 -0
- data/test/unit/parser_test.rb +101 -0
- data/test/unit/raw_test.rb +28 -0
- data/test/unit/report_test.rb +91 -0
- data/test/unit/station_test.rb +68 -0
- metadata +128 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../metar_test_helper'
|
4
|
+
|
5
|
+
class TestStation < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_class_method_exist_on_existing_station
|
11
|
+
assert Metar::Station.exist?('LIRQ')
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_class_method_exist_on_non_existant_station
|
15
|
+
assert (not Metar::Station.exist?('X'))
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_find_by_cccc_on_existing_station
|
19
|
+
assert_not_nil Metar::Station.find_by_cccc('LIRQ')
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_find_by_cccc_works_after_station_all
|
23
|
+
Metar::Station.all
|
24
|
+
assert_not_nil Metar::Station.find_by_cccc('LIRQ')
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_instantiation_sets_cccc
|
28
|
+
station = Metar::Station.new('LIRQ')
|
29
|
+
assert_equal 'LIRQ', station.cccc
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_simple_instantiation_doesnt_cause_loading
|
33
|
+
station = Metar::Station.new('LIRQ')
|
34
|
+
assert (not station.loaded?)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_calling_attributes_causes_loading
|
38
|
+
station = Metar::Station.new('LIRQ')
|
39
|
+
station.name
|
40
|
+
assert station.loaded?
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_latitude_is_a_decimal_number
|
44
|
+
station = Metar::Station.new('LIRQ')
|
45
|
+
assert station.latitude.to_s == station.latitude.to_f.to_s
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_longitude_is_a_decimal_number
|
49
|
+
station = Metar::Station.new('LIRQ')
|
50
|
+
assert station.longitude.to_s == station.longitude.to_f.to_s
|
51
|
+
end
|
52
|
+
|
53
|
+
def test_to_latitude_north
|
54
|
+
assert(Metar::Station.to_latitude('43-48N') == 43.8)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_to_latitude_south
|
58
|
+
assert(Metar::Station.to_latitude('43-48S') == -43.8)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_to_longitude_east
|
62
|
+
assert(Metar::Station.to_longitude('011-12E') == 11.2)
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_to_longitude_west
|
66
|
+
assert(Metar::Station.to_longitude('011-12W') == -11.2)
|
67
|
+
end
|
68
|
+
end
|
metadata
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: metar-parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Joe Yates
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-03-15 00:00:00 +01:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: aasm
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 2
|
29
|
+
- 1
|
30
|
+
- 5
|
31
|
+
version: 2.1.5
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: i18n
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 0
|
43
|
+
- 3
|
44
|
+
- 5
|
45
|
+
version: 0.3.5
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: m9t
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
- 1
|
58
|
+
- 11
|
59
|
+
version: 0.1.11
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
|
+
description: Downloads, parses and presents METAR weather reports
|
63
|
+
email: joe.g.yates@gmail.com
|
64
|
+
executables: []
|
65
|
+
|
66
|
+
extensions: []
|
67
|
+
|
68
|
+
extra_rdoc_files:
|
69
|
+
- README.rdoc
|
70
|
+
- COPYING
|
71
|
+
files:
|
72
|
+
- README.rdoc
|
73
|
+
- COPYING
|
74
|
+
- Rakefile
|
75
|
+
- bin/parse_raw.rb
|
76
|
+
- bin/download_raw.rb
|
77
|
+
- lib/metar.rb
|
78
|
+
- lib/metar/station.rb
|
79
|
+
- lib/metar/raw.rb
|
80
|
+
- lib/metar/parser.rb
|
81
|
+
- lib/metar/data.rb
|
82
|
+
- lib/metar/report.rb
|
83
|
+
- test/all_tests.rb
|
84
|
+
- test/metar_test_helper.rb
|
85
|
+
- test/unit/data_test.rb
|
86
|
+
- test/unit/report_test.rb
|
87
|
+
- test/unit/station_test.rb
|
88
|
+
- test/unit/raw_test.rb
|
89
|
+
- test/unit/parser_test.rb
|
90
|
+
- locales/it.yml
|
91
|
+
- locales/en.yml
|
92
|
+
has_rdoc: true
|
93
|
+
homepage: http://github.com/joeyates/metar-parser
|
94
|
+
licenses: []
|
95
|
+
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options:
|
98
|
+
- --quiet
|
99
|
+
- --title
|
100
|
+
- METAR Weather Report Parser
|
101
|
+
- --main
|
102
|
+
- README.rdoc
|
103
|
+
- --inline-source
|
104
|
+
require_paths:
|
105
|
+
- lib
|
106
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
segments:
|
111
|
+
- 0
|
112
|
+
version: "0"
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
segments:
|
118
|
+
- 0
|
119
|
+
version: "0"
|
120
|
+
requirements: []
|
121
|
+
|
122
|
+
rubyforge_project:
|
123
|
+
rubygems_version: 1.3.6
|
124
|
+
signing_key:
|
125
|
+
specification_version: 3
|
126
|
+
summary: Downloads and parses weather reports
|
127
|
+
test_files:
|
128
|
+
- test/all_tests.rb
|