simple-trail 0.2.0 → 0.2.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: aba06ca65c57e7950b28e45822dcddaa944b6375eb6e8d1ceedaee8031f1e163
4
- data.tar.gz: 3b82b1e9d848442630deaa9b09ea4fa02c51dce42cf86a980d1abb823746a82e
3
+ metadata.gz: 5cc811d316ce33ec5e7695d057b9c19e773a95ad9b91b4346d2ac993197c0cc3
4
+ data.tar.gz: 61f58e616108bd731247c242151293d468d189c545c8411547e6b513f2e98398
5
5
  SHA512:
6
- metadata.gz: 40c43bd89ba95b26820580c88afbd6b327fac9c1edb4ab42a38441703d1d93be7c3f5cf33a9ee9fe99848875030a2de788a55c14db4c8fd7483090f154c7bd72
7
- data.tar.gz: 98cd69d440cd930578cea1ebc9b0240f885fa508f62860e7acd75668a89b2e692304e8d5cc90720818b71dcb1bcaa6c5d5ca9abb0892b98c0ea79e3f9b2533c7
6
+ metadata.gz: fd4800f320f0a5cdbf8a62f0923bdd0a3d1713ddf48243136d2bddc564696019242767c3921c98bef4ef59cca883bdec94d34cca491e2721146ff1281e5ec9e2
7
+ data.tar.gz: 948ee822893742f3dd182b2c14ee47f6b63a4eccfd9284956c4e543c76d03d656b53936c71af3befb6adbe84301f7123581efc9d72de139e4f2929801a59dc79
@@ -9,6 +9,14 @@ module Generator
9
9
  @name = name
10
10
  end
11
11
 
12
+ def time(xml, timestamp)
13
+ xml.send(:time, timestamp)
14
+ end
15
+
16
+ def ele(xml, elevation)
17
+ xml.send(:ele, elevation)
18
+ end
19
+
12
20
  def gpx
13
21
  builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
