gpx 0.2 → 0.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.
@@ -21,7 +21,7 @@
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #++
23
23
  module GPX
24
- VERSION = "0.2"
24
+ VERSION = "0.3"
25
25
 
26
26
  # A common base class which provides a useful initializer method to many
27
27
  # class in the GPX library.
@@ -34,16 +34,13 @@ module GPX
34
34
  # an attribute to be initialized on the instance. This means you don't
35
35
  # have to pick out individual text elements in each initializer of each
36
36
  # class (Route, TrackPoint, Track, etc). Just pass an array of possible
37
- # attributes to this method.
38
- def instantiate_with_text_elements(parent, text_elements)
37
+ # attributes to this method.
38
+ def instantiate_with_text_elements(parent, text_elements, ns)
39
39
  text_elements.each do |el|
40
- unless parent.find(el).empty?
41
- val = parent.find(el).first.content
42
- code = <<-code
43
- attr_accessor #{ el }
44
- #{el}=#{val}
45
- code
46
- class_eval code
40
+ child_xpath = "gpx:#{el}"
41
+ unless parent.find(child_xpath, ns).empty?
42
+ val = parent.find(child_xpath, ns).first.content
43
+ self.send("#{el}=", val)
47
44
  end
48
45
  end
49
46
 
@@ -34,6 +34,8 @@ module GPX
34
34
  # puts "Duration: #{gpx_file.duration}"
35
35
  # puts "Bounds: #{gpx_file.bounds}"
36
36
  #
37
+ # To read a GPX file from a string, use :gpx_data.
38
+ # gpx_file = GPXFile.new(:gpx_data => '<xml ...><gpx>...</gpx>)
37
39
  # To create a new blank GPXFile instance:
38
40
  # gpx_file = GPXFile.new
39
41
  # Note that you can pass in any instance variables to this form of the initializer, including Tracks or Segments:
@@ -42,16 +44,20 @@ module GPX
42
44
  #
43
45
  def initialize(opts = {})
44
46
  @duration = 0
45
- if(opts[:gpx_file])
46
- gpx_file = opts[:gpx_file]
47
- #case gpx_file
48
- #when String
49
- # gpx_file = File.open(gpx_file)
50
- #end
51
- gpx_file = gpx_file.name if gpx_file.is_a?(File)
52
- reset_meta_data
53
- @xml = XML::Document.file(gpx_file)
54
-
47
+ if(opts[:gpx_file] or opts[:gpx_data])
48
+ if opts[:gpx_file]
49
+ gpx_file = opts[:gpx_file]
50
+ #case gpx_file
51
+ #when String
52
+ # gpx_file = File.open(gpx_file)
53
+ #end
54
+ gpx_file = gpx_file.name if gpx_file.is_a?(File)
55
+ @xml = XML::Document.file(gpx_file)
56
+ else
57
+ parser = XML::Parser.new
58
+ parser.string = opts[:gpx_data]
59
+ @xml = parser.parse
60
+ end
55
61
  # set XML namespace for XML find
56
62
  if @xml.root.namespace_node
57
63
  @ns = 'gpx:' + @xml.root.namespace_node.href
@@ -59,6 +65,7 @@ module GPX
59
65
  @ns = 'gpx:http://www.topografix.com/GPX/1/1' # default to GPX 1.1
60
66
  end
61
67
 
68
+ reset_meta_data
62
69
  bounds_element = (@xml.find("//gpx:gpx/gpx:metadata/gpx:bounds", @ns).to_a.first rescue nil)
63
70
  if bounds_element
64
71
  @bounds.min_lat = get_bounds_attr_value(bounds_element, %w{ min_lat minlat minLat })
@@ -25,7 +25,7 @@ module GPX
25
25
  # The base class for all points. Trackpoint and Waypoint both descend from this base class.
26
26
  class Point < Base
27
27
  D_TO_R = PI/180.0;
28
- attr_accessor :lat, :lon, :time, :elevation
28
+ attr_accessor :lat, :lon, :time, :elevation, :gpx_file
29
29
 
30
30
  # When you need to manipulate individual points, you can create a Point
31
31
  # object with a latitude, a longitude, an elevation, and a time. In
@@ -33,10 +33,10 @@ module GPX
33
33
  def initialize(opts = {})
34
34
  rte_element = opts[:element]
35
35
  @gpx_file = opts[:gpx_file]
