aixm 0.1.0 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -1
- data/Guardfile +1 -1
- data/README.md +146 -17
- data/aixm.gemspec +3 -1
- data/lib/aixm.rb +12 -10
- data/lib/aixm/component/base.rb +6 -0
- data/lib/aixm/component/class_layer.rb +49 -0
- data/lib/aixm/component/geometry.rb +73 -0
- data/lib/aixm/component/geometry/arc.rb +53 -0
- data/lib/aixm/component/geometry/border.rb +49 -0
- data/lib/aixm/component/geometry/circle.rb +56 -0
- data/lib/aixm/component/geometry/point.rb +42 -0
- data/lib/aixm/component/schedule.rb +45 -0
- data/lib/aixm/{vertical/limits.rb → component/vertical_limits.rb} +9 -14
- data/lib/aixm/document.rb +30 -19
- data/lib/aixm/feature/airspace.rb +60 -29
- data/lib/aixm/refinements.rb +49 -2
- data/lib/aixm/shortcuts.rb +30 -0
- data/lib/aixm/version.rb +1 -1
- data/spec/factory.rb +42 -25
- data/spec/lib/aixm/component/class_layer_spec.rb +74 -0
- data/spec/lib/aixm/{horizontal → component/geometry}/arc_spec.rb +11 -11
- data/spec/lib/aixm/component/geometry/border_spec.rb +30 -0
- data/spec/lib/aixm/{horizontal → component/geometry}/circle_spec.rb +8 -8
- data/spec/lib/aixm/{horizontal → component/geometry}/point_spec.rb +7 -7
- data/spec/lib/aixm/{geometry_spec.rb → component/geometry_spec.rb} +39 -40
- data/spec/lib/aixm/component/schedule_spec.rb +33 -0
- data/spec/lib/aixm/{vertical/limits_spec.rb → component/vertical_limits_spec.rb} +10 -10
- data/spec/lib/aixm/document_spec.rb +97 -36
- data/spec/lib/aixm/feature/airspace_spec.rb +230 -71
- data/spec/lib/aixm/refinements_spec.rb +52 -12
- metadata +30 -23
- data/lib/aixm/constants.rb +0 -6
- data/lib/aixm/geometry.rb +0 -71
- data/lib/aixm/horizontal/arc.rb +0 -50
- data/lib/aixm/horizontal/border.rb +0 -45
- data/lib/aixm/horizontal/circle.rb +0 -53
- data/lib/aixm/horizontal/point.rb +0 -39
- data/spec/lib/aixm/horizontal/border_spec.rb +0 -47
@@ -6,90 +6,249 @@ describe AIXM::Feature::Airspace do
|
|
6
6
|
AIXM::Feature::Airspace.new(name: 'foobar', type: 'D')
|
7
7
|
end
|
8
8
|
|
9
|
-
describe :
|
9
|
+
describe :complete? do
|
10
10
|
it "must fail validation" do
|
11
|
-
subject.wont_be :
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
describe :vertical_limits= do
|
16
|
-
it "won't accept invalid vertical limits" do
|
17
|
-
-> { subject.vertical_limits=0 }.must_raise ArgumentError
|
11
|
+
subject.wont_be :complete?
|
18
12
|
end
|
19
13
|
end
|
20
14
|
end
|
21
15
|
|
22
16
|
context "complete" do
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
context "with one class layer" do
|
18
|
+
subject do
|
19
|
+
AIXM::Factory.polygon_airspace
|
20
|
+
end
|
26
21
|
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
describe :complete? do
|
23
|
+
it "must pass validation" do
|
24
|
+
subject.must_be :complete?
|
25
|
+
end
|
30
26
|
end
|
31
|
-
end
|
32
27
|
|
33
|
-
|
34
|
-
|
35
|
-
|
28
|
+
describe :to_digest do
|
29
|
+
it "must return digest of payload" do
|
30
|
+
subject.to_digest.must_equal 202650074
|
31
|
+
end
|
36
32
|
end
|
37
|
-
end
|
38
33
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
<
|
46
|
-
</AseUid>
|
47
|
-
<txtName>POLYGON AIRSPACE</txtName>
|
48
|
-
<codeDistVerUpper>STD</codeDistVerUpper>
|
49
|
-
<valDistVerUpper>65</valDistVerUpper>
|
50
|
-
<uomDistVerUpper>FL</uomDistVerUpper>
|
51
|
-
<codeDistVerLower>STD</codeDistVerLower>
|
52
|
-
<valDistVerLower>45</valDistVerLower>
|
53
|
-
<uomDistVerLower>FL</uomDistVerLower>
|
54
|
-
<codeDistVerMax>ALT</codeDistVerMax>
|
55
|
-
<valDistVerMax>6000</valDistVerMax>
|
56
|
-
<uomDistVerMax>FT</uomDistVerMax>
|
57
|
-
<codeDistVerMnm>HEI</codeDistVerMnm>
|
58
|
-
<valDistVerMnm>3000</valDistVerMnm>
|
59
|
-
<uomDistVerMnm>FT</uomDistVerMnm>
|
60
|
-
<txtRmk>polygon airspace</txtRmk>
|
61
|
-
<xt_txtRmk>polygon airspace</xt_txtRmk>
|
62
|
-
<xt_selAvail>false</xt_selAvail>
|
63
|
-
</Ase>
|
64
|
-
<Abd>
|
65
|
-
<AbdUid>
|
66
|
-
<AseUid mid="7F466CA0" newEntity="true">
|
34
|
+
describe :to_xml do
|
35
|
+
it "must build correct XML with OFM extensions" do
|
36
|
+
digest = subject.to_digest
|
37
|
+
subject.to_xml(:OFM).must_equal <<~"END"
|
38
|
+
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
39
|
+
<Ase xt_classLayersAvail="false">
|
40
|
+
<AseUid mid="#{digest}" newEntity="true">
|
67
41
|
<codeType>D</codeType>
|
68
|
-
<codeId
|
42
|
+
<codeId>#{digest}</codeId>
|
69
43
|
</AseUid>
|
70
|
-
|
71
|
-
|
72
|
-
<
|
73
|
-
<
|
74
|
-
<
|
75
|
-
<
|
76
|
-
<
|
77
|
-
<
|
78
|
-
|
79
|
-
|
80
|
-
<
|
81
|
-
<
|
82
|
-
<
|
83
|
-
<
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
<
|
89
|
-
<
|
90
|
-
</
|
91
|
-
|
92
|
-
|
44
|
+
<txtLocalType>POLYGON</txtLocalType>
|
45
|
+
<txtName>POLYGON AIRSPACE</txtName>
|
46
|
+
<codeClass>C</codeClass>
|
47
|
+
<codeDistVerUpper>STD</codeDistVerUpper>
|
48
|
+
<valDistVerUpper>65</valDistVerUpper>
|
49
|
+
<uomDistVerUpper>FL</uomDistVerUpper>
|
50
|
+
<codeDistVerLower>STD</codeDistVerLower>
|
51
|
+
<valDistVerLower>45</valDistVerLower>
|
52
|
+
<uomDistVerLower>FL</uomDistVerLower>
|
53
|
+
<codeDistVerMax>ALT</codeDistVerMax>
|
54
|
+
<valDistVerMax>6000</valDistVerMax>
|
55
|
+
<uomDistVerMax>FT</uomDistVerMax>
|
56
|
+
<codeDistVerMnm>HEI</codeDistVerMnm>
|
57
|
+
<valDistVerMnm>3000</valDistVerMnm>
|
58
|
+
<uomDistVerMnm>FT</uomDistVerMnm>
|
59
|
+
<Att>
|
60
|
+
<codeWorkHr>H24</codeWorkHr>
|
61
|
+
</Att>
|
62
|
+
<txtRmk>polygon airspace</txtRmk>
|
63
|
+
<xt_selAvail>false</xt_selAvail>
|
64
|
+
</Ase>
|
65
|
+
<Abd>
|
66
|
+
<AbdUid>
|
67
|
+
<AseUid mid="#{digest}" newEntity="true">
|
68
|
+
<codeType>D</codeType>
|
69
|
+
<codeId>#{digest}</codeId>
|
70
|
+
</AseUid>
|
71
|
+
</AbdUid>
|
72
|
+
<Avx>
|
73
|
+
<codeType>CWA</codeType>
|
74
|
+
<geoLat>47.85916667N</geoLat>
|
75
|
+
<geoLong>7.56000000E</geoLong>
|
76
|
+
<codeDatum>WGE</codeDatum>
|
77
|
+
<geoLatArc>47.90416667N</geoLatArc>
|
78
|
+
<geoLongArc>7.56333333E</geoLongArc>
|
79
|
+
</Avx>
|
80
|
+
<Avx>
|
81
|
+
<codeType>FNT</codeType>
|
82
|
+
<geoLat>47.94361111N</geoLat>
|
83
|
+
<geoLong>7.59583333E</geoLong>
|
84
|
+
<codeDatum>WGE</codeDatum>
|
85
|
+
<GbrUid>
|
86
|
+
<txtName>FRANCE_GERMANY</txtName>
|
87
|
+
</GbrUid>
|
88
|
+
</Avx>
|
89
|
+
<Avx>
|
90
|
+
<codeType>GRC</codeType>
|
91
|
+
<geoLat>47.85916667N</geoLat>
|
92
|
+
<geoLong>7.56000000E</geoLong>
|
93
|
+
<codeDatum>WGE</codeDatum>
|
94
|
+
</Avx>
|
95
|
+
</Abd>
|
96
|
+
END
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context "with two class layers" do
|
101
|
+
subject do
|
102
|
+
AIXM::Factory.polygon_airspace.tap do |airspace|
|
103
|
+
airspace.class_layers << AIXM::Factory.class_layer
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
describe :complete? do
|
108
|
+
it "must pass validation" do
|
109
|
+
subject.must_be :complete?
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe :to_digest do
|
114
|
+
it "must return digest of payload" do
|
115
|
+
subject.to_digest.must_equal 880919413
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
describe :to_xml do
|
120
|
+
it "must build correct XML with OFM extensions" do
|
121
|
+
digest = subject.to_digest
|
122
|
+
subject.to_xml(:OFM).must_equal <<~"END"
|
123
|
+
<!-- Airspace: [D] POLYGON AIRSPACE -->
|
124
|
+
<Ase xt_classLayersAvail="true">
|
125
|
+
<AseUid mid="#{digest}" newEntity="true">
|
126
|
+
<codeType>D</codeType>
|
127
|
+
<codeId>#{digest}</codeId>
|
128
|
+
</AseUid>
|
129
|
+
<txtLocalType>POLYGON</txtLocalType>
|
130
|
+
<txtName>POLYGON AIRSPACE</txtName>
|
131
|
+
<codeClass>C</codeClass>
|
132
|
+
<codeDistVerUpper>STD</codeDistVerUpper>
|
133
|
+
<valDistVerUpper>65</valDistVerUpper>
|
134
|
+
<uomDistVerUpper>FL</uomDistVerUpper>
|
135
|
+
<codeDistVerLower>STD</codeDistVerLower>
|
136
|
+
<valDistVerLower>45</valDistVerLower>
|
137
|
+
<uomDistVerLower>FL</uomDistVerLower>
|
138
|
+
<codeDistVerMax>ALT</codeDistVerMax>
|
139
|
+
<valDistVerMax>6000</valDistVerMax>
|
140
|
+
<uomDistVerMax>FT</uomDistVerMax>
|
141
|
+
<codeDistVerMnm>HEI</codeDistVerMnm>
|
142
|
+
<valDistVerMnm>3000</valDistVerMnm>
|
143
|
+
<uomDistVerMnm>FT</uomDistVerMnm>
|
144
|
+
<Att>
|
145
|
+
<codeWorkHr>H24</codeWorkHr>
|
146
|
+
</Att>
|
147
|
+
<txtRmk>polygon airspace</txtRmk>
|
148
|
+
<xt_selAvail>false</xt_selAvail>
|
149
|
+
</Ase>
|
150
|
+
<Abd>
|
151
|
+
<AbdUid>
|
152
|
+
<AseUid mid="#{digest}" newEntity="true">
|
153
|
+
<codeType>D</codeType>
|
154
|
+
<codeId>#{digest}</codeId>
|
155
|
+
</AseUid>
|
156
|
+
</AbdUid>
|
157
|
+
<Avx>
|
158
|
+
<codeType>CWA</codeType>
|
159
|
+
<geoLat>47.85916667N</geoLat>
|
160
|
+
<geoLong>7.56000000E</geoLong>
|
161
|
+
<codeDatum>WGE</codeDatum>
|
162
|
+
<geoLatArc>47.90416667N</geoLatArc>
|
163
|
+
<geoLongArc>7.56333333E</geoLongArc>
|
164
|
+
</Avx>
|
165
|
+
<Avx>
|
166
|
+
<codeType>FNT</codeType>
|
167
|
+
<geoLat>47.94361111N</geoLat>
|
168
|
+
<geoLong>7.59583333E</geoLong>
|
169
|
+
<codeDatum>WGE</codeDatum>
|
170
|
+
<GbrUid>
|
171
|
+
<txtName>FRANCE_GERMANY</txtName>
|
172
|
+
</GbrUid>
|
173
|
+
</Avx>
|
174
|
+
<Avx>
|
175
|
+
<codeType>GRC</codeType>
|
176
|
+
<geoLat>47.85916667N</geoLat>
|
177
|
+
<geoLong>7.56000000E</geoLong>
|
178
|
+
<codeDatum>WGE</codeDatum>
|
179
|
+
</Avx>
|
180
|
+
</Abd>
|
181
|
+
<Adg>
|
182
|
+
<AdgUid>
|
183
|
+
<AseUid mid="#{digest}.1">
|
184
|
+
<codeType>CLASS</codeType>
|
185
|
+
</AseUid>
|
186
|
+
</AdgUid>
|
187
|
+
<AdgUid>
|
188
|
+
<AseUid mid="#{digest}.2">
|
189
|
+
<codeType>CLASS</codeType>
|
190
|
+
</AseUid>
|
191
|
+
</AdgUid>
|
192
|
+
<AseUidSameExtent mid="#{digest}"/>
|
193
|
+
</Adg>
|
194
|
+
<Ase>
|
195
|
+
<AseUid mid="#{digest}.1">
|
196
|
+
<codeType>CLASS</codeType>
|
197
|
+
</AseUid>
|
198
|
+
<txtName>POLYGON AIRSPACE</txtName>
|
199
|
+
<codeClass>C</codeClass>
|
200
|
+
<codeDistVerUpper>STD</codeDistVerUpper>
|
201
|
+
<valDistVerUpper>65</valDistVerUpper>
|
202
|
+
<uomDistVerUpper>FL</uomDistVerUpper>
|
203
|
+
<codeDistVerLower>STD</codeDistVerLower>
|
204
|
+
<valDistVerLower>45</valDistVerLower>
|
205
|
+
<uomDistVerLower>FL</uomDistVerLower>
|
206
|
+
<codeDistVerMax>ALT</codeDistVerMax>
|
207
|
+
<valDistVerMax>6000</valDistVerMax>
|
208
|
+
<uomDistVerMax>FT</uomDistVerMax>
|
209
|
+
<codeDistVerMnm>HEI</codeDistVerMnm>
|
210
|
+
<valDistVerMnm>3000</valDistVerMnm>
|
211
|
+
<uomDistVerMnm>FT</uomDistVerMnm>
|
212
|
+
</Ase>
|
213
|
+
<Ase>
|
214
|
+
<AseUid mid="#{digest}.2">
|
215
|
+
<codeType>CLASS</codeType>
|
216
|
+
</AseUid>
|
217
|
+
<txtName>POLYGON AIRSPACE</txtName>
|
218
|
+
<codeClass>C</codeClass>
|
219
|
+
<codeDistVerUpper>STD</codeDistVerUpper>
|
220
|
+
<valDistVerUpper>65</valDistVerUpper>
|
221
|
+
<uomDistVerUpper>FL</uomDistVerUpper>
|
222
|
+
<codeDistVerLower>STD</codeDistVerLower>
|
223
|
+
<valDistVerLower>45</valDistVerLower>
|
224
|
+
<uomDistVerLower>FL</uomDistVerLower>
|
225
|
+
<codeDistVerMax>ALT</codeDistVerMax>
|
226
|
+
<valDistVerMax>6000</valDistVerMax>
|
227
|
+
<uomDistVerMax>FT</uomDistVerMax>
|
228
|
+
<codeDistVerMnm>HEI</codeDistVerMnm>
|
229
|
+
<valDistVerMnm>3000</valDistVerMnm>
|
230
|
+
<uomDistVerMnm>FT</uomDistVerMnm>
|
231
|
+
</Ase>
|
232
|
+
END
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
context "partially complete" do
|
239
|
+
it "must build correct XML without short name" do
|
240
|
+
subject = AIXM::Factory.polygon_airspace(short_name: nil)
|
241
|
+
subject.to_xml.wont_match(/txtLocalType/)
|
242
|
+
end
|
243
|
+
|
244
|
+
it "must build correct XML with identical name and short name" do
|
245
|
+
subject = AIXM::Factory.polygon_airspace(short_name: 'POLYGON AIRSPACE')
|
246
|
+
subject.to_xml.wont_match(/txtLocalType/)
|
247
|
+
end
|
248
|
+
|
249
|
+
it "must build correct XML without schedule" do
|
250
|
+
subject = AIXM::Factory.polygon_airspace(schedule: nil)
|
251
|
+
subject.to_xml.wont_match(/codeWorkHr/)
|
93
252
|
end
|
94
253
|
end
|
95
254
|
end
|
@@ -4,29 +4,40 @@ using AIXM::Refinements
|
|
4
4
|
|
5
5
|
describe AIXM::Refinements do
|
6
6
|
|
7
|
+
describe 'Array#>>' do
|
8
|
+
it "must be a shortcut of include?" do
|
9
|
+
([0] >> 1).must_equal [0].include?(1)
|
10
|
+
([1] >> 1).must_equal [1].include?(1)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
7
14
|
describe 'Array#to_digest' do
|
8
15
|
it "must digest single string" do
|
9
|
-
%w(a).to_digest.must_equal
|
16
|
+
%w(a).to_digest.must_equal 140922416
|
10
17
|
end
|
11
18
|
|
12
19
|
it "must digest double string" do
|
13
|
-
%w(a b).to_digest.must_equal
|
20
|
+
%w(a b).to_digest.must_equal 307557246
|
14
21
|
end
|
15
22
|
|
16
23
|
it "must digest integer" do
|
17
|
-
[5].to_digest.must_equal
|
24
|
+
[5].to_digest.must_equal 60537198
|
25
|
+
end
|
26
|
+
|
27
|
+
it "must digest nested array" do
|
28
|
+
[1, [2, 3]].to_digest.must_equal 960981551
|
18
29
|
end
|
19
30
|
|
20
31
|
it "must digest float" do
|
21
|
-
[5.0].to_digest.must_equal
|
32
|
+
[5.0].to_digest.must_equal 786519620
|
22
33
|
end
|
23
34
|
|
24
35
|
it "must digest boolean" do
|
25
|
-
[true, false].to_digest.must_equal
|
36
|
+
[true, false].to_digest.must_equal 796799143
|
26
37
|
end
|
27
38
|
|
28
39
|
it "must digest nil" do
|
29
|
-
[nil].to_digest.must_equal
|
40
|
+
[nil].to_digest.must_equal 831357815
|
30
41
|
end
|
31
42
|
end
|
32
43
|
|
@@ -41,6 +52,12 @@ describe AIXM::Refinements do
|
|
41
52
|
end
|
42
53
|
end
|
43
54
|
|
55
|
+
describe 'String#uptrans' do
|
56
|
+
it "must transliterate illegal characters" do
|
57
|
+
'DÉJÀ SCHÖN'.uptrans.must_equal 'DEJA SCHOEN'
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
44
61
|
describe 'String#to_dd' do
|
45
62
|
it "must convert +6.2 DMS to DD" do
|
46
63
|
%q(12°34'56.78").to_dd.must_equal 12.58243888888889
|
@@ -115,15 +132,19 @@ describe AIXM::Refinements do
|
|
115
132
|
end
|
116
133
|
|
117
134
|
it "must do all possible roundtrip conversions" do
|
118
|
-
|
119
|
-
|
120
|
-
60.times.with_index do |
|
121
|
-
|
122
|
-
|
123
|
-
|
135
|
+
if ENV['SPEC_SCOPE'] == 'all'
|
136
|
+
2.times.with_index do |degrees|
|
137
|
+
60.times.with_index do |minutes|
|
138
|
+
60.times.with_index do |seconds|
|
139
|
+
100.times.with_index do |fractions|
|
140
|
+
subject = %q(%03d°%02d'%02d.%02d") % [degrees, minutes, seconds, fractions]
|
141
|
+
subject.to_dd.to_dms.must_equal subject
|
142
|
+
end
|
124
143
|
end
|
125
144
|
end
|
126
145
|
end
|
146
|
+
else
|
147
|
+
skip
|
127
148
|
end
|
128
149
|
end
|
129
150
|
end
|
@@ -177,4 +198,23 @@ describe AIXM::Refinements do
|
|
177
198
|
1.37595556.to_dms(0).must_equal %q(1°22'33.44")
|
178
199
|
end
|
179
200
|
end
|
201
|
+
|
202
|
+
describe 'Float#to_km' do
|
203
|
+
it "must convert km to km" do
|
204
|
+
10.3.to_km(from: :km).must_equal 10.3
|
205
|
+
end
|
206
|
+
|
207
|
+
it "must convert m to km" do
|
208
|
+
10700.0.to_km(from: :m).must_be_close_to 10.7
|
209
|
+
end
|
210
|
+
|
211
|
+
it "must convert nm to km" do
|
212
|
+
3.7.to_km(from: :nm).must_be_close_to 6.8524
|
213
|
+
end
|
214
|
+
|
215
|
+
it "must convert ft to km" do
|
216
|
+
3200.0.to_km(from: :ft).must_be_close_to 0.97536
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
180
220
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aixm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sven Schwyn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -168,39 +168,44 @@ files:
|
|
168
168
|
- Rakefile
|
169
169
|
- aixm.gemspec
|
170
170
|
- lib/aixm.rb
|
171
|
-
- lib/aixm/
|
171
|
+
- lib/aixm/component/base.rb
|
172
|
+
- lib/aixm/component/class_layer.rb
|
173
|
+
- lib/aixm/component/geometry.rb
|
174
|
+
- lib/aixm/component/geometry/arc.rb
|
175
|
+
- lib/aixm/component/geometry/border.rb
|
176
|
+
- lib/aixm/component/geometry/circle.rb
|
177
|
+
- lib/aixm/component/geometry/point.rb
|
178
|
+
- lib/aixm/component/schedule.rb
|
179
|
+
- lib/aixm/component/vertical_limits.rb
|
172
180
|
- lib/aixm/document.rb
|
173
181
|
- lib/aixm/feature/airspace.rb
|
174
|
-
- lib/aixm/geometry.rb
|
175
|
-
- lib/aixm/horizontal/arc.rb
|
176
|
-
- lib/aixm/horizontal/border.rb
|
177
|
-
- lib/aixm/horizontal/circle.rb
|
178
|
-
- lib/aixm/horizontal/point.rb
|
179
182
|
- lib/aixm/refinements.rb
|
180
183
|
- lib/aixm/schemas/4.5/AIXM-DataTypes.xsd
|
181
184
|
- lib/aixm/schemas/4.5/AIXM-Features.xsd
|
182
185
|
- lib/aixm/schemas/4.5/AIXM-Snapshot.xsd
|
186
|
+
- lib/aixm/shortcuts.rb
|
183
187
|
- lib/aixm/version.rb
|
184
|
-
- lib/aixm/vertical/limits.rb
|
185
188
|
- lib/aixm/xy.rb
|
186
189
|
- lib/aixm/z.rb
|
187
190
|
- spec/factory.rb
|
191
|
+
- spec/lib/aixm/component/class_layer_spec.rb
|
192
|
+
- spec/lib/aixm/component/geometry/arc_spec.rb
|
193
|
+
- spec/lib/aixm/component/geometry/border_spec.rb
|
194
|
+
- spec/lib/aixm/component/geometry/circle_spec.rb
|
195
|
+
- spec/lib/aixm/component/geometry/point_spec.rb
|
196
|
+
- spec/lib/aixm/component/geometry_spec.rb
|
197
|
+
- spec/lib/aixm/component/schedule_spec.rb
|
198
|
+
- spec/lib/aixm/component/vertical_limits_spec.rb
|
188
199
|
- spec/lib/aixm/document_spec.rb
|
189
200
|
- spec/lib/aixm/feature/airspace_spec.rb
|
190
|
-
- spec/lib/aixm/geometry_spec.rb
|
191
|
-
- spec/lib/aixm/horizontal/arc_spec.rb
|
192
|
-
- spec/lib/aixm/horizontal/border_spec.rb
|
193
|
-
- spec/lib/aixm/horizontal/circle_spec.rb
|
194
|
-
- spec/lib/aixm/horizontal/point_spec.rb
|
195
201
|
- spec/lib/aixm/refinements_spec.rb
|
196
202
|
- spec/lib/aixm/version_spec.rb
|
197
|
-
- spec/lib/aixm/vertical/limits_spec.rb
|
198
203
|
- spec/lib/aixm/xy_spec.rb
|
199
204
|
- spec/lib/aixm/z_spec.rb
|
200
205
|
- spec/sounds/failure.mp3
|
201
206
|
- spec/sounds/success.mp3
|
202
207
|
- spec/spec_helper.rb
|
203
|
-
homepage:
|
208
|
+
homepage: https://github.com/svoop/aixm
|
204
209
|
licenses:
|
205
210
|
- MIT
|
206
211
|
metadata: {}
|
@@ -212,7 +217,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
217
|
requirements:
|
213
218
|
- - ">="
|
214
219
|
- !ruby/object:Gem::Version
|
215
|
-
version: '
|
220
|
+
version: '2.5'
|
216
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
222
|
requirements:
|
218
223
|
- - ">="
|
@@ -226,16 +231,18 @@ specification_version: 4
|
|
226
231
|
summary: Aeronautical Information Exchange Model (AIXM 4.5).
|
227
232
|
test_files:
|
228
233
|
- spec/factory.rb
|
234
|
+
- spec/lib/aixm/component/class_layer_spec.rb
|
235
|
+
- spec/lib/aixm/component/geometry/arc_spec.rb
|
236
|
+
- spec/lib/aixm/component/geometry/border_spec.rb
|
237
|
+
- spec/lib/aixm/component/geometry/circle_spec.rb
|
238
|
+
- spec/lib/aixm/component/geometry/point_spec.rb
|
239
|
+
- spec/lib/aixm/component/geometry_spec.rb
|
240
|
+
- spec/lib/aixm/component/schedule_spec.rb
|
241
|
+
- spec/lib/aixm/component/vertical_limits_spec.rb
|
229
242
|
- spec/lib/aixm/document_spec.rb
|
230
243
|
- spec/lib/aixm/feature/airspace_spec.rb
|
231
|
-
- spec/lib/aixm/geometry_spec.rb
|
232
|
-
- spec/lib/aixm/horizontal/arc_spec.rb
|
233
|
-
- spec/lib/aixm/horizontal/border_spec.rb
|
234
|
-
- spec/lib/aixm/horizontal/circle_spec.rb
|
235
|
-
- spec/lib/aixm/horizontal/point_spec.rb
|
236
244
|
- spec/lib/aixm/refinements_spec.rb
|
237
245
|
- spec/lib/aixm/version_spec.rb
|
238
|
-
- spec/lib/aixm/vertical/limits_spec.rb
|
239
246
|
- spec/lib/aixm/xy_spec.rb
|
240
247
|
- spec/lib/aixm/z_spec.rb
|
241
248
|
- spec/sounds/failure.mp3
|