14
22
  xml.gpx(version: '1.0') {
@@ -16,7 +24,10 @@ module Generator
16
24
  xml.trk {
17
25
  xml.trkseg {
18
26
  @points.map do |point|
19
- xml.trkpt(lat: point[:lat], lon: point[:lon])
27
+ xml.trkpt(lat: point[:lat], lon: point[:lon]) {
28
+ time(xml, point[:time]) unless point[:time].nil?
29
+ ele(xml, point[:ele]) unless point[:ele].nil?
30
+ }
20
31
  end
21
32
  }
22
33
  }
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.2.0'
8
+ s.version = '0.2.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'
@@ -98424,4 +98424,4 @@
98424
98424
  </trkpt>
98425
98425
  </trkseg>
98426
98426
  </trk>
98427
- </gpx>
98427
+ </gpx>
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="UTF-8"?><gpx creator="https://mapa-turystyczna.pl" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
2
+ <metadata>
3
+ <link href="https://mapa-turystyczna.pl">
4
+ <text>mapa-turystyczna.pl</text>
5
+ </link>
6
+ <time>2020-06-07T13:17:32Z</time>
7
+ <bounds maxlat="49.5039739" maxlon="20.0407328" minlat="49.4986602" minlon="20.0366753"/>
8
+ </metadata>
9
+ <wpt lat="49.49866" lon="20.040733">
10
+ <ele>617</ele>
11
+ <name>Nowy Targ, Kowaniec</name>
12
+ <link href="https://mapa-turystyczna.pl/node/88">
13
+ <text>Nowy Targ, Kowaniec</text>
14
+ </link>
15
+ </wpt>
16
+ <wpt lat="49.503974" lon="20.037433">
17
+ <ele>631</ele>
18
+ <name>Nowy Targ, Robów</name>
19
+ <link href="https://mapa-turystyczna.pl/node/4103">
20
+ <text>Nowy Targ, Robów</text>
21
+ </link>
22
+ </wpt>
23
+
24
+ <trk>
25
+ <name>Nowy Targ, Kowaniec – Nowy Targ, Robów</name>
26
+ <link href="https://mapa-turystyczna.pl/route?q=49.4986600,20.0407330;49.5039740,20.0374330">
27
+ <text>Nowy Targ, Kowaniec – Nowy Targ, Robów</text>
28
+ </link>
29
+ <trkseg>
30
+ <trkpt lat="49.4986602" lon="20.0407328"/>
31
+ <trkpt lat="49.4986967" lon="20.0404556"/>
32
+ <trkpt lat="49.4987087" lon="20.0400335"/>
33
+ <trkpt lat="49.4988349" lon="20.0397599"/>
34
+ <trkpt lat="49.4989091" lon="20.0396378"/>
35
+ <trkpt lat="49.499428" lon="20.0394863"/>
36
+ <trkpt lat="49.4996371" lon="20.0392445"/>
37
+ <trkpt lat="49.4997661" lon="20.0389653"/>
38
+ <trkpt lat="49.5002861" lon="20.038577"/>
39
+ <trkpt lat="49.5007575" lon="20.0380165"/>
40
+ <trkpt lat="49.5008552" lon="20.0378636"/>
41
+ <trkpt lat="49.5011271" lon="20.0373244"/>
42
+ <trkpt lat="49.5013462" lon="20.0370132"/>
43
+ <trkpt lat="49.5014997" lon="20.0368389"/>
44
+ <trkpt lat="49.501667" lon="20.0367343"/>
45
+ <trkpt lat="49.5019824" lon="20.0366753"/>
46
+ <trkpt lat="49.5023919" lon="20.0367289"/>
47
+ <trkpt lat="49.5027698" lon="20.0370616"/>
48
+ <trkpt lat="49.5031206" lon="20.037299"/>
49
+ <trkpt lat="49.5033425" lon="20.0373218"/>
50
+ <trkpt lat="49.5035736" lon="20.0373084"/>
51
+ <trkpt lat="49.5038343" lon="20.0374016"/>
52
+ <trkpt lat="49.5039739" lon="20.0374335"/>
53
+ </trkseg>
54
+ </trk>
55
+ </gpx>
@@ -18,4 +18,22 @@ RSpec.describe Generator::Gpx do
18
18
  expect(output.match(/#{random_point[:lon]}/)).not_to be_nil
19
19
  expect(output.match(/#{random_point[:lat]}/)).not_to be_nil
20
20
  end
21
+
22
+ it 'generates output when no time' do
23
+ parser = Parser::Gpx.new('./spec/examples/test_no_time_and_ele.gpx')
24
+ parser.read
25
+
26
+ points = parser.points
27
+
28
+ service = described_class.new(points: points)
29
+ expect{service.gpx}.not_to raise_error
30
+ output = service.output
31
+ expect(output).not_to be_nil
32
+
33
+ random_point = points.sample
34
+ expect(output.match(/#{random_point[:lon]}/)).not_to be_nil
35
+ expect(output.match(/#{random_point[:lat]}/)).not_to be_nil
36
+ expect(output.match(/time/)).to be_nil
37
+ expect(output.match(/ele/)).to be_nil
38
+ end
21
39
  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.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Staszek Zawadzki
@@ -113,6 +113,7 @@ files:
113
113
  - spec/examples/test_7.gpx
114
114
  - spec/examples/test_8.gpx
115
115
  - spec/examples/test_9.gpx
116
+ - spec/examples/test_no_time_and_ele.gpx
116
117
  - spec/examples/test_with_segments.gpx
117
118
  - spec/examples/zyleta2021.gpx
118
119
  - spec/generator/gpx_spec.rb
@@ -163,6 +164,7 @@ test_files:
163
164
  - spec/examples/test_7.gpx
164
165
  - spec/examples/test_8.gpx
165
166
  - spec/examples/test_9.gpx
167
+ - spec/examples/test_no_time_and_ele.gpx
166
168
  - spec/examples/test_with_segments.gpx
167
169
  - spec/examples/zyleta2021.gpx
168
170
  - spec/generator/gpx_spec.rb