simple-trail 0.3.0 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ec7ad04579f7af6e5c6df0517ee1f8ef8ba986f8895ce92e7548fddec91dabe
4
- data.tar.gz: 694d57d1ec75c501e48e93acbdaad27d63dda944671323666d045c47031b4e77
3
+ metadata.gz: 80b11153dae6617beaa321a66212e18b3d2f10aa986cbaccc07904faa15be4dd
4
+ data.tar.gz: a40a3b05bb2538c74f53185b5f2f5addc6932f14708e92d256be68ce26f21f7c
5
5
  SHA512:
6
- metadata.gz: b18740f2f648846202cf58a00f9a1debdae27273cd769bb401b27752d6c6c5b6b6f514445573c57fc3da650fea96827bd75e2146ff5539e8c5c78ca1b4b0861e
7
- data.tar.gz: 0d1fe7392d9c8701da42433b52ed498e0a959371d405f3dcc8aa4d632af56df28a2cc305f6ef5c6aa9717ce0719b36cc73663e0635922a1e6ee7ccddf6973904
6
+ metadata.gz: 138f814cd98017dcd61aef761afc5c4a6ea1c21f426052ca56ed987928ce028e0d6da82e2aa13c2cdc03d41f93b9685fbfb0aa1dafc828b23357a758c8167bd0
7
+ data.tar.gz: c81fb032d0e916da5624407741055741e50bc955d146b69599ac7a5270787bb41f02c4b7642d966a4e6c1fde8a56defb6134283593b9dedfdfee7410df61e72e
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Parser
4
+ class ValidateGpx < Base
5
+ def initialize(filename)
6
+ @filename = filename
7
+ end
8
+
9
+ def validate_basics?
10
+ file = File.new(@filename)
11
+ @parsed_file = XmlHasher.parse(file)[:gpx]
12
+
13
+ !@parsed_file.nil?
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Parser
4
+ class ValidateGpxString < Base
5
+ def initialize(file_content)
6
+ @file_content = file_content
7
+ end
8
+
9
+ def validate_basics?
10
+ @parsed_file = XmlHasher.parse(@file_content)[:gpx]
11
+
12
+ !@parsed_file.nil?
13
+ end
14
+ end
15
+ end
data/lib/simple_trail.rb CHANGED
@@ -7,6 +7,8 @@ require File.expand_path('simple_trail/parser/base', __dir__)
7
7
  require File.expand_path('simple_trail/parser/gpx', __dir__)
8
8
  require File.expand_path('simple_trail/parser/gpx_string', __dir__)
9
9
  require File.expand_path('simple_trail/parser/extract_points', __dir__)
10
+ require File.expand_path('simple_trail/parser/validate_gpx', __dir__)
11
+ require File.expand_path('simple_trail/parser/validate_gpx_string', __dir__)
10
12
  require File.expand_path('simple_trail/manipulation/statistics', __dir__)
11
13
  require File.expand_path('simple_trail/manipulation/straightener', __dir__)
12
14
  require File.expand_path('simple_trail/manipulation/unifier', __dir__)
data/simple-trail.gemspec CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'simple-trail'
8
- s.version = '0.3.0'
8
+ s.version = '0.3.1'
9
9
  s.date = '2020-08-03'
10
10
  s.summary = 'Readind and manipulating GPX and other trail representation file'
11
11
  s.description = 'Optimazing and manipulating GPX file data. For my private purposes mostly'
