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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -1
  3. data/Guardfile +1 -1
  4. data/README.md +146 -17
  5. data/aixm.gemspec +3 -1
  6. data/lib/aixm.rb +12 -10
  7. data/lib/aixm/component/base.rb +6 -0
  8. data/lib/aixm/component/class_layer.rb +49 -0
  9. data/lib/aixm/component/geometry.rb +73 -0
  10. data/lib/aixm/component/geometry/arc.rb +53 -0
  11. data/lib/aixm/component/geometry/border.rb +49 -0
  12. data/lib/aixm/component/geometry/circle.rb +56 -0
  13. data/lib/aixm/component/geometry/point.rb +42 -0
  14. data/lib/aixm/component/schedule.rb +45 -0
  15. data/lib/aixm/{vertical/limits.rb → component/vertical_limits.rb} +9 -14
  16. data/lib/aixm/document.rb +30 -19
  17. data/lib/aixm/feature/airspace.rb +60 -29
  18. data/lib/aixm/refinements.rb +49 -2
  19. data/lib/aixm/shortcuts.rb +30 -0
  20. data/lib/aixm/version.rb +1 -1
  21. data/spec/factory.rb +42 -25
  22. data/spec/lib/aixm/component/class_layer_spec.rb +74 -0
  23. data/spec/lib/aixm/{horizontal → component/geometry}/arc_spec.rb +11 -11
  24. data/spec/lib/aixm/component/geometry/border_spec.rb +30 -0
  25. data/spec/lib/aixm/{horizontal → component/geometry}/circle_spec.rb +8 -8
  26. data/spec/lib/aixm/{horizontal → component/geometry}/point_spec.rb +7 -7
  27. data/spec/lib/aixm/{geometry_spec.rb → component/geometry_spec.rb} +39 -40
  28. data/spec/lib/aixm/component/schedule_spec.rb +33 -0
  29. data/spec/lib/aixm/{vertical/limits_spec.rb → component/vertical_limits_spec.rb} +10 -10
  30. data/spec/lib/aixm/document_spec.rb +97 -36
  31. data/spec/lib/aixm/feature/airspace_spec.rb +230 -71
  32. data/spec/lib/aixm/refinements_spec.rb +52 -12
  33. metadata +30 -23
  34. data/lib/aixm/constants.rb +0 -6
  35. data/lib/aixm/geometry.rb +0 -71
  36. data/lib/aixm/horizontal/arc.rb +0 -50
  37. data/lib/aixm/horizontal/border.rb +0 -45
  38. data/lib/aixm/horizontal/circle.rb +0 -53
  39. data/lib/aixm/horizontal/point.rb +0 -39
  40. 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 :valid? do
9
+ describe :complete? do
10
10
  it "must fail validation" do
11
- subject.wont_be :valid?
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
- subject do
24
- AIXM::Factory.polygon_airspace
25
- end
17
+ context "with one class layer" do
18
+ subject do
19
+ AIXM::Factory.polygon_airspace
20
+ end
26
21
 
27
- describe :valid? do
28
- it "must pass validation" do
29
- subject.must_be :valid?
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
- describe :to_digest do
34
- it "must return digest of payload" do
35
- subject.to_digest.must_equal '7F466CA0'
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
- describe :to_xml do
40
- it "must build correct XML with OFM extensions" do
41
- subject.to_xml(:OFM).must_equal <<~END
42
- <Ase xt_classLayersAvail="false">
43
- <AseUid mid="7F466CA0" newEntity="true">
44
- <codeType>D</codeType>
45
- <codeId>7F466CA0</codeId>
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>7F466CA0</codeId>
42
+ <codeId>#{digest}</codeId>
69
43
  </AseUid>
70
- </AbdUid>
71
- <Avx>
72
- <codeType>CWA</codeType>
73
- <geoLat>475133.00N</geoLat>
74
- <geoLong>0073336.00E</geoLong>
75
- <codeDatum>WGE</codeDatum>
76
- <geoLatArc>475415.00N</geoLatArc>
77
- <geoLongArc>0073348.00E</geoLongArc>
78
- </Avx>
79
- <Avx>
80
- <codeType>FNT</codeType>
81
- <geoLat>475637.00N</geoLat>
82
- <geoLong>0073545.00E</geoLong>
83
- <codeDatum>WGE</codeDatum>
84
- </Avx>
85
- <Avx>
86
- <codeType>GRC</codeType>
87
- <geoLat>475133.00N</geoLat>
88
- <geoLong>0073336.00E</geoLong>
89
- <codeDatum>WGE</codeDatum>
90
- </Avx>
91
- </Abd>
92
- END
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 Digest::MD5.hexdigest('a')[0, 8].upcase
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 Digest::MD5.hexdigest('a|b')[0, 8].upcase
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 Digest::MD5.hexdigest('5')[0, 8].upcase
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 Digest::MD5.hexdigest('5.0')[0, 8].upcase
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 Digest::MD5.hexdigest('true|false')[0, 8].upcase
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 Digest::MD5.hexdigest('')[0, 8].upcase
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
- 2.times.with_index do |degrees|
119
- 60.times.with_index do |minutes|
120
- 60.times.with_index do |seconds|
121
- 100.times.with_index do |fractions|
122
- subject = %q(%03d°%02d'%02d.%02d") % [degrees, minutes, seconds, fractions]
123
- subject.to_dd.to_dms.must_equal subject
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.0
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-14 00:00:00.000000000 Z
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/constants.rb
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: http://www.bitcetera.com/products/aixm
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: '0'
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