36
- @name = rte_element.find("child::gpx:name", @ns).first.content
36
+ @name = rte_element.find("child::gpx:name", @gpx_file.ns).first.content
37
37
  @points = []
38
- rte_element.find("child::gpx:rtept", @ns).each do |point|
39
- @points << Point.new(:element => point)
38
+ rte_element.find("child::gpx:rtept", @gpx_file.ns).each do |point|
39
+ @points << Point.new(:element => point, :gpx_file => @gpx_file)
40
40
  end
41
41
 
42
42
  end
@@ -27,9 +27,10 @@ module GPX
27
27
  # not seen much use yet, since WalkingBoss does not use waypoints right now.
28
28
  class Waypoint < Point
29
29
 
30
- SUB_ELEMENTS = %q{ magvar geoidheight name cmt desc src link sym type fix sat hdop vdop pdop ageofdgpsdata dgpsid extensions }
30
+ SUB_ELEMENTS = %w{ magvar geoidheight name cmt desc src link sym type fix sat hdop vdop pdop ageofdgpsdata dgpsid extensions }
31
31
 
32
32
  attr_reader :gpx_file
33
+ SUB_ELEMENTS.each { |sub_el| attr_accessor sub_el.to_sym }
33
34
 
34
35
  # Not implemented
35
36
  def crop(area)
@@ -42,9 +43,25 @@ module GPX
42
43
  # Initializes a waypoint from a XML::Node.
43
44
  def initialize(opts = {})
44
45
  wpt_elem = opts[:element]
45
- super(:element => wpt_elem)
46
- instantiate_with_text_elements(wpt_elem, SUB_ELEMENTS)
47
46
  @gpx_file = opts[:gpx_file]
47
+ super(:element => wpt_elem, :gpx_file => @gpx_file)
48
+ instantiate_with_text_elements(wpt_elem, SUB_ELEMENTS, @gpx_file.ns)
49
+ end
50
+
51
+ # Prints out a friendly summary of this track (sans points). Useful for
52
+ # debugging and sanity checks.
53
+ def to_s
54
+ result = "Waypoint \n"
55
+ result << "\tName: #{name}\n"
56
+ result << "\tLatitude: #{lat} \n"
57
+ result << "\tLongitude: #{lon} \n"
58
+ result << "\tElevation: #{elevation}\n "
59
+ result << "\tTime: #{time}\n"
60
+ SUB_ELEMENTS.each do |sub_element_attribute|
61
+ val = self.send(sub_element_attribute)
62
+ result << "\t#{sub_element_attribute}: #{val}\n" unless val.nil?
63
+ end
64
+ result
48
65
  end
49
66
 
50
67
  # Converts a waypoint to a XML::Node.
@@ -1,7 +1,7 @@
1
1
  require 'test/unit'
2
2
  require File.dirname(__FILE__) + '/../lib/gpx'
3
3
 
4
- class TestGPX10 < Test::Unit::TestCase
4
+ class GPX10Test < Test::Unit::TestCase
5
5
  GPX_FILE = File.join(File.dirname(__FILE__), "gpx_files/gpx10.gpx")
6
6
 
