gooby 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README +242 -0
- data/bin/example_usage.rb +38 -0
- data/bin/tests_gen.rb +16 -0
- data/data/20050305_corporate_cup_hm.csv +251 -0
- data/data/20050305_corporate_cup_hm.xml +2208 -0
- data/data/20050430_nashville_marathon.csv +1208 -0
- data/data/20050430_nashville_marathon.xml +10043 -0
- data/data/20051119_dowd_ymca_hm.csv +251 -0
- data/data/20051119_dowd_ymca_hm.xml +2210 -0
- data/data/20051124_hyatt_turkey_trot_8K.csv +321 -0
- data/data/20051124_hyatt_turkey_trot_8K.xml +2651 -0
- data/data/2007_03_03.tcx +6207 -0
- data/data/forerunner_2007.xml +259014 -0
- data/data/geo_data.txt +171 -0
- data/data/phx.csv +1280 -0
- data/data/phx.xml +10620 -0
- data/data/run_2007_01_01_16_38_27.xml +2020 -0
- data/data/run_2007_01_06_15_27_31.xml +2020 -0
- data/data/run_2007_01_10_12_25_47.xml +820 -0
- data/data/run_2007_01_10_22_44_54.csv +112 -0
- data/data/run_2007_01_10_22_44_54.xml +908 -0
- data/data/run_2007_01_11_10_48_45.xml +1292 -0
- data/data/run_2007_01_13_15_37_06.xml +1964 -0
- data/data/run_2007_01_14_15_46_02.xml +1368 -0
- data/data/run_2007_01_15_14_01_48.xml +1868 -0
- data/data/run_2007_01_20_16_22_05.xml +1702 -0
- data/data/run_2007_01_27_17_32_13.xml +3626 -0
- data/data/run_2007_01_28_19_14_52.xml +2538 -0
- data/data/run_2007_02_03_14_30_20.xml +2016 -0
- data/data/run_2007_02_04_18_02_30.xml +1476 -0
- data/data/run_2007_02_17_16_29_35.xml +1236 -0
- data/data/run_2007_02_19_14_44_33.xml +1816 -0
- data/data/run_2007_02_23_15_53_55.xml +36 -0
- data/data/run_2007_02_23_15_55_20.xml +1296 -0
- data/data/run_2007_02_24_15_01_35.csv +484 -0
- data/data/run_2007_02_24_15_01_35.xml +3884 -0
- data/data/test1.txt +4 -0
- data/img/gicons/blank.png +0 -0
- data/img/gicons/dd-end.png +0 -0
- data/img/gicons/dd-start.png +0 -0
- data/img/gicons/marker.png +0 -0
- data/img/gicons/marker0.png +0 -0
- data/img/gicons/marker00.png +0 -0
- data/img/gicons/marker01.png +0 -0
- data/img/gicons/marker02.png +0 -0
- data/img/gicons/marker03.png +0 -0
- data/img/gicons/marker04.png +0 -0
- data/img/gicons/marker05.png +0 -0
- data/img/gicons/marker06.png +0 -0
- data/img/gicons/marker07.png +0 -0
- data/img/gicons/marker08.png +0 -0
- data/img/gicons/marker09.png +0 -0
- data/img/gicons/marker1.png +0 -0
- data/img/gicons/marker10.png +0 -0
- data/img/gicons/marker11.png +0 -0
- data/img/gicons/marker12.png +0 -0
- data/img/gicons/marker13.png +0 -0
- data/img/gicons/marker14.png +0 -0
- data/img/gicons/marker15.png +0 -0
- data/img/gicons/marker16.png +0 -0
- data/img/gicons/marker17.png +0 -0
- data/img/gicons/marker18.png +0 -0
- data/img/gicons/marker19.png +0 -0
- data/img/gicons/marker2.png +0 -0
- data/img/gicons/marker20.png +0 -0
- data/img/gicons/marker21.png +0 -0
- data/img/gicons/marker22.png +0 -0
- data/img/gicons/marker23.png +0 -0
- data/img/gicons/marker24.png +0 -0
- data/img/gicons/marker25.png +0 -0
- data/img/gicons/marker26.png +0 -0
- data/img/gicons/marker27.png +0 -0
- data/img/gicons/marker28.png +0 -0
- data/img/gicons/marker29.png +0 -0
- data/img/gicons/marker3.png +0 -0
- data/img/gicons/marker30.png +0 -0
- data/img/gicons/marker31.png +0 -0
- data/img/gicons/marker32.png +0 -0
- data/img/gicons/marker33.png +0 -0
- data/img/gicons/marker34.png +0 -0
- data/img/gicons/marker35.png +0 -0
- data/img/gicons/marker36.png +0 -0
- data/img/gicons/marker37.png +0 -0
- data/img/gicons/marker38.png +0 -0
- data/img/gicons/marker39.png +0 -0
- data/img/gicons/marker4.png +0 -0
- data/img/gicons/marker40.png +0 -0
- data/img/gicons/marker41.png +0 -0
- data/img/gicons/marker42.png +0 -0
- data/img/gicons/marker43.png +0 -0
- data/img/gicons/marker44.png +0 -0
- data/img/gicons/marker45.png +0 -0
- data/img/gicons/marker46.png +0 -0
- data/img/gicons/marker47.png +0 -0
- data/img/gicons/marker48.png +0 -0
- data/img/gicons/marker49.png +0 -0
- data/img/gicons/marker5.png +0 -0
- data/img/gicons/marker50.png +0 -0
- data/img/gicons/marker51.png +0 -0
- data/img/gicons/marker52.png +0 -0
- data/img/gicons/marker53.png +0 -0
- data/img/gicons/marker54.png +0 -0
- data/img/gicons/marker55.png +0 -0
- data/img/gicons/marker56.png +0 -0
- data/img/gicons/marker57.png +0 -0
- data/img/gicons/marker58.png +0 -0
- data/img/gicons/marker59.png +0 -0
- data/img/gicons/marker6.png +0 -0
- data/img/gicons/marker60.png +0 -0
- data/img/gicons/marker61.png +0 -0
- data/img/gicons/marker62.png +0 -0
- data/img/gicons/marker63.png +0 -0
- data/img/gicons/marker64.png +0 -0
- data/img/gicons/marker65.png +0 -0
- data/img/gicons/marker66.png +0 -0
- data/img/gicons/marker67.png +0 -0
- data/img/gicons/marker68.png +0 -0
- data/img/gicons/marker69.png +0 -0
- data/img/gicons/marker7.png +0 -0
- data/img/gicons/marker70.png +0 -0
- data/img/gicons/marker71.png +0 -0
- data/img/gicons/marker72.png +0 -0
- data/img/gicons/marker73.png +0 -0
- data/img/gicons/marker74.png +0 -0
- data/img/gicons/marker75.png +0 -0
- data/img/gicons/marker76.png +0 -0
- data/img/gicons/marker77.png +0 -0
- data/img/gicons/marker78.png +0 -0
- data/img/gicons/marker79.png +0 -0
- data/img/gicons/marker8.png +0 -0
- data/img/gicons/marker80.png +0 -0
- data/img/gicons/marker81.png +0 -0
- data/img/gicons/marker82.png +0 -0
- data/img/gicons/marker83.png +0 -0
- data/img/gicons/marker84.png +0 -0
- data/img/gicons/marker85.png +0 -0
- data/img/gicons/marker86.png +0 -0
- data/img/gicons/marker87.png +0 -0
- data/img/gicons/marker88.png +0 -0
- data/img/gicons/marker89.png +0 -0
- data/img/gicons/marker9.png +0 -0
- data/img/gicons/marker90.png +0 -0
- data/img/gicons/marker91.png +0 -0
- data/img/gicons/marker92.png +0 -0
- data/img/gicons/marker93.png +0 -0
- data/img/gicons/marker94.png +0 -0
- data/img/gicons/marker95.png +0 -0
- data/img/gicons/marker96.png +0 -0
- data/img/gicons/marker97.png +0 -0
- data/img/gicons/marker98.png +0 -0
- data/img/gicons/marker99.png +0 -0
- data/img/gicons/markerA.png +0 -0
- data/img/gicons/markerB.png +0 -0
- data/img/gicons/markerC.png +0 -0
- data/img/gicons/markerD.png +0 -0
- data/img/gicons/markerE.png +0 -0
- data/img/gicons/markerF.png +0 -0
- data/img/gicons/markerG.png +0 -0
- data/img/gicons/markerH.png +0 -0
- data/img/gicons/markerI.png +0 -0
- data/img/gicons/markerJ.png +0 -0
- data/img/gicons/mm_20_red.png +0 -0
- data/img/gicons/mm_20_shadow.png +0 -0
- data/img/gicons/readme.txt +11 -0
- data/img/gicons/shadow50.png +0 -0
- data/lib/gooby/cls_counter_hash.rb +78 -0
- data/lib/gooby/cls_delim_line.rb +35 -0
- data/lib/gooby/cls_dttm.rb +79 -0
- data/lib/gooby/cls_duration.rb +79 -0
- data/lib/gooby/cls_forerunner_xml_parser.rb +178 -0
- data/lib/gooby/cls_forerunner_xml_splitter.rb +109 -0
- data/lib/gooby/cls_geo_data.rb +181 -0
- data/lib/gooby/cls_gooby_command.rb +35 -0
- data/lib/gooby/cls_gooby_object.rb +18 -0
- data/lib/gooby/cls_google_map_generator.rb +363 -0
- data/lib/gooby/cls_history.rb +33 -0
- data/lib/gooby/cls_lap.rb +22 -0
- data/lib/gooby/cls_line.rb +75 -0
- data/lib/gooby/cls_options.rb +67 -0
- data/lib/gooby/cls_position.rb +44 -0
- data/lib/gooby/cls_run.rb +194 -0
- data/lib/gooby/cls_simple_xml_parser.rb +41 -0
- data/lib/gooby/cls_test_regen.rb +182 -0
- data/lib/gooby/cls_track.rb +47 -0
- data/lib/gooby/cls_trackpoint.rb +200 -0
- data/lib/gooby/mod_introspect.rb +26 -0
- data/lib/gooby/mod_io.rb +58 -0
- data/lib/gooby/mod_project_info.rb +80 -0
- data/lib/gooby/mod_string.rb +19 -0
- data/lib/gooby/mod_test_helper.rb +15 -0
- data/lib/gooby.rb +2265 -0
- data/pkg/code_header.txt +21 -0
- data/pkg/pkg.rb +236 -0
- data/pkg/test_header.txt +19 -0
- data/samples/20041113_richmond_marathon.html +532 -0
- data/samples/20050305_corporate_cup_hm.html +448 -0
- data/samples/20050430_nashville_marathon.html +530 -0
- data/samples/gps_point_capture.html +54 -0
- data/samples/phoenix_marathon.html +542 -0
- data/samples/run_2007_01_10_22_44_54.html +201 -0
- data/samples/run_2007_02_24_15_01_35.html +298 -0
- data/tests/tc_cls_counter_hash.rb +107 -0
- data/tests/tc_cls_delim_line.rb +74 -0
- data/tests/tc_cls_dttm.rb +131 -0
- data/tests/tc_cls_duration.rb +51 -0
- data/tests/tc_cls_forerunner_xml_parser.rb +70 -0
- data/tests/tc_cls_geo_data.xxx +71 -0
- data/tests/tc_cls_gooby_object.rb +26 -0
- data/tests/tc_cls_google_map_generator.rb +109 -0
- data/tests/tc_cls_history.rb +46 -0
- data/tests/tc_cls_lap.rb +38 -0
- data/tests/tc_cls_line.rb +110 -0
- data/tests/tc_cls_options.rb +79 -0
- data/tests/tc_cls_position.rb +66 -0
- data/tests/tc_cls_run.rb +142 -0
- data/tests/tc_cls_simple_xml_parser.rb +50 -0
- data/tests/tc_cls_track.rb +70 -0
- data/tests/tc_cls_trackpoint.rb +145 -0
- data/tests/tc_mod_introspect.rb +32 -0
- data/tests/tc_mod_io.rb +53 -0
- data/tests/tc_mod_project_info.rb +79 -0
- data/tests/tc_mod_string.rb +58 -0
- data/tests/ts_gooby.rb +1237 -0
- metadata +270 -0
data/lib/gooby/mod_io.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
module Gooby
|
2
|
+
|
3
|
+
module GoobyIO
|
4
|
+
|
5
|
+
# Return an Array of lines in file, optionally stripped.
|
6
|
+
def read_lines(filename, strip=false)
|
7
|
+
|
8
|
+
array = IO.readlines(filename)
|
9
|
+
if strip
|
10
|
+
array = strip_lines(array)
|
11
|
+
end
|
12
|
+
return array
|
13
|
+
end
|
14
|
+
|
15
|
+
# Return an Array of lines in file per the given delimeter, optionally stripped.
|
16
|
+
def read_as_ascii_lines(filename, delim=10, strip=false)
|
17
|
+
|
18
|
+
array = Array.new
|
19
|
+
file = File.new(filename)
|
20
|
+
currLine = ''
|
21
|
+
bytesRead = 0
|
22
|
+
linesRead = 0
|
23
|
+
|
24
|
+
file.each_byte { |b|
|
25
|
+
bytesRead = bytesRead + 1
|
26
|
+
if (b == delim) # delim is 13 for quicken, 10 for address book xml
|
27
|
+
array << currLine
|
28
|
+
currLine = ''
|
29
|
+
linesRead = linesRead + 1
|
30
|
+
else
|
31
|
+
if (b < 127)
|
32
|
+
currLine << "#{b.chr}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
}
|
36
|
+
|
37
|
+
if currLine.size > 0
|
38
|
+
array << currLine
|
39
|
+
end
|
40
|
+
if strip
|
41
|
+
array = strip_lines(array)
|
42
|
+
end
|
43
|
+
return array
|
44
|
+
end
|
45
|
+
|
46
|
+
# Strip the lines/Strings; return a new Array.
|
47
|
+
def strip_lines(array)
|
48
|
+
|
49
|
+
newArray = Array.new
|
50
|
+
if (array != nil)
|
51
|
+
array.each { |line| line.strip! ; newArray << line }
|
52
|
+
end
|
53
|
+
return newArray
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
end # end of module
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Gooby
|
2
|
+
|
3
|
+
=begin rdoc
|
4
|
+
This module is used to embed information about the Gooby project and
|
5
|
+
version into the codebase.
|
6
|
+
|
7
|
+
Gooby - Copyright 2007 by Chris Joakim.
|
8
|
+
Gooby is available under GNU General Public License (GPL) license.
|
9
|
+
=end
|
10
|
+
|
11
|
+
module GoobyProjectInfo
|
12
|
+
|
13
|
+
# Return a String version number, like '1.0.0'.
|
14
|
+
def project_version_number
|
15
|
+
'0.9.3'
|
16
|
+
end
|
17
|
+
|
18
|
+
# Return a String date, like '2007/02/25'.
|
19
|
+
def project_date
|
20
|
+
'2007/03/03'
|
21
|
+
end
|
22
|
+
|
23
|
+
# Return a String year, like '2007'.
|
24
|
+
def project_year
|
25
|
+
project_date[0...4] # start, length
|
26
|
+
end
|
27
|
+
|
28
|
+
# Return a String containing copyright, year, and author.
|
29
|
+
def project_copyright
|
30
|
+
"Copyright (C) #{project_year} #{project_author}"
|
31
|
+
end
|
32
|
+
|
33
|
+
# Return a String containing GNU/GPL, and the gpl.html URL.
|
34
|
+
def project_license
|
35
|
+
'GNU General Public License (GPL). See http://www.gnu.org/copyleft/gpl.html'
|
36
|
+
end
|
37
|
+
|
38
|
+
# Return a String containing the project author name.
|
39
|
+
def project_author
|
40
|
+
'Chris Joakim'
|
41
|
+
end
|
42
|
+
|
43
|
+
def google_maps_api_level
|
44
|
+
'2'
|
45
|
+
end
|
46
|
+
|
47
|
+
def some_new_thing
|
48
|
+
'2'
|
49
|
+
end
|
50
|
+
|
51
|
+
def tested_files
|
52
|
+
array = Array.new
|
53
|
+
array << 'cls_counter_hash.rb'
|
54
|
+
array << 'cls_delim_line.rb'
|
55
|
+
array << 'cls_dttm.rb'
|
56
|
+
array << 'cls_duration.rb'
|
57
|
+
array << 'cls_forerunner_xml_parser.rb'
|
58
|
+
array << 'cls_geo_data.rb'
|
59
|
+
array << 'cls_gooby_object.rb'
|
60
|
+
array << 'cls_google_map_generator.rb'
|
61
|
+
array << 'cls_history.rb'
|
62
|
+
array << 'cls_lap.rb'
|
63
|
+
array << 'cls_line.rb'
|
64
|
+
array << 'cls_options.rb'
|
65
|
+
array << 'cls_position.rb'
|
66
|
+
array << 'cls_run.rb'
|
67
|
+
array << 'cls_simple_xml_parser.rb'
|
68
|
+
array << 'cls_track.rb'
|
69
|
+
array << 'cls_trackpoint.rb'
|
70
|
+
array << 'mod_constants.rb'
|
71
|
+
array << 'mod_introspect.rb'
|
72
|
+
array << 'mod_io.rb'
|
73
|
+
array << 'mod_project_info.rb'
|
74
|
+
array << 'mod_string.rb'
|
75
|
+
array
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
79
|
+
|
80
|
+
end # end of module
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Gooby
|
2
|
+
|
3
|
+
module GoobyString
|
4
|
+
|
5
|
+
def tokenize(string, delim, strip=false)
|
6
|
+
if string
|
7
|
+
tokens = string.split(delim)
|
8
|
+
if strip
|
9
|
+
tokens.each { |tok| tok.strip! }
|
10
|
+
end
|
11
|
+
tokens
|
12
|
+
else
|
13
|
+
Array.new
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
|
19
|
+
end # end of module
|