gpx_kml 0.0.2 → 0.1.3
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 +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +21 -0
- data/Gemfile.lock +1 -17
- data/README.md +23 -11
- data/gpx_kml.gemspec +5 -3
- data/lib/converter.rb +24 -22
- data/lib/gpx_kml/gpx.rb +6 -4
- data/lib/gpx_kml/kml.rb +6 -4
- data/lib/gpx_kml/version.rb +1 -1
- data/lib/gpx_kml.rb +20 -4
- metadata +5 -25
- data/.idea/.gitignore +0 -8
- data/.idea/dictionaries/angelo.xml +0 -3
- data/.idea/gpx_kml.iml +0 -60
- data/.idea/misc.xml +0 -7
- data/.idea/modules.xml +0 -8
- data/.idea/vcs.xml +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c23ca7cf7f9d6dc903b41e82036593e7f9bb40b1ae5b17ecfd5faf39e2ca4bff
|
|
4
|
+
data.tar.gz: 01b06257fc564b886843e9127f3fce7a37106b49e045342aa1c318dd1c2169f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b185abea99664b9e60595dfa2782e9a712d3e3ce994e15daaa6c02dfc91ddaa478cc6e18b51b92a4aeacdd398336f2ba0ea7bfe3c8a0e4c5962939c0e83ad9c8
|
|
7
|
+
data.tar.gz: 2089d40444b18ec20b049c24a5df3f728bfaae7f4be81750f993264c818bf9920acd926a8be5c38de903c26bd3ab669a7c3db940000a30a74eca6ceebabdde3b
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,2 +1,23 @@
|
|
|
1
|
+
### V 0.1.x
|
|
2
|
+
- v 0.1.3:
|
|
3
|
+
- changed usage & updated/fixed minor parts in documentation (README.md)
|
|
4
|
+
- added preconverted files and missing tests
|
|
5
|
+
- change in inputs for conversion functions: now they take in Gpx and Kml instances instead of file paths
|
|
6
|
+
- added new feature: now you can check whether a Gpx (or Kml) object imported an effective 'gpx' (or 'kml') file
|
|
7
|
+
- added new feature: now you can create Gpx and Kml objects from their respective files
|
|
8
|
+
- removed dependency factory_bot which ended up being unused
|
|
9
|
+
- v 0.1.2:
|
|
10
|
+
- fixed version tests, AGAIN
|
|
11
|
+
- v 0.1.1:
|
|
12
|
+
- fixed critical bug on output file, path was wrong
|
|
13
|
+
- v 0.1.0:
|
|
14
|
+
- fixed changelog link in rubygems.org
|
|
15
|
+
- removed .idea directory in the project
|
|
16
|
+
- added support for '.xml' & no extension files for kml & gpx
|
|
17
|
+
- fixed 'valid?' method now returning false on an empty document (nokogiri::XML) for kml & gpx
|
|
18
|
+
- updated kml_to_gpx & gpx_to_kml to now return the entire path of the file created
|
|
19
|
+
- fixed version tests, now passing
|
|
20
|
+
---
|
|
21
|
+
### V 0.0.x
|
|
1
22
|
- v 0.0.2: corrected gem Homepage
|
|
2
23
|
- v 0.0.1: release
|
data/Gemfile.lock
CHANGED
|
@@ -1,27 +1,15 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
gpx_kml (0.
|
|
4
|
+
gpx_kml (0.1.3)
|
|
5
5
|
nokogiri (~> 1.12.0)
|
|
6
6
|
rake (~> 12.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
activesupport (6.1.4.1)
|
|
12
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
13
|
-
i18n (>= 1.6, < 2)
|
|
14
|
-
minitest (>= 5.1)
|
|
15
|
-
tzinfo (~> 2.0)
|
|
16
|
-
zeitwerk (~> 2.3)
|
|
17
|
-
concurrent-ruby (1.1.9)
|
|
18
11
|
diff-lcs (1.4.4)
|
|
19
|
-
factory_bot (6.2.0)
|
|
20
|
-
activesupport (>= 5.0.0)
|
|
21
|
-
i18n (1.8.10)
|
|
22
|
-
concurrent-ruby (~> 1.0)
|
|
23
12
|
mini_portile2 (2.6.1)
|
|
24
|
-
minitest (5.14.4)
|
|
25
13
|
nokogiri (1.12.5)
|
|
26
14
|
mini_portile2 (~> 2.6.1)
|
|
27
15
|
racc (~> 1.4)
|
|
@@ -40,15 +28,11 @@ GEM
|
|
|
40
28
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
41
29
|
rspec-support (~> 3.10.0)
|
|
42
30
|
rspec-support (3.10.2)
|
|
43
|
-
tzinfo (2.0.4)
|
|
44
|
-
concurrent-ruby (~> 1.0)
|
|
45
|
-
zeitwerk (2.4.2)
|
|
46
31
|
|
|
47
32
|
PLATFORMS
|
|
48
33
|
ruby
|
|
49
34
|
|
|
50
35
|
DEPENDENCIES
|
|
51
|
-
factory_bot (~> 6.2)
|
|
52
36
|
gpx_kml!
|
|
53
37
|
rspec (~> 3.0)
|
|
54
38
|
|
data/README.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# GpxKml
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
|
3
|
+
This gem adds the capability to convert GPS Exchange Format (GPX) files to Keyhole Markup Language (KML) files and viceversa
|
|
6
4
|
|
|
7
5
|
## Before using
|
|
8
6
|
|
|
9
7
|
Please take note that this only converts essentials data for the gpx and kml files compatibility.
|
|
10
|
-
However the gem doesn't just include the converter, it also transforms gpx files and kml files (only their track/route/point parts) into a Gpx/Kml
|
|
11
|
-
Just dig in deep, tests are present for everything you need
|
|
8
|
+
However the gem doesn't just include the converter, it also transforms gpx files and kml files (only their track/route/point parts) into a Gpx/Kml instance, which could be useful for new forks or other uses.
|
|
9
|
+
Just dig in deep, tests are present for everything you need.
|
|
12
10
|
|
|
13
11
|
## Installation
|
|
14
12
|
|
|
@@ -28,12 +26,26 @@ Or install it yourself as:
|
|
|
28
26
|
|
|
29
27
|
## Usage
|
|
30
28
|
|
|
31
|
-
To use it just ```require 'gpx_kml'``` in the script you need the converter and
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
- ```GPXKML::GpxKml.
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
To use it just ```require 'gpx_kml'``` in the script you need the converter and perform the following actions:
|
|
30
|
+
<br>
|
|
31
|
+
Create an instance of the file you want to convert as follows:
|
|
32
|
+
- ```gpx = GPXKML::GpxKml.new_gpx('file_path')``` for a gpx file
|
|
33
|
+
- ```kml = GPXKML::GpxKml.new_kml('file_path')``` for a kml file
|
|
34
|
+
<br><br>
|
|
35
|
+
|
|
36
|
+
Now: you may want to check if the file you imported is actually a gpx or a kml.<br>
|
|
37
|
+
You can do that by usign the ```gpx?``` & ```kml?``` functions on the instance you just created:
|
|
38
|
+
- ```GPXKML::GpxKml.gpx?(gpx)```
|
|
39
|
+
- ```GPXKML::GpxKml.kml?(kml)```
|
|
40
|
+
|
|
41
|
+
Note: this step is optional since the conversions method below do the same thing inside of themselves, but this method could turn out to be useful.
|
|
42
|
+
<br><br>
|
|
43
|
+
Now you can actually convert the instance to create the new file needed.<br>
|
|
44
|
+
The function will return the entire path to the file just created!
|
|
45
|
+
- ```path_of_the_new_file = GPXKML::GpxKml.kml_to_gpx('gpx', 'destination_path')```
|
|
46
|
+
- ```path_of_the_new_file = GPXKML::GpxKml.gpx_to_kml('kml', 'destination_path')```
|
|
47
|
+
|
|
48
|
+
IMPORTANT : ```destination_path``` must be a directory
|
|
37
49
|
|
|
38
50
|
## Development
|
|
39
51
|
|
data/gpx_kml.gemspec
CHANGED
|
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.email = ['info@engim.eu']
|
|
8
8
|
|
|
9
9
|
spec.summary = 'Gem to convert .gpx into .kml and back'
|
|
10
|
-
spec.description = 'This gem adds the capability to convert GPS Exchange Format (GPX) to Keyhole Markup Language (KML) and viceversa'
|
|
10
|
+
spec.description = 'This gem adds the capability to convert GPS Exchange Format (GPX) files to Keyhole Markup Language (KML) files and viceversa'
|
|
11
11
|
spec.homepage = 'https://www.github.com/engim-eu/gpx_kml'
|
|
12
12
|
spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
|
|
13
13
|
|
|
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
|
|
16
16
|
spec.metadata['homepage_uri'] = spec.homepage
|
|
17
17
|
spec.metadata['source_code_uri'] = 'https://www.github.com/engim-eu/gpx_kml'
|
|
18
|
-
spec.metadata['changelog_uri'] = 'https://www.github.com/engim-eu/gpx_kml/CHANGELOG.md'
|
|
18
|
+
spec.metadata['changelog_uri'] = 'https://www.github.com/engim-eu/gpx_kml/blob/master/CHANGELOG.md'
|
|
19
19
|
|
|
20
20
|
# Specify which files should be added to the gem when it is released.
|
|
21
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
@@ -33,6 +33,8 @@ Gem::Specification.new do |spec|
|
|
|
33
33
|
spec.add_dependency 'nokogiri', '~>1.12.0'
|
|
34
34
|
|
|
35
35
|
# Gem testing
|
|
36
|
-
spec.add_development_dependency 'factory_bot', '~>6.2'
|
|
37
36
|
spec.add_development_dependency 'rspec', '~>3.0'
|
|
37
|
+
|
|
38
|
+
# spec.add_development_dependency 'factory_bot', '~>6.2'
|
|
39
|
+
# factory_bot isn't really used
|
|
38
40
|
end
|
data/lib/converter.rb
CHANGED
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
module CONVERTER
|
|
4
4
|
# Docu
|
|
5
5
|
class Converter
|
|
6
|
-
def self.gpx_to_kml(
|
|
7
|
-
return unless File.directory?(output_path)
|
|
6
|
+
def self.gpx_to_kml(gpx, output_path)
|
|
7
|
+
return unless File.directory?(output_path) && gpx.is_a?(GPX::Gpx)
|
|
8
|
+
return nil unless gpx.gpx?
|
|
8
9
|
|
|
9
10
|
output_path = output_path[0..-2] if output_path[-1].eql?('/')
|
|
10
|
-
gpx = GPXKML::Gpx.new(gpx_path)
|
|
11
|
-
return nil if gpx.nil? || !gpx.valid?
|
|
12
|
-
|
|
13
11
|
kml = Nokogiri::XML::Builder.new do |xml|
|
|
14
12
|
xml.kml('xmlns': 'http://www.opengis.net/kml/2.2', 'xmlns:gx': 'http://www.google.com/kml/ext/2.2',
|
|
15
13
|
'xmlns:atom': 'http://www.w3.org/Atom') do
|
|
@@ -33,20 +31,22 @@ module CONVERTER
|
|
|
33
31
|
end
|
|
34
32
|
end
|
|
35
33
|
end
|
|
36
|
-
name =
|
|
37
|
-
|
|
34
|
+
name = if gpx.file_name.end_with?('.gpx') || gpx.file_name.end_with?('.xml')
|
|
35
|
+
"#{output_path}/#{Time.now.strftime('%Y%m%d%H%M%S')}_#{gpx.file_name[0..-5]}.kml"
|
|
36
|
+
else
|
|
37
|
+
"#{output_path}/#{Time.now.strftime('%Y%m%d%H%M%S')}_#{gpx.file_name}.kml"
|
|
38
|
+
end
|
|
39
|
+
f = File.open(name.to_s, 'w')
|
|
38
40
|
f.write(kml.to_xml)
|
|
39
41
|
f.close
|
|
40
42
|
name
|
|
41
43
|
end
|
|
42
44
|
|
|
43
|
-
def self.kml_to_gpx(
|
|
44
|
-
return unless File.directory?(output_path)
|
|
45
|
+
def self.kml_to_gpx(kml, output_path)
|
|
46
|
+
return nil unless File.directory?(output_path) && kml.is_a?(KML::Kml)
|
|
47
|
+
return nil unless kml.kml?
|
|
45
48
|
|
|
46
49
|
output_path = output_path[0..-2] if output_path[-1].eql?('/')
|
|
47
|
-
kml = GPXKML::Kml.new(kml_path)
|
|
48
|
-
return nil if kml.nil? || !kml.valid?
|
|
49
|
-
|
|
50
50
|
gpx = Nokogiri::XML::Builder.new do |xml|
|
|
51
51
|
xml.gpx('version': '1.1', 'creator': 'https://www.github.com/engim-eu/gpx_kml',
|
|
52
52
|
'xmlns': 'https://www.topografix.com/GPX/1/1', 'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance') do
|
|
@@ -58,15 +58,17 @@ module CONVERTER
|
|
|
58
58
|
gpx_tracks(xml, kml)
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
|
-
name =
|
|
62
|
-
|
|
61
|
+
name = if kml.file_name.end_with?('.kml') || kml.file_name.end_with?('.xml')
|
|
62
|
+
"#{output_path}/#{Time.now.strftime('%Y%m%d%H%M%S')}_#{kml.file_name[0..-5]}.gpx"
|
|
63
|
+
else
|
|
64
|
+
"#{output_path}/#{Time.now.strftime('%Y%m%d%H%M%S')}_#{kml.file_name}.gpx"
|
|
65
|
+
end
|
|
66
|
+
f = File.open(name.to_s, 'w')
|
|
63
67
|
f.write(gpx.to_xml)
|
|
64
68
|
f.close
|
|
65
69
|
name
|
|
66
70
|
end
|
|
67
71
|
|
|
68
|
-
private
|
|
69
|
-
|
|
70
72
|
def self.kml_routes(xml, gpx)
|
|
71
73
|
if gpx.routes?
|
|
72
74
|
gpx.routes.each do |r|
|
|
@@ -138,8 +140,8 @@ module CONVERTER
|
|
|
138
140
|
kml.points.each do |p|
|
|
139
141
|
next if p.nil?
|
|
140
142
|
|
|
141
|
-
xml.wpt('lat':
|
|
142
|
-
xml.ele(
|
|
143
|
+
xml.wpt('lat': p.latitude.to_s, 'lon': p.longitude.to_s) do
|
|
144
|
+
xml.ele(p.elevation.to_s) unless p.elevation.nil? || p.elevation.empty?
|
|
143
145
|
xml.name(p.name) unless p.name.nil? || p.name.empty?
|
|
144
146
|
xml.desc("author = #{p.author}") unless p.author.nil? || p.author.empty?
|
|
145
147
|
xml.link('href': p.link) unless p.link.nil? || p.link.empty?
|
|
@@ -160,8 +162,8 @@ module CONVERTER
|
|
|
160
162
|
r.points.each do |p|
|
|
161
163
|
next if p.nil?
|
|
162
164
|
|
|
163
|
-
xml.rtept('lat':
|
|
164
|
-
xml.ele(
|
|
165
|
+
xml.rtept('lat': p.latitude.to_s, 'lon': p.longitude.to_s) do
|
|
166
|
+
xml.ele(p.elevation.to_s) unless p.elevation.nil? || p.elevation.empty?
|
|
165
167
|
xml.desc("author = #{p.author}") unless p.author.nil? || p.author.empty?
|
|
166
168
|
xml.link('href': p.link) unless p.link.nil? || p.link.empty?
|
|
167
169
|
end
|
|
@@ -184,8 +186,8 @@ module CONVERTER
|
|
|
184
186
|
t.points.each do |p|
|
|
185
187
|
next if p.nil?
|
|
186
188
|
|
|
187
|
-
xml.trkpt('lat':
|
|
188
|
-
xml.ele(
|
|
189
|
+
xml.trkpt('lat': p.latitude.to_s, 'lon': p.longitude.to_s) do
|
|
190
|
+
xml.ele(p.elevation.to_s) unless p.elevation.nil? || p.elevation.empty?
|
|
189
191
|
xml.desc("author = #{p.author}") unless p.author.nil? || p.author.empty?
|
|
190
192
|
xml.link('href': p.link) unless p.link.nil? || p.link.empty?
|
|
191
193
|
end
|
data/lib/gpx_kml/gpx.rb
CHANGED
|
@@ -33,9 +33,13 @@ module GPX
|
|
|
33
33
|
# access in readonly to the quantity of points/routes/tracks in the gpx
|
|
34
34
|
attr_reader :points_length, :routes_length, :tracks_length
|
|
35
35
|
|
|
36
|
+
def gpx?
|
|
37
|
+
!@gpx.nil? && !@gpx.xpath('/xmlns:gpx').empty?
|
|
38
|
+
end
|
|
39
|
+
|
|
36
40
|
# For a gpx file to be valid it must only have a waypoint, a route or a track
|
|
37
41
|
def valid?
|
|
38
|
-
tracks? || routes? || points?
|
|
42
|
+
gpx? && (tracks? || routes? || points?)
|
|
39
43
|
end
|
|
40
44
|
|
|
41
45
|
def routes?
|
|
@@ -118,9 +122,7 @@ module GPX
|
|
|
118
122
|
end
|
|
119
123
|
|
|
120
124
|
def correct_path?(path)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
false
|
|
125
|
+
path.instance_of?(String) && (path.end_with?('.gpx') || path.end_with?('.xml') || !path.include?('.'))
|
|
124
126
|
end
|
|
125
127
|
|
|
126
128
|
def alt_name
|
data/lib/gpx_kml/kml.rb
CHANGED
|
@@ -29,8 +29,12 @@ module KML
|
|
|
29
29
|
# access data of the kml in readonly
|
|
30
30
|
attr_reader :points, :routes, :tracks
|
|
31
31
|
|
|
32
|
+
def kml?
|
|
33
|
+
!@kml.nil? && !@kml.xpath('/xmlns:kml').empty?
|
|
34
|
+
end
|
|
35
|
+
|
|
32
36
|
def valid?
|
|
33
|
-
tracks? || routes? || points?
|
|
37
|
+
kml? && (tracks? || routes? || points?)
|
|
34
38
|
end
|
|
35
39
|
|
|
36
40
|
def routes?
|
|
@@ -54,9 +58,7 @@ module KML
|
|
|
54
58
|
private
|
|
55
59
|
|
|
56
60
|
def correct_path?(path)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
false
|
|
61
|
+
path.instance_of?(String) && (path.end_with?('.kml') || path.end_with?('.xml') || !path.include?('.'))
|
|
60
62
|
end
|
|
61
63
|
|
|
62
64
|
def _tracks
|
data/lib/gpx_kml/version.rb
CHANGED
data/lib/gpx_kml.rb
CHANGED
|
@@ -12,12 +12,28 @@ module GPXKML
|
|
|
12
12
|
include CONVERTER
|
|
13
13
|
|
|
14
14
|
class GpxKml
|
|
15
|
-
def self.gpx_to_kml(
|
|
16
|
-
CONVERTER::Converter.gpx_to_kml(
|
|
15
|
+
def self.gpx_to_kml(gpx, destination_path)
|
|
16
|
+
CONVERTER::Converter.gpx_to_kml(gpx, destination_path)
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
def self.kml_to_gpx(
|
|
20
|
-
CONVERTER::Converter.kml_to_gpx(
|
|
19
|
+
def self.kml_to_gpx(kml, destination_path)
|
|
20
|
+
CONVERTER::Converter.kml_to_gpx(kml, destination_path)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.kml?(kml)
|
|
24
|
+
kml.is_a?(KML::Kml) && kml.kml?
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.gpx?(gpx)
|
|
28
|
+
gpx.is_a?(GPX::Gpx) && gpx.gpx?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.new_kml(file_path)
|
|
32
|
+
KML::Kml.new(file_path)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.new_gpx(file_path)
|
|
36
|
+
GPX::Gpx.new(file_path)
|
|
21
37
|
end
|
|
22
38
|
end
|
|
23
39
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gpx_kml
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Angelo Terzi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-10-
|
|
11
|
+
date: 2021-10-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -38,20 +38,6 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: 1.12.0
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: factory_bot
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - "~>"
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '6.2'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - "~>"
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '6.2'
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
42
|
name: rspec
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,8 +52,8 @@ dependencies:
|
|
|
66
52
|
- - "~>"
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
54
|
version: '3.0'
|
|
69
|
-
description: This gem adds the capability to convert GPS Exchange Format (GPX)
|
|
70
|
-
Keyhole Markup Language (KML) and viceversa
|
|
55
|
+
description: This gem adds the capability to convert GPS Exchange Format (GPX) files
|
|
56
|
+
to Keyhole Markup Language (KML) files and viceversa
|
|
71
57
|
email:
|
|
72
58
|
- info@engim.eu
|
|
73
59
|
executables: []
|
|
@@ -75,12 +61,6 @@ extensions: []
|
|
|
75
61
|
extra_rdoc_files: []
|
|
76
62
|
files:
|
|
77
63
|
- ".gitignore"
|
|
78
|
-
- ".idea/.gitignore"
|
|
79
|
-
- ".idea/dictionaries/angelo.xml"
|
|
80
|
-
- ".idea/gpx_kml.iml"
|
|
81
|
-
- ".idea/misc.xml"
|
|
82
|
-
- ".idea/modules.xml"
|
|
83
|
-
- ".idea/vcs.xml"
|
|
84
64
|
- ".rspec"
|
|
85
65
|
- ".travis.yml"
|
|
86
66
|
- CHANGELOG.md
|
|
@@ -115,7 +95,7 @@ metadata:
|
|
|
115
95
|
allowed_push_host: https://rubygems.org
|
|
116
96
|
homepage_uri: https://www.github.com/engim-eu/gpx_kml
|
|
117
97
|
source_code_uri: https://www.github.com/engim-eu/gpx_kml
|
|
118
|
-
changelog_uri: https://www.github.com/engim-eu/gpx_kml/CHANGELOG.md
|
|
98
|
+
changelog_uri: https://www.github.com/engim-eu/gpx_kml/blob/master/CHANGELOG.md
|
|
119
99
|
post_install_message:
|
|
120
100
|
rdoc_options: []
|
|
121
101
|
require_paths:
|
data/.idea/.gitignore
DELETED
data/.idea/gpx_kml.iml
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="RUBY_MODULE" version="4">
|
|
3
|
-
<component name="ModuleRunConfigurationManager">
|
|
4
|
-
<shared />
|
|
5
|
-
</component>
|
|
6
|
-
<component name="NewModuleRootManager">
|
|
7
|
-
<content url="file://$MODULE_DIR$">
|
|
8
|
-
<sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
|
|
9
|
-
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
|
10
|
-
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
|
11
|
-
</content>
|
|
12
|
-
<orderEntry type="inheritedJdk" />
|
|
13
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
14
|
-
<orderEntry type="library" scope="PROVIDED" name="activesupport (v6.1.4.1, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
15
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.1.4, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
16
|
-
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.1.9, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
17
|
-
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.4.4, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
18
|
-
<orderEntry type="library" scope="PROVIDED" name="factory_bot (v6.2.0, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="i18n (v1.8.10, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
20
|
-
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.14.4, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.12.5, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="racc (v1.6.0, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
23
|
-
<orderEntry type="library" scope="PROVIDED" name="rake (v12.3.3, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
24
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.10.0, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
25
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.10.1, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
26
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.10.1, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
27
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.10.2, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
28
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.10.2, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
29
|
-
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v2.0.4, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
30
|
-
<orderEntry type="library" scope="PROVIDED" name="zeitwerk (v2.4.2, RVM: ruby-2.7.2) [gem]" level="application" />
|
|
31
|
-
</component>
|
|
32
|
-
<component name="RakeTasksCache">
|
|
33
|
-
<option name="myRootTask">
|
|
34
|
-
<RakeTaskImpl id="rake">
|
|
35
|
-
<subtasks>
|
|
36
|
-
<RakeTaskImpl description="Build gpx_kml-0.0.1.gem into the pkg directory" fullCommand="build" id="build" />
|
|
37
|
-
<RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
|
|
38
|
-
<RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
|
|
39
|
-
<RakeTaskImpl description="Build and install gpx_kml-0.0.1.gem into system gems" fullCommand="install" id="install" />
|
|
40
|
-
<RakeTaskImpl id="install">
|
|
41
|
-
<subtasks>
|
|
42
|
-
<RakeTaskImpl description="Build and install gpx_kml-0.0.1.gem into system gems without network access" fullCommand="install:local" id="local" />
|
|
43
|
-
</subtasks>
|
|
44
|
-
</RakeTaskImpl>
|
|
45
|
-
<RakeTaskImpl description="Create tag v0.0.1 and build and push gpx_kml-0.0.1.gem to https://rubygems.com'" fullCommand="release[remote]" id="release[remote]" />
|
|
46
|
-
<RakeTaskImpl description="Run RSpec code examples" fullCommand="spec" id="spec" />
|
|
47
|
-
<RakeTaskImpl description="" fullCommand="default" id="default" />
|
|
48
|
-
<RakeTaskImpl description="" fullCommand="release" id="release" />
|
|
49
|
-
<RakeTaskImpl id="release">
|
|
50
|
-
<subtasks>
|
|
51
|
-
<RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
|
|
52
|
-
<RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
|
|
53
|
-
<RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
|
|
54
|
-
</subtasks>
|
|
55
|
-
</RakeTaskImpl>
|
|
56
|
-
</subtasks>
|
|
57
|
-
</RakeTaskImpl>
|
|
58
|
-
</option>
|
|
59
|
-
</component>
|
|
60
|
-
</module>
|
data/.idea/misc.xml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="ProjectResources">
|
|
4
|
-
<resource url="http://www.w3.org/2005/atom-author-link.xsd" location="$USER_HOME$/Desktop/atom-author-link.xsd" />
|
|
5
|
-
</component>
|
|
6
|
-
<component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.7.2" project-jdk-type="RUBY_SDK" />
|
|
7
|
-
</project>
|
data/.idea/modules.xml
DELETED