aipp 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -2
  4. data/CHANGELOG.md +15 -0
  5. data/README.md +122 -37
  6. data/TODO.md +4 -0
  7. data/aipp.gemspec +8 -3
  8. data/lib/aipp.rb +14 -2
  9. data/lib/aipp/aip.rb +44 -29
  10. data/lib/aipp/downloader.rb +115 -0
  11. data/lib/aipp/executable.rb +6 -6
  12. data/lib/aipp/parser.rb +23 -23
  13. data/lib/aipp/patcher.rb +47 -0
  14. data/lib/aipp/pdf.rb +123 -0
  15. data/lib/aipp/regions/LF/AD-1.3.rb +162 -0
  16. data/lib/aipp/regions/LF/AD-1.3.yml +511 -0
  17. data/lib/aipp/regions/LF/AD-1.6.rb +31 -0
  18. data/lib/aipp/regions/LF/AD-2.rb +316 -0
  19. data/lib/aipp/regions/LF/AD-2.yml +185 -0
  20. data/lib/aipp/regions/LF/AD-3.1.rb-NEW +11 -0
  21. data/lib/aipp/regions/LF/ENR-2.1.rb +25 -24
  22. data/lib/aipp/regions/LF/ENR-4.1.rb +24 -23
  23. data/lib/aipp/regions/LF/ENR-4.3.rb +8 -6
  24. data/lib/aipp/regions/LF/ENR-5.1.rb +32 -22
  25. data/lib/aipp/regions/LF/ENR-5.5.rb-NEW +11 -0
  26. data/lib/aipp/regions/LF/helpers/AD_radio.rb +90 -0
  27. data/lib/aipp/regions/LF/helpers/URL.rb +26 -0
  28. data/lib/aipp/regions/LF/helpers/common.rb +186 -0
  29. data/lib/aipp/version.rb +1 -1
  30. data/lib/core_ext/enumerable.rb +52 -0
  31. data/lib/core_ext/nil_class.rb +10 -0
  32. data/lib/core_ext/object.rb +42 -0
  33. data/lib/core_ext/string.rb +105 -0
  34. data/spec/fixtures/archive.zip +0 -0
  35. data/spec/fixtures/document.pdf +0 -0
  36. data/spec/fixtures/document.pdf.json +1 -0
  37. data/spec/fixtures/new.html +6 -0
  38. data/spec/fixtures/new.pdf +0 -0
  39. data/spec/fixtures/new.txt +1 -0
  40. data/spec/lib/aipp/downloader_spec.rb +81 -0
  41. data/spec/lib/aipp/patcher_spec.rb +46 -0
  42. data/spec/lib/aipp/pdf_spec.rb +124 -0
  43. data/spec/lib/core_ext/enumberable_spec.rb +76 -0
  44. data/spec/lib/core_ext/nil_class_spec.rb +11 -0
  45. data/spec/lib/core_ext/string_spec.rb +88 -0
  46. data/spec/spec_helper.rb +1 -0
  47. metadata +123 -23
  48. data/lib/aipp/progress.rb +0 -40
  49. data/lib/aipp/refinements.rb +0 -114
  50. data/lib/aipp/regions/LF/helper.rb +0 -177
  51. data/spec/lib/aipp/refinements_spec.rb +0 -123