7
7
  def test_read
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/gpx'
3
+
4
+ class GPXFileTest < Test::Unit::TestCase
5
+ ONE_TRACK_FILE = File.join(File.dirname(__FILE__), "gpx_files/one_track.gpx")
6
+ def test_load_data
7
+ GPX::GPXFile.new(:gpx_data => open(ONE_TRACK_FILE).read)
8
+ end
9
+ end
@@ -1 +1,9 @@
1
- <?xml version="1.0" encoding="UTF-8"?><gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Link2GPS - 2.0.2 - http://www.hiketech.com" xsi:schemaLocation="ttp://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><name><![CDATA[routes.gpx]]></name><time>2006-01-02T08:55:34Z</time><bounds min_lat="39.989739" min_lon="-105.295285" max_lat="39.999840" max_lon="-105.214696"/></metadata><extensions/><rte><name><![CDATA[GRG-CA-TO]]></name><rtept lat="39.997298" lon="-105.292674"><name><![CDATA[GRG-CA]]></name><sym>Waypoint</sym><ele>1766.535</ele></rtept><rtept lat="39.995700" lon="-105.292805"><name><![CDATA[AMPTHT]]></name><sym>Waypoint</sym><ele>1854.735</ele></rtept><rtept lat="39.989739" lon="-105.295285"><name><![CDATA[TO]]></name><sym>Waypoint</sym><ele>2163.556</ele></rtept></rte><rte><name><![CDATA[SBDR-SBDR]]></name><rtept lat="39.999840" lon="-105.214696"><name><![CDATA[SBDR]]></name><sym>Waypoint</sym><ele>1612.965</ele></rtept></rte></gpx>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Link2GPS - 2.0.2 - http://www.hiketech.com" xsi:schemaLocation="ttp://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><name><![CDATA[routes.gpx]]></name><time>2006-01-02T08:55:34Z</time><bounds min_lat="39.989739" min_lon="-105.295285" max_lat="39.999840" max_lon="-105.214696"/></metadata><extensions/>
3
+ <rte><name><![CDATA[GRG-CA-TO]]></name>
4
+ <rtept lat="39.997298" lon="-105.292674"><name><![CDATA[GRG-CA]]></name><sym>Waypoint</sym><ele>1766.535</ele></rtept>
5
+ <rtept lat="39.995700" lon="-105.292805"><name><![CDATA[AMPTHT]]></name><sym>Waypoint</sym><ele>1854.735</ele></rtept>
6
+ <rtept lat="39.989739" lon="-105.295285"><name><![CDATA[TO]]></name><sym>Waypoint</sym><ele>2163.556</ele></rtept></rte>
7
+ <rte><name><![CDATA[SBDR-SBDR]]></name>
8
+ <rtept lat="39.999840" lon="-105.214696"><name><![CDATA[SBDR]]></name><sym>Waypoint</sym><ele>1612.965</ele></rtept></rte>
9
+ </gpx>
@@ -1 +1,20 @@
1
- <?xml version="1.0" encoding="UTF-8"?><gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Link2GPS - 2.0.2 - http://www.hiketech.com" xsi:schemaLocation="ttp://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><name><![CDATA[waypoints.gpx]]></name><time>2006-01-02T08:55:21Z</time><bounds min_lat="25.061783" min_lon="-111.946110" max_lat="50.982883" max_lon="121.640267"/></metadata><extensions/><wpt lat="40.035557" lon="-105.248268"><name><![CDATA[001]]></name><sym>Waypoint</sym><ele>1639.161</ele></wpt><wpt lat="39.993070" lon="-105.296588"><name><![CDATA[002]]></name><sym>Waypoint</sym><ele>1955.192</ele></wpt><wpt lat="39.990151" lon="-105.295680"><name><![CDATA[003]]></name><sym>Waypoint</sym><ele>2129.91</ele></wpt><wpt lat="39.990157" lon="-105.295686"><name><![CDATA[004]]></name><sym>Waypoint</sym><ele>2136.399</ele></wpt><wpt lat="39.990134" lon="-105.295251"><name><![CDATA[005]]></name><sym>Waypoint</sym><ele>2174.612</ele></wpt><wpt lat="39.990116" lon="-105.295147"><name><![CDATA[006]]></name><sym>Waypoint</sym><ele>2156.106</ele></wpt><wpt lat="39.990099" lon="-105.295207"><name><![CDATA[007]]></name><sym>Waypoint</sym><ele>2155.145</ele></wpt><wpt lat="39.990067" lon="-105.295185"><name><![CDATA[008]]></name><sym>Waypoint</sym><ele>2152.021</ele></wpt><wpt lat="39.995700" lon="-105.292805"><name><![CDATA[AMPTHT]]></name><sym>Waypoint</sym><ele>1854.735</ele></wpt><wpt lat="38.855550" lon="-94.799017"><name><![CDATA[GARMIN]]></name><sym>Waypoint</sym><ele>325.0491</ele></wpt><wpt lat="39.997298" lon="-105.292674"><name><![CDATA[GRG-CA]]></name><sym>Waypoint</sym><ele>1766.535</ele></wpt><wpt lat="50.982883" lon="-1.463900"><name><![CDATA[GRMEUR]]></name><sym>Waypoint</sym><ele>35.93469</ele></wpt><wpt lat="33.330190" lon="-111.946110"><name><![CDATA[GRMPHX]]></name><sym>Waypoint</sym><ele>361.0981</ele></wpt><wpt lat="25.061783" lon="121.640267"><name><![CDATA[GRMTWN]]></name><sym>Waypoint</sym><ele>38.09766</ele></wpt><wpt lat="39.999840" lon="-105.214696"><name><![CDATA[SBDR]]></name><sym>Waypoint</sym><ele>1612.965</ele></wpt><wpt lat="39.989739" lon="-105.295285"><name><![CDATA[TO]]></name><sym>Waypoint</sym><ele>2163.556</ele></wpt><wpt lat="40.035301" lon="-105.254443"><name><![CDATA[VICS]]></name><sym>Waypoint</sym><ele>1535.34</ele></wpt></gpx>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Link2GPS - 2.0.2 - http://www.hiketech.com" xsi:schemaLocation="ttp://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"><metadata><name><![CDATA[waypoints.gpx]]></name><time>2006-01-02T08:55:21Z</time><bounds min_lat="25.061783" min_lon="-111.946110" max_lat="50.982883" max_lon="121.640267"/></metadata><extensions/>
3
+ <wpt lat="40.035557" lon="-105.248268"><name><![CDATA[001]]></name><sym>Waypoint</sym><ele>1639.161</ele><cmt><![CDATA[001]]></cmt><desc><![CDATA[Just some waypoint...]]></desc></wpt>
4
+ <wpt lat="39.993070" lon="-105.296588"><name><![CDATA[002]]></name><sym>Waypoint</sym><ele>1955.192</ele></wpt>
5
+ <wpt lat="39.990151" lon="-105.295680"><name><![CDATA[003]]></name><sym>Waypoint</sym><ele>2129.91</ele></wpt>
6
+ <wpt lat="39.990157" lon="-105.295686"><name><![CDATA[004]]></name><sym>Waypoint</sym><ele>2136.399</ele></wpt>
7
+ <wpt lat="39.990134" lon="-105.295251"><name><![CDATA[005]]></name><sym>Waypoint</sym><ele>2174.612</ele></wpt>
8
+ <wpt lat="39.990116" lon="-105.295147"><name><![CDATA[006]]></name><sym>Waypoint</sym><ele>2156.106</ele></wpt>
9
+ <wpt lat="39.990099" lon="-105.295207"><name><![CDATA[007]]></name><sym>Waypoint</sym><ele>2155.145</ele></wpt>
10
+ <wpt lat="39.990067" lon="-105.295185"><name><![CDATA[008]]></name><sym>Waypoint</sym><ele>2152.021</ele></wpt>
11
+ <wpt lat="39.995700" lon="-105.292805"><name><![CDATA[AMPTHT]]></name><sym>Waypoint</sym><ele>1854.735</ele></wpt>
12
+ <wpt lat="38.855550" lon="-94.799017"><name><![CDATA[GARMIN]]></name><sym>Waypoint</sym><ele>325.0491</ele></wpt>
13
+ <wpt lat="39.997298" lon="-105.292674"><name><![CDATA[GRG-CA]]></name><sym>Waypoint</sym><ele>1766.535</ele></wpt>
14
+ <wpt lat="50.982883" lon="-1.463900"><name><![CDATA[GRMEUR]]></name><sym>Waypoint</sym><ele>35.93469</ele></wpt>
15
+ <wpt lat="33.330190" lon="-111.946110"><name><![CDATA[GRMPHX]]></name><sym>Waypoint</sym><ele>361.0981</ele></wpt>
16
+ <wpt lat="25.061783" lon="121.640267"><name><![CDATA[GRMTWN]]></name><sym>Waypoint</sym><ele>38.09766</ele></wpt>
17
+ <wpt lat="39.999840" lon="-105.214696"><name><![CDATA[SBDR]]></name><sym>Waypoint</sym><ele>1612.965</ele></wpt>
18
+ <wpt lat="39.989739" lon="-105.295285"><name><![CDATA[TO]]></name><sym>Waypoint</sym><ele>2163.556</ele></wpt>
19
+ <wpt lat="40.035301" lon="-105.254443"><name><![CDATA[VICS]]></name><sym>Waypoint</sym><ele>1535.34</ele></wpt>
20
+ </gpx>
@@ -1,7 +1,7 @@
1
1
  require 'test/unit'
