simple-trail 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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