@@ -0,0 +1,46 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ class Shoe
4
+ include AIPP::Patcher
5
+
6
+ attr_accessor :size
7
+
8
+ patch Shoe, :size do |parser, object, value|
9
+ case value
10
+ when 'S' then 36
11
+ when 'one-size-fits-all' then nil
12
+ else throw(:abort)
13
+ end
14
+ end
15
+ end
16
+
17
+ describe AIPP::Patcher do
18
+ subject do
19
+ Shoe.new.attach_patches
20
+ end
21
+
22
+ context "with patches attached" do
23
+ after do
24
+ subject.detach_patches
25
+ end
26
+
27
+ it "overwrites with non-nil values" do
28
+ subject.tap { |s| s.size = 'S' }.size.must_equal 36
29
+ end
30
+
31
+ it "overwrite with nil values" do
32
+ subject.tap { |s| s.size = 'one-size-fits-all' }.size.must_be_nil
33
+ end
34
+
35
+ it "skips overwrite if abort is thrown" do
36
+ subject.tap { |s| s.size = 42 }.size.must_equal 42
37
+ end
38
+ end
39
+
40
+ context "with patches detached" do
41
+ it "removes patches" do
42
+ subject.detach_patches
43
+ subject.tap { |s| s.size = 'S' }.size.must_equal 'S'
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,124 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe AIPP::PDF do
4
+ let :fixtures_dir do
5
+ Pathname(__FILE__).join('..', '..', '..', 'fixtures')
6
+ end
7
+
8
+ subject do
9
+ AIPP::PDF.new(fixtures_dir.join('document.pdf'))
10
+ end
11
+
12
+ describe :@page_ranges do
13
+ it "returns an array of page end positions" do
14
+ subject.instance_variable_get(:@page_ranges).must_equal [74, 149, 225]
15
+ end
16
+ end
17
+
18
+ describe :page_for do
19
+ it "finds the page for any given position" do
20
+ subject.send(:page_for, index: 0).must_equal 1
21
+ subject.send(:page_for, index: 50).must_equal 1
22
+ subject.send(:page_for, index: 74).must_equal 1
23
+ subject.send(:page_for, index: 75).must_equal 2
24
+ subject.send(:page_for, index: 149).must_equal 2
25
+ subject.send(:page_for, index: 150).must_equal 3
26
+ subject.send(:page_for, index: 223).must_equal 3
27
+ end
28
+ end
29
+
30
+ describe :from do
31
+ it "fences beginning to any position" do
32
+ subject.from(100).range.must_equal (100..223)
33
+ end
34
+
35
+ it "fences beginning to first existing position" do
36
+ subject.from(:begin).range.must_equal (0..223)
37
+ end
38
+ end
39
+
40
+ describe :to do
41
+ it "fences beginning to any position" do
42
+ subject.to(100).range.must_equal (0..100)
43
+ end
44
+
45
+ it "fences beginning to first existing position" do
46
+ subject.to(:end).range.must_equal (0..223)
47
+ end
48
+ end
49
+
50
+ context "without boundaries" do
51
+ describe :text do
52
+ it "returns the entire text" do
53
+ subject.text.must_match /\Apage 1, line 1/
54
+ subject.text.must_match /page 3, line 5\z/
55
+ end
56
+ end
57
+
58
+ describe :each_line do
59
+ it "maps lines to positions" do
60
+ target = [
61
+ ["page 1, line 1\n", 1, false],
62
+ ["page 1, line 2\n", 1, false],
63
+ ["page 1, line 3\n", 1, false],
64
+ ["page 1, line 4\n", 1, false],
65
+ ["page 1, line 5\f", 1, false],
66
+ ["page 2, line 1\n", 2, false],
67
+ ["page 2, line 2\n", 2, false],
68
+ ["page 2, line 3\n", 2, false],
69
+ ["page 2, line 4\n", 2, false],
70
+ ["page 2, line 5\f", 2, false],
71
+ ["page 3, line 1\n", 3, false],
72
+ ["page 3, line 2\n", 3, false],
73
+ ["page 3, line 3\n", 3, false],
74
+ ["page 3, line 4\n", 3, false],
75
+ ["page 3, line 5", 3, true]
76
+ ]
77
+ subject.each_line do |line, page, last|
78
+ target_line, target_page, target_last = target.shift
79
+ line.must_equal target_line
80
+ page.must_equal target_page
81
+ last.must_equal target_last
82
+ end
83
+ end
84
+
85
+ it "returns an enumerator if no block is given" do
86
+ subject.each_line.must_be_instance_of Enumerator
87
+ end
88
+ end
89
+ end
90
+
91
+ context "with boundaries" do
92
+ before do
93
+ subject.from(100).to(200)
94
+ end
95
+
96
+ describe :text do
97
+ it "returns the entire text" do
98
+ subject.text.must_match /\Ane 2/
99
+ subject.text.must_match /page 3\z/
100
+ end
101
+ end
102
+
103
+ describe :each_line do
104
+ it "maps lines to positions" do
105
+ target = [
106
+ ["ne 2\n", 2, false],
107
+ ["page 2, line 3\n", 2, false],
108
+ ["page 2, line 4\n", 2, false],
109
+ ["page 2, line 5\f", 2, false],
110
+ ["page 3, line 1\n", 3, false],
111
+ ["page 3, line 2\n", 3, false],
112
+ ["page 3, line 3\n", 3, false],
113
+ ["page 3", 3, true]
114
+ ]
115
+ subject.each_line do |line, page, last|
116
+ target_line, target_page, target_last = target.shift
117
+ line.must_equal target_line
118
+ page.must_equal target_page
119
+ last.must_equal target_last
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,76 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe Enumerable do
4
+
5
+ describe :split do
6
+ context "by object" do
7
+ it "must split at matching element" do
8
+ [1, 2, 0, 3, 4].split(0).must_equal [[1, 2], [3, 4]]
9
+ end
10
+
11
+ it "won't split when no element matches" do
12
+ [1, 2, 3].split(0).must_equal [[1, 2, 3]]
13
+ end
14
+
15
+ it "won't split zero length enumerable" do
16
+ [].split(0).must_equal []
17
+ end
18
+
19
+ it "must keep leading empty subarrays" do
20
+ [0, 1, 2, 0, 3, 4].split(0).must_equal [[], [1, 2], [3, 4]]
21
+ end
22
+
23
+ it "must keep empty subarrays in the middle" do
24
+ [1, 2, 0, 0, 3, 4].split(0).must_equal [[1, 2], [], [3, 4]]
25
+ end
26
+
27
+ it "must drop trailing empty subarrays" do
28
+ [1, 2, 0, 3, 4, 0].split(0).must_equal [[1, 2], [3, 4]]
29
+ end
30
+ end
31
+
32
+ context "by block" do
33
+ it "must split at matching element" do
34
+ [1, 2, 0, 3, 4].split { |e| e.zero? }.must_equal [[1, 2], [3, 4]]
35
+ end
36
+
37
+ it "won't split when no element matches" do
38
+ [1, 2, 3].split { |e| e.zero? }.must_equal [[1, 2, 3]]
39
+ end
40
+
41
+ it "won't split zero length enumerable" do
42
+ [].split { |e| e.zero? }.must_equal []
43
+ end
44
+
45
+ it "must keep leading empty subarrays" do
46
+ [0, 1, 2, 0, 3, 4].split { |e| e.zero? }.must_equal [[], [1, 2], [3, 4]]
47
+ end
48
+
49
+ it "must keep empty subarrays in the middle" do
50
+ [1, 2, 0, 0, 3, 4].split { |e| e.zero? }.must_equal [[1, 2], [], [3, 4]]
51
+ end
52
+
53
+ it "must drop trailing empty subarrays" do
54
+ [1, 2, 0, 3, 4, 0].split { |e| e.zero? }.must_equal [[1, 2], [3, 4]]
55
+ end
56
+ end
57
+ end
58
+
59
+ describe :group_by_chunks do
60
+ it "fails to group if the first element does not meet the chunk condition" do
61
+ subject = [10, 11, 12, 2, 20, 21 ]
62
+ -> { subject.group_by_chunks { |i| i < 10 } }.must_raise ArgumentError
63
+ end
64
+
65
+ it "must map matching elements to array of subsequent non-matching elements" do
66
+ subject = [1, 10, 11, 12, 2, 20, 21, 3, 30, 31, 32]
67
+ subject.group_by_chunks { |i| i < 10 }.must_equal(1 => [10, 11, 12], 2 => [20, 21], 3 => [30, 31, 32])
68
+ end
69
+
70
+ it "must map matching elements to empty array if no subsequent non-matching elements exist" do
71
+ subject = [1, 10, 11, 12, 2, 3, 30]
72
+ subject.group_by_chunks { |i| i < 10 }.must_equal(1 => [10, 11, 12], 2 => [], 3 => [30])
73
+ end
74
+ end
75
+
76
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe NilClass do
4
+
5
+ describe :blank_to_nil do
6
+ it "must return nil" do
7
+ nil.blank_to_nil.must_be :nil?
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,88 @@
1
+ require_relative '../../spec_helper'
2
+
3
+ describe String do
4
+
5
+ describe :blank_to_nil do
6
+ it "must convert blank to nil" do
7
+ "\n \n ".blank_to_nil.must_be :nil?
8
+ end
9
+
10
+ it "must leave non-blank untouched" do
11
+ "foobar".blank_to_nil.must_equal "foobar"
12
+ end
13
+
14
+ it "must leave non-blank with whitespace untouched" do
15
+ "\nfoo bar\n".blank_to_nil.must_equal "\nfoo bar\n"
16
+ end
17
+ end
18
+
19
+ describe :compact do
20
+ it "must remove unneccessary whitespace" do
21
+ " foo\n\nbar \r".compact.must_equal "foo\nbar"
22
+ "foo\n \nbar".compact.must_equal "foo\nbar"
23
+ " ".compact.must_equal ""
24
+ "\n \r \v ".compact.must_equal ""
25
+ "okay".compact.must_equal "okay"
26
+ end
27
+ end
28
+
29
+ describe :cleanup do
30
+ it "must replace double apostrophes" do
31
+ "the ''Terror'' was a fine ship".cleanup.must_equal 'the "Terror" was a fine ship'
32
+ end
33
+
34
+ it "must replace funky apostrophes and quotes" do
35
+ "from ’a‘ to “b”".cleanup.must_equal %q(from 'a' to "b")
36
+ end
37
+
38
+ it "must remove whitespace within quotes" do
39
+ 'the " best " way to fly'.cleanup.must_equal 'the "best" way to fly'
40
+ %Q(the " best\nway " to fly).cleanup.must_equal %Q(the "best\nway" to fly)
41
+ end
42
+ end
43
+
44
+ describe :unglue do
45
+ it "must insert spaces between camel glued words" do
46
+ "thisString has spaceProblems".unglue.must_equal "this String has space Problems"
47
+ end
48
+
49
+ it "must insert spaces between three-or-more-letter and number-only words" do
50
+ "the first123meters of D25".unglue.must_equal "the first 123 meters of D25"
51
+ end
52
+ end
53
+
54
+ describe :correlate do
55
+ subject do
56
+ %q(Truck "Montréal" en route on N 3 sud)
57
+ end
58
+
59
+ it "must recognize similar words with 5 or more characters" do
60
+ subject.correlate("truck route").must_equal 2
61
+ end
62
+
63
+ it "must recognize street denominators with 2 or more characters" do
64
+ subject.correlate("truck N 3").must_equal 2
65
+ end
66
+
67
+ it "must ignore whitespace in road identifiers" do
68
+ subject.correlate("truck N3").must_equal 2
69
+ end
70
+
71
+ it "must get rid of accents and similar decorations" do
72
+ subject.correlate("truck Montreal").must_equal 2
73
+ end
74
+
75
+ it "must downcase" do
76
+ subject.correlate("truck montreal").must_equal 2
77
+ end
78
+
79
+ it "must honor synonyms" do
80
+ subject.correlate("truck south", ['south', 'sud']).must_equal 2
81
+ end
82
+
83
+ it "must ignore words with less than 5 characters" do
84
+ subject.correlate("en on for").must_equal 0
85
+ end
86
+ end
87
+
88
+ end
@@ -13,6 +13,7 @@ require 'minitest/reporters'
13
13
  Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Sound::Reporter.new]