2
2
  require File.dirname(__FILE__) + '/../lib/gpx'
3
3
 
4
- class TestMagellanTrackLog < Test::Unit::TestCase
4
+ class MagellanTest < Test::Unit::TestCase
5
5
  MAGELLAN_TRACK_LOG = File.join(File.dirname(__FILE__), "gpx_files/magellan_track.log")
6
6
  GPX_FILE = File.join(File.dirname(__FILE__), "gpx_files/one_segment.gpx")
7
7
 
@@ -0,0 +1,63 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/gpx'
3
+
4
+ class RouteTest < Test::Unit::TestCase
5
+
6
+ def test_read_routes
7
+ gpx = GPX::GPXFile.new(:gpx_file => File.join(File.dirname(__FILE__), "gpx_files/routes.gpx"))
8
+ assert_equal(2, gpx.routes.size)
9
+ first_route = gpx.routes.first
10
+ assert_equal(3, first_route.points.size)
11
+ assert_equal('GRG-CA-TO', first_route.name)
12
+
13
+
14
+ # Route 1, First Point
15
+ # <rtept lat="39.997298" lon="-105.292674">
16
+ # <name><![CDATA[GRG-CA]]></name>
17
+ # <sym>Waypoint</sym>
18
+ # <ele>1766.535</ele>
19
+ # </rtept>
20
+ assert_equal(39.997298, first_route.points[0].lat)
21
+ assert_equal(-105.292674, first_route.points[0].lon)
22
+ assert_equal(1766.535, first_route.points[0].elevation)
23
+
24
+
25
+ # Route 1, Second Point
26
+ # <rtept lat="39.995700" lon="-105.292805">
27
+ # <name><![CDATA[AMPTHT]]></name>
28
+ # <sym>Waypoint</sym>
29
+ # <ele>1854.735</ele>
30
+ # </rtept>
31
+ assert_equal(39.995700, first_route.points[1].lat)
32
+ assert_equal(-105.292805, first_route.points[1].lon)
33
+ assert_equal(1854.735, first_route.points[1].elevation)
34
+
35
+ # Route 1, Third Point
36
+ # <rtept lat="39.989739" lon="-105.295285">
37
+ # <name><![CDATA[TO]]></name>
38
+ # <sym>Waypoint</sym>
39
+ # <ele>2163.556</ele>
40
+ # </rtept>
41
+ assert_equal(39.989739, first_route.points[2].lat)
42
+ assert_equal(-105.295285, first_route.points[2].lon)
43
+ assert_equal(2163.556, first_route.points[2].elevation)
44
+
45
+
46
+ second_route = gpx.routes[1]
47
+ assert_equal(1, second_route.points.size)
48
+ assert_equal('SBDR-SBDR', second_route.name)
49
+
50
+ # Route 2, Only Point
51
+ # <rtept lat="39.999840" lon="-105.214696">
52
+ # <name><![CDATA[SBDR]]></name>
53
+ # <sym>Waypoint</sym>
54
+ # <ele>1612.965</ele>
55
+ # </rtept>
56
+ assert_equal(39.999840, second_route.points[0].lat)
57
+ assert_equal(-105.214696, second_route.points[0].lon)
58
+ assert_equal(1612.965, second_route.points[0].elevation)
59
+
60
+ end
61
+
62
+
63
+ end
@@ -2,7 +2,7 @@ require 'test/unit'
2
2
  require 'yaml'