@@ -0,0 +1,121 @@
1
+ <?xml version="1.0"?>
2
+ <catalog>
3
+ <book id="bk101">
4
+ <author>Gambardella, Matthew</author>
5
+ <title>XML Developer's Guide</title>
6
+ <genre>Computer</genre>
7
+ <price>44.95</price>
8
+ <publish_date>2000-10-01</publish_date>
9
+ <description>An in-depth look at creating applications
10
+ with XML.</description>
11
+ </book>
12
+ <book id="bk102">
13
+ <author>Ralls, Kim</author>
14
+ <title>Midnight Rain</title>
15
+ <genre>Fantasy</genre>
16
+ <price>5.95</price>
17
+ <publish_date>2000-12-16</publish_date>
18
+ <description>A former architect battles corporate zombies,
19
+ an evil sorceress, and her own childhood to become queen
20
+ of the world.</description>
21
+ </book>
22
+ <book id="bk103">
23
+ <author>Corets, Eva</author>
24
+ <title>Maeve Ascendant</title>
25
+ <genre>Fantasy</genre>
26
+ <price>5.95</price>
27
+ <publish_date>2000-11-17</publish_date>
28
+ <description>After the collapse of a nanotechnology
29
+ society in England, the young survivors lay the
30
+ foundation for a new society.</description>
31
+ </book>
32
+ <book id="bk104">
33
+ <author>Corets, Eva</author>
34
+ <title>Oberon's Legacy</title>
35
+ <genre>Fantasy</genre>
36
+ <price>5.95</price>
37
+ <publish_date>2001-03-10</publish_date>
38
+ <description>In post-apocalypse England, the mysterious
39
+ agent known only as Oberon helps to create a new life
40
+ for the inhabitants of London. Sequel to Maeve
41
+ Ascendant.</description>
42
+ </book>
43
+ <book id="bk105">
44
+ <author>Corets, Eva</author>
45
+ <title>The Sundered Grail</title>
46
+ <genre>Fantasy</genre>
47
+ <price>5.95</price>
48
+ <publish_date>2001-09-10</publish_date>
49
+ <description>The two daughters of Maeve, half-sisters,
50
+ battle one another for control of England. Sequel to
51
+ Oberon's Legacy.</description>
52
+ </book>
53
+ <book id="bk106">
54
+ <author>Randall, Cynthia</author>
55
+ <title>Lover Birds</title>
56
+ <genre>Romance</genre>
57
+ <price>4.95</price>
58
+ <publish_date>2000-09-02</publish_date>
59
+ <description>When Carla meets Paul at an ornithology
60
+ conference, tempers fly as feathers get ruffled.</description>
61
+ </book>
62
+ <book id="bk107">
63
+ <author>Thurman, Paula</author>
64
+ <title>Splish Splash</title>
65
+ <genre>Romance</genre>
66
+ <price>4.95</price>
67
+ <publish_date>2000-11-02</publish_date>
68
+ <description>A deep sea diver finds true love twenty
69
+ thousand leagues beneath the sea.</description>
70
+ </book>
71
+ <book id="bk108">
72
+ <author>Knorr, Stefan</author>
73
+ <title>Creepy Crawlies</title>
74
+ <genre>Horror</genre>
75
+ <price>4.95</price>
76
+ <publish_date>2000-12-06</publish_date>
77
+ <description>An anthology of horror stories about roaches,
78
+ centipedes, scorpions and other insects.</description>
79
+ </book>
80
+ <book id="bk109">
81
+ <author>Kress, Peter</author>
82
+ <title>Paradox Lost</title>
83
+ <genre>Science Fiction</genre>
84
+ <price>6.95</price>
85
+ <publish_date>2000-11-02</publish_date>
86
+ <description>After an inadvertant trip through a Heisenberg
87
+ Uncertainty Device, James Salway discovers the problems
88
+ of being quantum.</description>
89
+ </book>
90
+ <book id="bk110">
91
+ <author>O'Brien, Tim</author>
92
+ <title>Microsoft .NET: The Programming Bible</title>
93
+ <genre>Computer</genre>
94
+ <price>36.95</price>
95
+ <publish_date>2000-12-09</publish_date>
96
+ <description>Microsoft's .NET initiative is explored in
97
+ detail in this deep programmer's reference.</description>
98
+ </book>
99
+ <book id="bk111">
100
+ <author>O'Brien, Tim</author>
101
+ <title>MSXML3: A Comprehensive Guide</title>
102
+ <genre>Computer</genre>
103
+ <price>36.95</price>
104
+ <publish_date>2000-12-01</publish_date>
105
+ <description>The Microsoft MSXML3 parser is covered in
106
+ detail, with attention to XML DOM interfaces, XSLT processing,
107
+ SAX and more.</description>
108
+ </book>
109
+ <book id="bk112">
110
+ <author>Galos, Mike</author>
111
+ <title>Visual Studio 7: A Comprehensive Guide</title>
112
+ <genre>Computer</genre>
113
+ <price>49.95</price>
114
+ <publish_date>2001-04-16</publish_date>
115
+ <description>Microsoft Visual Studio 7 is explored in depth,
116
+ looking at how Visual Basic, Visual C++, C#, and ASP+ are
117
+ integrated into a comprehensive development
118
+ environment.</description>
119
+ </book>
120
+ </catalog>
121
+
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Parser::ValidateGpx do
6
+ it 'validates a proper file' do
7
+ gpx_validator = described_class.new('./spec/examples/test_1.gpx')
8
+ expect(gpx_validator.validate_basics?).to be(true)
9
+ end
10
+
11
+ it 'returns false if improper file' do
12
+ gpx_validator = described_class.new('./spec/examples/not_a_gpx.gpx')
13
+ expect(gpx_validator.validate_basics?).to be(false)
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe Parser::ValidateGpxString do
6
+ it 'validates the string' do
7
+ gpx_validator = described_class.new(File.new('./spec/examples/test_1.gpx').read)
8
+ expect(gpx_validator.validate_basics?).to be(true)
9
+ end
10
+
11
+ it 'returns false if improper file' do
12
+ gpx_validator = described_class.new(File.new('./spec/examples/not_a_gpx.gpx').read)
13
+ expect(gpx_validator.validate_basics?).to be(false)
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-trail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Staszek Zawadzki
@@ -100,9 +100,12 @@ files:
100
100
  - lib/simple_trail/parser/extract_points.rb