14
14
 
15
15
  require 'minitest/matchers'
16
+ require 'spy/integration'
16
17
 
17
18
  module AIPP
18
19
  def self.root
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aipp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-12 00:00:00.000000000 Z
11
+ date: 2019-04-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: minitest
42
+ name: minitest-reporters
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: minitest-reporters
56
+ name: minitest-sound
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: minitest-sound
70
+ name: minitest-matchers
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: minitest-matchers
84
+ name: spy
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -126,22 +126,30 @@ dependencies:
126
126
  name: aixm
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
129
  - - ">="
133
130
  - !ruby/object:Gem::Version
134
- version: 0.3.2
131
+ version: 0.3.4
135
132
  type: :runtime
136
133
  prerelease: false
137
134
  version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.3.4
139
+ - !ruby/object:Gem::Dependency
140
+ name: activesupport
141
+ requirement: !ruby/object:Gem::Requirement
138
142
  requirements:
139
143
  - - "~>"
140
144
  - !ruby/object:Gem::Version
141
- version: '0'
142
- - - ">="
145
+ version: '5'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
143
151
  - !ruby/object:Gem::Version
144
- version: 0.3.2
152
+ version: '5'
145
153
  - !ruby/object:Gem::Dependency
146
154
  name: nokogiri
147
155
  requirement: !ruby/object:Gem::Requirement
