aipp 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/CHANGELOG.md +8 -0
  5. data/README.md +40 -14
  6. data/exe/aip2aixm +1 -1
  7. data/exe/aip2ofmx +1 -1
  8. data/lib/aipp.rb +2 -0
  9. data/lib/aipp/aip.rb +17 -12
  10. data/lib/aipp/downloader.rb +1 -1
  11. data/lib/aipp/executable.rb +15 -12
  12. data/lib/aipp/parser.rb +58 -43
  13. data/lib/aipp/pdf.rb +1 -1
  14. data/lib/aipp/regions/LF/AD-1.3.rb +7 -6
  15. data/lib/aipp/regions/LF/AD-1.6.rb +7 -5
  16. data/lib/aipp/regions/LF/AD-2.rb +16 -9
  17. data/lib/aipp/regions/LF/AD-3.1.rb +6 -6
  18. data/lib/aipp/regions/LF/ENR-2.1.rb +81 -6
  19. data/lib/aipp/regions/LF/ENR-4.1.rb +3 -1
  20. data/lib/aipp/regions/LF/ENR-4.3.rb +2 -3
  21. data/lib/aipp/regions/LF/ENR-5.1.rb +15 -2
  22. data/lib/aipp/regions/LF/ENR-5.4.rb +90 -0
  23. data/lib/aipp/regions/LF/ENR-5.5.rb +12 -10
  24. data/lib/aipp/regions/LF/fixtures/AD-1.3.yml +2 -2
  25. data/lib/aipp/regions/LF/helpers/base.rb +17 -9
  26. data/lib/aipp/regions/LF/helpers/radio_AD.rb +21 -13
  27. data/lib/aipp/t_hash.rb +3 -3
  28. data/lib/aipp/version.rb +1 -1
  29. data/lib/core_ext/enumerable.rb +7 -7
  30. data/lib/core_ext/string.rb +9 -4
  31. metadata +156 -168
  32. metadata.gz.sig +1 -0
  33. data/.github/workflows/test.yml +0 -26
  34. data/.gitignore +0 -8
  35. data/.ruby-version +0 -1
  36. data/.yardopts +0 -3
  37. data/Guardfile +0 -7
  38. data/TODO.md +0 -6
  39. data/aipp.gemspec +0 -45
  40. data/gems.rb +0 -3
  41. data/rakefile.rb +0 -12
  42. data/spec/fixtures/border.geojson +0 -201
  43. data/spec/fixtures/document.pdf +0 -0
  44. data/spec/fixtures/document.pdf.json +0 -1
  45. data/spec/fixtures/new.html +0 -6
  46. data/spec/fixtures/new.pdf +0 -0
  47. data/spec/fixtures/new.txt +0 -1
  48. data/spec/fixtures/source.zip +0 -0
  49. data/spec/lib/aipp/airac_spec.rb +0 -98
  50. data/spec/lib/aipp/border_spec.rb +0 -135
  51. data/spec/lib/aipp/downloader_spec.rb +0 -81
  52. data/spec/lib/aipp/patcher_spec.rb +0 -46
  53. data/spec/lib/aipp/pdf_spec.rb +0 -124
  54. data/spec/lib/aipp/t_hash_spec.rb +0 -44
  55. data/spec/lib/aipp/version_spec.rb +0 -7
  56. data/spec/lib/core_ext/enumberable_spec.rb +0 -76
  57. data/spec/lib/core_ext/hash_spec.rb +0 -27
  58. data/spec/lib/core_ext/integer_spec.rb +0 -15
  59. data/spec/lib/core_ext/nil_class_spec.rb +0 -11
  60. data/spec/lib/core_ext/string_spec.rb +0 -112
  61. data/spec/sounds/failure.mp3 +0 -0
  62. data/spec/sounds/success.mp3 +0 -0
  63. data/spec/spec_helper.rb +0 -29