3
3
  require File.dirname(__FILE__) + '/../lib/gpx'
4
4
 
5
- class TestSegment < Test::Unit::TestCase
5
+ class SegmentTest < Test::Unit::TestCase
6
6
  ONE_SEGMENT = File.join(File.dirname(__FILE__), "gpx_files/one_segment.gpx")
7
7
 
8
8
  def setup
@@ -1,7 +1,7 @@
1
1
  require 'test/unit'
2
2
  require File.dirname(__FILE__) + '/../lib/gpx'
3
3
 
4
- class TestTrackFile < Test::Unit::TestCase
4
+ class TrackFileTest < Test::Unit::TestCase
5
5
  TRACK_FILE = File.join(File.dirname(__FILE__), "gpx_files/tracks.gpx")
6
6
  OTHER_TRACK_FILE = File.join(File.dirname(__FILE__), "gpx_files/arches.gpx")
7
7
 
@@ -1,7 +1,7 @@
1
1
  require 'test/unit'
2
2
  require File.dirname(__FILE__) + '/../lib/gpx'
3
3
 
4
- class TestTrack < Test::Unit::TestCase
4
+ class TrackTest < Test::Unit::TestCase
5
5
  ONE_TRACK = File.join(File.dirname(__FILE__), "gpx_files/one_track.gpx")
6
6
 