@@ -170,6 +178,48 @@ dependencies:
170
178
  - - "~>"
171
179
  - !ruby/object:Gem::Version
172
180
  version: '2'
181
+ - !ruby/object:Gem::Dependency
182
+ name: pdf-reader
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '2'
195
+ - !ruby/object:Gem::Dependency
196
+ name: json
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '2'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '2'
209
+ - !ruby/object:Gem::Dependency
210
+ name: rubyzip
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1'
173
223
  - !ruby/object:Gem::Dependency
174
224
  name: colorize
175
225
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +262,20 @@ dependencies:
212
262
  - - "~>"
213
263
  - !ruby/object:Gem::Version
214
264
  version: '1'
265
+ - !ruby/object:Gem::Dependency
266
+ name: pry-stack_explorer
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
215
279
  description: Parser for Aeronautical Information Publications (AIP).
216
280
  email:
217
281
  - ruby@bitcetera.com
@@ -231,27 +295,53 @@ files:
231
295
  - LICENSE.txt
232
296
  - README.md
233
297
  - Rakefile
298
+ - TODO.md
234
299
  - aipp.gemspec
235
300
  - exe/aip2aixm
236
301
  - exe/aip2ofmx
237
302
  - lib/aipp.rb
238
303
  - lib/aipp/aip.rb