@@ -1,27 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe Hash do
4
-
5
- describe :metch do
6
- subject do
7
- { /aa/ => :aa, /a/ => :a, 'b' => :b }
8
- end
9
-
10
- it "must return value of matching regexp key" do
11
- _(subject.metch('abc')).must_equal :a
12
- end
13
-
14
- it "must return value of equal non-regexp key" do
15
- _(subject.metch('b')).must_equal :b
16
- end
17
-
18
- it "fails with KeyError if nothing matches" do
19
- _{ subject.metch('bcd') }.must_raise KeyError
20
- end
21
-
22
- it "returns fallback value if nothing matches" do
23
- _(subject.metch('x', :foobar)).must_equal :foobar
24
- end
25
- end
26
-
27
- end
@@ -1,15 +0,0 @@
1
- require_relative '../../spec_helper'
2
-
3
- describe Integer do
4
-
5
- describe :up_or_downto do
6
- it "behaves like Integer#upto for an increasing range" do
7
- _(10.up_or_downto(12).to_a).must_equal 10.upto(12).to_a
8
- end
9
-
10
- it "behaves like Integer#downto for a decreasing range" do
11
- _(10.up_or_downto(8).to_a).must_equal 10.downto(8).to_a
12
- end
13
- end
14
-
15
- end
@@ -1,11 +0,0 @@
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
@@ -1,112 +0,0 @@
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 :cleanup do
20
- it "must replace double apostrophes" do
21
- _("the ''Terror'' was a fine ship".cleanup).must_equal 'the "Terror" was a fine ship'
22
- end
23
-
24
- it "must replace funky apostrophes and quotes" do
25
- _("from ’a‘ to “b”".cleanup).must_equal %q(from 'a' to "b")
26
- end
27
-
28
- it "must remove whitespace within quotes" do
29
- _('the " best " way to fly'.cleanup).must_equal 'the "best" way to fly'
30
- _(%Q(the " best\nway " to fly).cleanup).must_equal %Q(the "best\nway" to fly)
31
- end
32
- end
33
-
34
- describe :compact do
35
- it "must remove unneccessary whitespace" do
36
- _(" foo\n\nbar \r".compact).must_equal "foo\nbar"
37
- _("foo\n \nbar".compact).must_equal "foo\nbar"
38
- _(" ".compact).must_equal ""
39
- _("\n \r \v ".compact).must_equal ""
40
- _("okay".compact).must_equal "okay"
41
- end
42
- end
43
-
44
- describe :correlate do
45
- subject do
46
- %q(Truck "Montréal" en route on N 3 sud)
47
- end
48
-
49
- it "must recognize similar words with 5 or more characters" do
50
- _(subject.correlate("truck route")).must_equal 2
51
- end
52
-
53
- it "must recognize street denominators with 2 or more characters" do
54
- _(subject.correlate("truck N 3")).must_equal 2
55
- end
56
-
57
- it "must ignore whitespace in road identifiers" do
58
- _(subject.correlate("truck N3")).must_equal 2
59
- end
60
-
61
- it "must get rid of accents and similar decorations" do
62
- _(subject.correlate("truck Montreal")).must_equal 2
63
- end
64
-
65
- it "must downcase" do
66
- _(subject.correlate("truck montreal")).must_equal 2
67
- end
68
-
69
- it "must honor synonyms" do
70
- _(subject.correlate("truck south", ['south', 'sud'])).must_equal 2
71
- end
72
-
73
- it "must ignore words with less than 5 characters" do
74
- _(subject.correlate("en on for")).must_equal 0
75
- end
76
- end
77
-
78
- describe :to_ff do
79
- it "must convert normal float numbers as does to_f" do
80
- _("5".to_ff).must_equal "5".to_f
81
- _("5.1".to_ff).must_equal "5.1".to_f
82
- _(" 5.2 ".to_ff).must_equal " 5.2 ".to_f
83
- end
84
-
85
- it "must convert comma float numbers as well" do
86
- _("5,1".to_ff).must_equal "5.1".to_f
87
- _(" 5,2 ".to_ff).must_equal "5.2".to_f
88
- end
89
- end
90
-
91
- describe :full_strip do
92
- it "must behave like strip" do
93
- subject = " foobar\t\t"
94
- _(subject.full_strip).must_equal subject.strip
95
- end
96
-
97
- it "must remove non-letterlike characters as well" do
98
- _(" - foobar :.".full_strip).must_equal "foobar"
99
- end
100
- end
101
-
102
- describe :unglue do
103
- it "must insert spaces between camel glued words" do
104
- _("thisString has spaceProblems".unglue).must_equal "this String has space Problems"
105
- end
106
-
107
- it "must insert spaces between three-or-more-letter and number-only words" do
108
- _("the first123meters of D25".unglue).must_equal "the first 123 meters of D25"
109
- end
110
- end
111
-
112
- end
Binary file
Binary file
@@ -1,29 +0,0 @@
1
- gem 'minitest'
2
-
3
- require 'pathname'
4
-
5
- require 'minitest/autorun'
6
- require Pathname(__dir__).join('..', 'lib', 'aipp')
7
-
8
- require 'minitest/sound'
9
- require 'minitest/sound/reporter'
10
- Minitest::Sound.success = Pathname(__dir__).join('sounds/success.mp3').to_s
11
- Minitest::Sound.failure = Pathname(__dir__).join('sounds/failure.mp3').to_s
12
- require 'minitest/reporters'
13
- Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Sound::Reporter.new]
14
-
15
- require 'minitest/focus'
16
- require 'minitest/matchers'
17
- require 'spy/integration'
18
-
19
- module AIPP
20
- def self.root
21
- Pathname(__dir__).join('..')
22
- end
23
- end
24
-
25
- class MiniTest::Spec
26
- class << self
27
- alias_method :context, :describe
28
- end
29
- end