aixm 0.1.0 → 0.1.3
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.
- 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
|