239
304
  - lib/aipp/airac.rb
305
+ - lib/aipp/downloader.rb
240
306
  - lib/aipp/executable.rb
241
307
  - lib/aipp/parser.rb
242
- - lib/aipp/progress.rb
243
- - lib/aipp/refinements.rb
308
+ - lib/aipp/patcher.rb
309
+ - lib/aipp/pdf.rb
310
+ - lib/aipp/regions/LF/AD-1.3.rb
311
+ - lib/aipp/regions/LF/AD-1.3.yml
312
+ - lib/aipp/regions/LF/AD-1.6.rb
313
+ - lib/aipp/regions/LF/AD-2.rb
314
+ - lib/aipp/regions/LF/AD-2.yml
315
+ - lib/aipp/regions/LF/AD-3.1.rb-NEW
244
316
  - lib/aipp/regions/LF/ENR-2.1.rb
245
317
  - lib/aipp/regions/LF/ENR-4.1.rb
246
318
  - lib/aipp/regions/LF/ENR-4.3.rb
247
319
  - lib/aipp/regions/LF/ENR-5.1.rb
248
- - lib/aipp/regions/LF/helper.rb
320
+ - lib/aipp/regions/LF/ENR-5.5.rb-NEW
321
+ - lib/aipp/regions/LF/helpers/AD_radio.rb
322
+ - lib/aipp/regions/LF/helpers/URL.rb
323
+ - lib/aipp/regions/LF/helpers/common.rb
249
324
  - lib/aipp/t_hash.rb
250
325
  - lib/aipp/version.rb
326
+ - lib/core_ext/enumerable.rb
327
+ - lib/core_ext/nil_class.rb
328
+ - lib/core_ext/object.rb
329
+ - lib/core_ext/string.rb
330
+ - spec/fixtures/archive.zip
331
+ - spec/fixtures/document.pdf
332
+ - spec/fixtures/document.pdf.json
333
+ - spec/fixtures/new.html
334
+ - spec/fixtures/new.pdf
335
+ - spec/fixtures/new.txt
251
336
  - spec/lib/aipp/airac_spec.rb
252
- - spec/lib/aipp/refinements_spec.rb
337
+ - spec/lib/aipp/downloader_spec.rb
338
+ - spec/lib/aipp/patcher_spec.rb
339
+ - spec/lib/aipp/pdf_spec.rb
253
340
  - spec/lib/aipp/t_hash_spec.rb
254
341
  - spec/lib/aipp/version_spec.rb
342
+ - spec/lib/core_ext/enumberable_spec.rb
343
+ - spec/lib/core_ext/nil_class_spec.rb
344
+ - spec/lib/core_ext/string_spec.rb
255
345
  - spec/sounds/failure.mp3
256
346
  - spec/sounds/success.mp3
257
347
  - spec/spec_helper.rb
@@ -267,23 +357,33 @@ required_ruby_version: !ruby/object:Gem::Requirement
267
357
  requirements:
268
358
  - - ">="
269
359
  - !ruby/object:Gem::Version
270
- version: '2.5'
360
+ version: '2.6'
271
361
  required_rubygems_version: !ruby/object:Gem::Requirement
272
362
  requirements:
273
363
  - - ">="
274
364
  - !ruby/object:Gem::Version
275
365
  version: '0'
276
366
  requirements: []
277
- rubyforge_project:
278
- rubygems_version: 2.7.6
367
+ rubygems_version: 3.0.3
279
368
  signing_key:
280
369
  specification_version: 4
281
370
  summary: Parser for Aeronautical Information Publications (AIP).
282
371
  test_files:
372
+ - spec/fixtures/archive.zip
373
+ - spec/fixtures/document.pdf
374
+ - spec/fixtures/document.pdf.json
375
+ - spec/fixtures/new.html
376
+ - spec/fixtures/new.pdf
377
+ - spec/fixtures/new.txt
283
378
  - spec/lib/aipp/airac_spec.rb
284
- - spec/lib/aipp/refinements_spec.rb
379
+ - spec/lib/aipp/downloader_spec.rb
380
+ - spec/lib/aipp/patcher_spec.rb
381
+ - spec/lib/aipp/pdf_spec.rb
285
382
  - spec/lib/aipp/t_hash_spec.rb
286
383
  - spec/lib/aipp/version_spec.rb
384
+ - spec/lib/core_ext/enumberable_spec.rb
385
+ - spec/lib/core_ext/nil_class_spec.rb
386
+ - spec/lib/core_ext/string_spec.rb
287
387
  - spec/sounds/failure.mp3
288
388
  - spec/sounds/success.mp3
289
389
  - spec/spec_helper.rb