101
101
  - lib/simple_trail/parser/gpx.rb
102
102
  - lib/simple_trail/parser/gpx_string.rb
103
+ - lib/simple_trail/parser/validate_gpx.rb
104
+ - lib/simple_trail/parser/validate_gpx_string.rb
103
105
  - simple-trail.gemspec
104
106
  - spec/examples/gss20-full-official.gpx
105
107
  - spec/examples/kbl.gpx
108
+ - spec/examples/not_a_gpx.gpx
106
109
  - spec/examples/pois.gpx
107
110
  - spec/examples/test-xxl.gpx
108
111
  - spec/examples/test_1.gpx
@@ -128,6 +131,8 @@ files:
128
131
  - spec/parser/gpx_poi_spec.rb
129
132
  - spec/parser/gpx_spec.rb
130
133
  - spec/parser/gpx_string_spec.rb
134
+ - spec/parser/validate_gpx_spec.rb
135
+ - spec/parser/validate_gpx_string_spec.rb
131
136
  - spec/spec_helper.rb
132
137
  homepage: https://github.com/PadawanBreslau/simple-trail
133
138
  licenses:
@@ -155,6 +160,7 @@ summary: Readind and manipulating GPX and other trail representation file
155
160
  test_files:
156
161
  - spec/examples/gss20-full-official.gpx
157
162
  - spec/examples/kbl.gpx
163
+ - spec/examples/not_a_gpx.gpx
158
164
  - spec/examples/pois.gpx
159
165
  - spec/examples/test-xxl.gpx
160
166
  - spec/examples/test_1.gpx
@@ -180,4 +186,6 @@ test_files:
180
186
  - spec/parser/gpx_poi_spec.rb
181
187
  - spec/parser/gpx_spec.rb
182
188
  - spec/parser/gpx_string_spec.rb
189
+ - spec/parser/validate_gpx_spec.rb
190
+ - spec/parser/validate_gpx_string_spec.rb
183
191
  - spec/spec_helper.rb