7
7
  def setup
@@ -0,0 +1,44 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/gpx'
3
+
4
+ class WaypointTest < Test::Unit::TestCase
5
+
6
+ def test_read_waypoints
7
+
8
+ gpx = GPX::GPXFile.new(:gpx_file => File.join(File.dirname(__FILE__), "gpx_files/waypoints.gpx"))
9
+ assert_equal(17, gpx.waypoints.size)
10
+
11
+ # First Waypoint
12
+ # <wpt lat="40.035557" lon="-105.248268">
13
+ # <name><![CDATA[001]]></name>
14
+ # <sym>Waypoint</sym>
15
+ # <ele>1639.161</ele>
16
+ # <cmt><![CDATA[001]]></cmt>
17
+ # <desc><![CDATA[Just some waypoint...]]></desc>
18
+ # </wpt>
19
+
20
+ first_wpt = gpx.waypoints[0]
21
+ assert_equal(40.035557, first_wpt.lat)
22
+ assert_equal(-105.248268, first_wpt.lon)
23
+ assert_equal('001', first_wpt.name)
24
+ assert_equal('001', first_wpt.cmt)
25
+ assert_equal('Just some waypoint...', first_wpt.desc)
26
+ assert_equal('Waypoint', first_wpt.sym)
27
+ assert_equal(1639.161, first_wpt.elevation)
28
+
29
+ # Second Waypoint
30
+ # <wpt lat="39.993070" lon="-105.296588">
31
+ # <name><![CDATA[002]]></name>
32
+ # <sym>Waypoint</sym>
33
+ # <ele>1955.192</ele>
34
+ # </wpt>
35
+ second_wpt = gpx.waypoints[1]
36
+ assert_equal(39.993070, second_wpt.lat)
37
+ assert_equal(-105.296588, second_wpt.lon)
38
+ assert_equal('002', second_wpt.name)
39
+ assert_equal('Waypoint', second_wpt.sym)
40
+ assert_equal(1955.192, second_wpt.elevation)
41
+
42
+ end
43
+ end
44
+
metadata CHANGED
@@ -1,33 +1,26 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: gpx
5
3
  version: !ruby/object:Gem::Version
6
- version: "0.2"
7
- date: 2007-11-29 00:00:00 -07:00
8
- summary: A basic API for reading and writing GPX files.
9
- require_paths:
10
- - lib
11
- email: doug.fales@gmail.com
12
- homepage: http://gpx.rubyforge.com/
13
- rubyforge_project:
14
- description: A basic API for reading and writing GPX files.
15
- autorequire: gpx
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: "0.3"
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Doug Fales
8
+ autorequire: gpx
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-02-11 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: A basic API for reading and writing GPX files.
17
+ email: doug.fales@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
31
24
  files:
32
25
  - lib/gpx
33
26
  - lib/gpx/bounds.rb
@@ -42,6 +35,7 @@ files:
42
35
  - lib/gpx/waypoint.rb
43
36
  - lib/gpx.rb
44
37
  - tests/gpx10_test.rb
38
+ - tests/gpx_file_test.rb
45
39
  - tests/gpx_files
46
40
  - tests/gpx_files/arches.gpx
47
41
  - tests/gpx_files/gpx10.gpx
@@ -52,22 +46,38 @@ files:
52
46
  - tests/gpx_files/tracks.gpx
53
47
  - tests/gpx_files/waypoints.gpx
54
48
  - tests/magellan_test.rb
49
+ - tests/route_test.rb
55
50
  - tests/segment_test.rb
56
51
  - tests/track_file_test.rb
57
52
  - tests/track_test.rb
53
+ - tests/waypoint_test.rb
58
54
  - Rakefile
59
55
  - README
60
- test_files: []
61
-
56
+ has_rdoc: true
57
+ homepage: http://gpx.rubyforge.com/
58
+ post_install_message:
62
59
  rdoc_options: []
63
60
 
64
- extra_rdoc_files: []
65
-
66
- executables: []
67
-
68
- extensions: []
69
-
61
+ require_paths:
62
+ - lib
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ version:
69
+ required_rubygems_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
70
75
  requirements: []
71
76
 
72
- dependencies: []
77
+ rubyforge_project:
78
+ rubygems_version: 1.0.1
79
+ signing_key:
80
+ specification_version: 2
81
+ summary: A basic API for reading and writing GPX files.
82
+ test_files: []
73
83