rwdshell 0.99 → 1.00

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.
Files changed (65) hide show
  1. data/Readme.txt +8 -1
  2. data/code/01rwdcore/01rwdcore.rb +4 -1
  3. data/code/01rwdcore/jumplinkcommand.rb +6 -10
  4. data/code/01rwdcore/rundocuments.rb +10 -0
  5. data/code/01rwdcore/runeditconfiguration.rb +10 -0
  6. data/code/01rwdcore/runhelpabout.rb +10 -0
  7. data/code/01rwdcore/runopentinkerdocument.rb +7 -0
  8. data/code/01rwdcore/rwdtinkerversion.rb +11 -3
  9. data/code/01rwdcore/selectiontab.rb +9 -0
  10. data/code/01rwdcore/setuphelpaboutoptions.rb +13 -0
  11. data/code/01rwdcore/setuptinkerdocuments.rb +6 -0
  12. data/code/01rwdcore/test_cases.rb +53 -59
  13. data/code/01rwdcore/test_harness.rb +1 -0
  14. data/code/superant.com.rwdshell/loadconfigurationrecord.rb +2 -10
  15. data/code/superant.com.rwdshell/loadconfigurationvariables.rb +5 -5
  16. data/code/superant.com.rwdshell/rwdtinkerversion.rb +10 -0
  17. data/code/superant.com.rwdshell/saveconfigurationrecord.rb +4 -4
  18. data/code/superant.com.rwdshell/test_cases.rb +46 -0
  19. data/code/superant.com.rwdtinkerbackwindow/listgemzips.rb +1 -1
  20. data/code/superant.com.rwdtinkerbackwindow/listzips.rb +1 -1
  21. data/code/superant.com.rwdtinkerbackwindow/loadconfigurationrecord.rb +1 -12
  22. data/code/superant.com.rwdtinkerbackwindow/runremoteinstall.rb +11 -0
  23. data/code/superant.com.rwdtinkerbackwindow/saveconfigurationrecord.rb +2 -2
  24. data/configuration/rwdapplicationidentity.dist +1 -1
  25. data/configuration/rwdshell.dist +13 -2
  26. data/configuration/rwdtinker.dist +7 -3
  27. data/configuration/tinkerwin2variables.dist +1 -1
  28. data/gui/00coreguibegin/applicationguitop.rwd +1 -1
  29. data/gui/frontwindowselectionbegin/selectiontabbegin/{selectiontabbegin.rwd → 00selectiontabbegin.rwd} +1 -1
  30. data/gui/frontwindowselectionzend/viewselectionzend/{viewselectionend.rwd → wwselectionend.rwd} +0 -0
  31. data/gui/{frontwindowtdocumentbegin/superant.com.documentsbegin/tt0documentbegin.rwd → frontwindowselectionzend/viewselectionzend/zzdocumentbegin.rwd} +0 -0
  32. data/gui/frontwindowtdocuments/superant.com.documents/tinkerdocuments.rwd +14 -0
  33. data/gui/helpaboutbegin/superant.com.helpaboutbegin/zzdocumentend.rwd +8 -0
  34. data/gui/{frontwindowz1end/frontwindowend/xx0rwdfirsttab.rwd → helpaboutbegin/superant.com.helpaboutbegin/zzzrwdlasttab.rwd} +0 -0
  35. data/gui/helpaboutbegin/superant.com.helpaboutbegin/{ya0helpscreenstart.rwd → zzzzhelpscreenstart.rwd} +0 -0
  36. data/gui/helpaboutinstalled/superant.com.tinkerhelpabout/helpabouttab.rwd +15 -0
  37. data/gui/helpaboutzend/superant.com.helpaboutend/zhelpscreenstart2.rwd +3 -0
  38. data/gui/helpaboutzend/superant.com.helpaboutend/zzzzhelpabout2.rwd +15 -0
  39. data/gui/helpaboutzend/superant.com.helpaboutend/zzzzhelpscreen2end.rwd +3 -0
  40. data/gui/tinkerbackwindows/superant.com.rwdshellbackwindow/92viewconfiguration.rwd +4 -10
  41. data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/60editconfiguration.rwd +2 -10
  42. data/gui/tinkerbackwindows/superant.com.versionwindow/1appname.rwd +1 -1
  43. data/gui/tinkerbackwindows/superant.com.versionwindow/helpaboutwindow.rwd +17 -0
  44. data/rwd_files/HowTo_Shell.txt +8 -1
  45. data/rwd_files/HowTo_Tinker.txt +18 -0
  46. data/rwd_files/{rwdindex.html → RubyWebDialogs.html} +0 -0
  47. data/rwdconfig.dist +11 -2
  48. data/tests/RubyGauge.rb +179 -0
  49. data/tests/makedist.rb +1 -0
  50. data/tests/makerwdwaddresses-1.04.rb +40 -0
  51. metadata +27 -28
  52. data/code/superant.com.rwdshell/rwdshellversion.rb +0 -14
  53. data/gui/frontwindowtdocuments/superant.com.documents/uu5documents.rwd +0 -15
  54. data/gui/frontwindowtdocuments/superant.com.rubyeval/rubyeval.rwd +0 -4
  55. data/gui/frontwindowtdocuments/superant.com.shelldocument/vvdocshellxp.rwd +0 -6
  56. data/gui/frontwindowtdocuments/superant.com.tinkerwin2documents/uu5documents.rwd +0 -6
  57. data/gui/frontwindowtdocumentzend/superant.com.documentsend/ww0documentend.rwd +0 -12
  58. data/gui/helpaboutinstalled/superant.com.shellhelpabout/1appname.rwd +0 -4
  59. data/gui/helpaboutinstalled/superant.com.shellhelpabout/3copyright.rwd +0 -3
  60. data/gui/helpaboutinstalled/superant.com.shellhelpabout/5version.rwd +0 -9
  61. data/gui/helpaboutinstalled/superant.com.tinkerhelpabout/1appname.rwd +0 -4
  62. data/gui/helpaboutinstalled/superant.com.tinkerhelpabout/3copyright.rwd +0 -3
  63. data/gui/helpaboutinstalled/superant.com.tinkerhelpabout/5version.rwd +0 -10
  64. data/tests/rwdtinkertestEN.rb +0 -163
  65. data/tests/test.result +0 -32
@@ -13,7 +13,7 @@ def findzipfiles(d)
13
13
  if(!test(?d,x))
14
14
  # only zip files
15
15
  if x =~ /\.zip/
16
- puts "#{x}" #opens the file thats in fileName as read only
16
+ #opens the file thats in fileName as read only
17
17
  $zipsarray = $zipsarray | ["#{x}"]
18
18
  end
19
19
  end
@@ -16,7 +16,7 @@ def listzipfilestoinstall
16
16
  a.each do |x|
17
17
  # only zip files
18
18
  if x =~ /\.zip/
19
- # puts "#{x}" #adds the file to the array to display on the screen
19
+ #adds the file to the array to display on the screen
20
20
  $zipsarraylocal = $zipsarraylocal | ["#{x}"]
21
21
  end
22
22
 
@@ -12,18 +12,7 @@ def loadconfigurationrecord
12
12
  fileName = File.join(ConfigurationDir, TinkerWin2ConfigurationFileName)
13
13
 
14
14
  fd = File.open(fileName,"r")
15
- @a_configline1= fd.readline.chomp
16
- @a_configline2 = fd.readline.chomp
17
- @a_configline3 = fd.readline.chomp
18
- @a_configline4 = fd.readline.chomp
19
- @a_configline5 = fd.readline.chomp
20
- @a_configline6 = fd.readline.chomp
21
- @a_configline7 =fd.readline.chomp
22
- @a_configline8 = fd.readline.chomp
23
-
24
- while ! fd.eof?
25
- @extraconfigdatadisplay = fd.readline
26
- end
15
+ @a_configurationfile = fd.read
27
16
  fd.close
28
17
  rescue SystemCallError, StandardError
29
18
  $stderr.print "system call error: " + $!
@@ -0,0 +1,11 @@
1
+ # Application RwdTinker orginally (c) 2004 Steven Gibson under GPL.
2
+ # This application is a framework for writing programs from RubyWebDialogs
3
+ # For information see http://www.rubyforge.net/projects/rwdapplications
4
+
5
+ # call the rwdtinker helpwindow
6
+
7
+ def runremotezipsinstall
8
+ @rwd_window = "tinkerbackwindow"
9
+ @rwd_tab = "superantcomremotezipsinstall"
10
+ end
11
+
@@ -3,9 +3,9 @@ def saveconfigurationrecord
3
3
  require 'fileutils'
4
4
  if @a_configurationfilename
5
5
  newname = "%s" % [@a_configurationfilename] # grab the filename to create
6
- newdata =@a_configline1.to_s + "\n" + @a_configline2.to_s + "\n" + @a_configline3.to_s + "\n" + @a_configline4.to_s + "\n" + @a_configline5.to_s + "\n" + @a_configline6.to_s + "\n" + @a_configline7.to_s + "\n" + @a_configline8.to_s + "\n"
6
+ newdata =@a_configurationfile
7
7
 
8
- begin # exception trapped block
8
+ begin # exception trapped block
9
9
  fileName = File.join( ConfigurationDir, newname )
10
10
  fd = File.open(fileName,"w")
11
11
  fd.print(newdata) # save the record info to the file
@@ -1,3 +1,3 @@
1
- ##VERSION:1.62
1
+ ##VERSION:1.66
2
2
  $rwdapplicationidentity = "rwdtinker main application"
3
3
 
@@ -1,3 +1,14 @@
1
- ##VERSION:0.99
1
+ ##VERSION:1.00
2
+ ##NAME:$shellscript_directory:0
2
3
  $shellscript_directory = "scripts"
3
- RwdShellVersion = "0.99"
4
+ ##NAME:$testharnessarray:0
5
+ $testharnessarray += ["rwdshell_all_tests"]
6
+ ##NAME:$tinkerhelpaboutarray:0
7
+ $tinkerhelpaboutarray += ["RwdShell"]
8
+ ##NAME:$tinkerdocumentsarray
9
+ $tinkerdocumentsarray += ["HowTo_Shell.txt"]
10
+ ##NAME:RwdShellVersion:0
11
+ RwdShellVersion = "1.00"
12
+
13
+
14
+
@@ -1,4 +1,4 @@
1
- ##VERSION:1.62
1
+ ##VERSION:1.66
2
2
  ConfigurationDir = "configuration" # for use in program - init.rb has this value without using this constant
3
3
  CodeName = "rwdtinker"
4
4
  CodeNameFile = CodeName + ".rb"
@@ -11,5 +11,9 @@ LangDir = "lang"
11
11
  $prevouswindow ="main"
12
12
  $rwdcontrolports =["13713","13714","13715","13716","13717","13718"]
13
13
  $port = 7705
14
- $rwdjumplink = ["helpscreen","tinkerbackwindow","returntomain"]
15
- RwdTinkerVersion = "1.62"
14
+ $rwdjumplink = ["helpscreen","tinkerbackwindow","returntomain","opendocuments","editconfiguration"]
15
+ Browser_Exe = 'mozilla '
16
+ $tinkerdocumentsarray +=["COPYING","HowTo_Tinker.txt","rwdapplications.html","RubyWebDialogs.html"]
17
+ RwdTinkerVersion = "1.66"
18
+
19
+
@@ -1,4 +1,4 @@
1
- ##VERSION:1.62
1
+ ##VERSION:1.66
2
2
  TinkerWin2ConfigurationFileName = "tinkerwin2variables.cnf" # this file name - do not change
3
3
  ##NAME:$zipslocation:0
4
4
  $zipslocation = "zips" # location of applets to add
@@ -1,4 +1,4 @@
1
1
  $rwdguivar=
2
2
  "<application>
3
- <window name=\"main\" title=\"Tinker - RubyWebDialogs\">
3
+ <window name=\"main\" title=\"RwdTinker - RubyWebDialogs\">
4
4
  <tabs>"
@@ -1,6 +1,6 @@
1
1
  $rwdguivar=
2
2
  "
3
- <tab name=\"selectiontab\" caption=#{Message[:selection_panel]}>
3
+ <tab name=\"selectiontab\" caption=\"Menu Panel\">
4
4
 
5
5
  <table>
6
6
  <row> <p align=\"right\">Open a new location </row>
@@ -0,0 +1,14 @@
1
+ $rwdguivar=
2
+ "
3
+ <horizontal>
4
+ <button caption=\"Show Documents List\" action=\"setuptinkerdocuments\"/>
5
+
6
+ </horizontal>
7
+ <table>
8
+ <select name=\"a_tinkerdocumentinput\"> %%tinkerdocumentsarray%% </select>
9
+
10
+ </table>
11
+ <horizontal>
12
+ <button caption=\"Open Document\" action=\"runopentinkerdocument\"/>
13
+ </horizontal>
14
+ "
@@ -0,0 +1,8 @@
1
+ $rwdguivar=
2
+ "
3
+ <horizontal>
4
+ <button caption=\"Help\" action=\"runhelpwindow\"/>
5
+
6
+ </horizontal>
7
+ </tab>"
8
+
@@ -0,0 +1,15 @@
1
+ $rwdguivar=
2
+ "
3
+ <horizontal>
4
+ <button caption=\"Show Help About Links\" action=\"setuphelpaboutoptions\"/>
5
+
6
+ </horizontal>
7
+ <table>
8
+ <select name=\"a_helpaboutinput\"> %%helpaboutoptions%% </select>
9
+
10
+ </table>
11
+
12
+ <horizontal>
13
+ <button caption=\"Open Selected Help About\" action=\"runrwdtinkerversion\"/>
14
+ </horizontal>
15
+ "
@@ -0,0 +1,3 @@
1
+ $rwdguivar=
2
+ "
3
+ <helpwindow name=\"tinkerbackwindow\" title=\"Help About\">"
@@ -0,0 +1,15 @@
1
+ $rwdguivar=
2
+ "
3
+ <horizontal>
4
+ <button caption=\"Show Help About Links\" action=\"setuphelpaboutoptions\"/>
5
+
6
+ </horizontal>
7
+ <table>
8
+ <select name=\"a_helpaboutinput\"> %%helpaboutoptions%% </select>
9
+
10
+ </table>
11
+
12
+ <horizontal>
13
+ <button caption=\"Open Selected Help About\" action=\"runrwdtinkerversion\"/>
14
+ </horizontal>
15
+ "
@@ -0,0 +1,3 @@
1
+ $rwdguivar=
2
+ "
3
+ </helpwindow>"
@@ -17,16 +17,10 @@ $rwdguivar=
17
17
  <table>
18
18
 
19
19
  <row> <p align=\"right\">FileName:</p> <text size=70 name=\"a_rshellconfigurationfilename\"/> </row>
20
- <row> <p align=\"right\">1:</p> <text size=70 name=\"a_rshellhellconfigline1\"/> </row>
21
- <row> <p align=\"right\">2:</p> <text size=70 name=\"a_rshellconfigline2\"/> </row>
22
- <row> <p align=\"right\">3:</p> <text size=70 name=\"a_rshellconfigline3\"/> </row>
23
- <row> <p align=\"right\">4:</p> <text size=70 name=\"a_rshellconfigline4\"/> </row>
24
- <row> <p align=\"right\">5:</p> <text size=70 name=\"a_rshellconfigline5\"/> </row>
25
- <row> <p align=\"right\">6:</p> <text size=70 name=\"a_rshellconfigline6\"/> </row>
26
- <row> <p align=\"right\">7:</p> <text size=70 name=\"a_rshellconfigline7\"/> </row>
27
- <row> <p align=\"right\">8:</p> <text size=70 name=\"a_rshellconfigline8\"/> </row>
28
- <row> <p align=\"right\">9:</p> <text size=70 name=\"a_rshellconfigline9\"/> </row>
29
-
20
+ </table>
21
+ <table>
22
+ <textarea name=\"a_rshellconfiguration\"/>
23
+
30
24
  </table>
31
25
 
32
26
  <p>
@@ -16,16 +16,8 @@ $rwdguivar=
16
16
 
17
17
  </horizontal>
18
18
  <table>
19
- <row> <p align=\"right\" >FileName:</p> <text size=70 name=\"a_configurationfilename\"/> </row>
20
- <row> <p align=\"right\">1:</p> <text size=70 name=\"a_configline1\"/> </row>
21
- <row> <p align=\"right\">2:</p> <text size=70 name=\"a_configline2\"/> </row>
22
- <row> <p align=\"right\">3:</p> <text size=70 name=\"a_configline3\"/> </row>
23
- <row> <p align=\"right\">4:</p> <text size=70 name=\"a_configline4\"/> </row>
24
- <row> <p align=\"right\">5:</p> <text size=70 name=\"a_configline5\"/> </row>
25
- <row> <p align=\"right\">6:</p> <text size=70 name=\"a_configline6\"/> </row>
26
- <row> <p align=\"right\">7:</p> <text size=70 name=\"a_configline7\"/> </row>
27
- <row> <p align=\"right\">8:</p> <text size=70 name=\"a_configline8\"/> </row>
28
-
19
+ <textarea name=\"a_configurationfile\"/>
20
+
29
21
 
30
22
  </table>
31
23
  <p>%extraconfigdatadisplay%</p>
@@ -11,7 +11,7 @@ $rwdguivar=
11
11
  <p>%versionnumberdisplay%</p>
12
12
 
13
13
  <horizontal>
14
- <cancel/>
14
+ <button caption=Return action=returntomain/>
15
15
  </horizontal>
16
16
 
17
17
  </window>"
@@ -0,0 +1,17 @@
1
+ $rwdguivar=
2
+ "
3
+ <window name=tinkerhelpabout title=\"Help About Window\">
4
+ <horizontal>
5
+ <button caption=\"Show Help About Links\" action=\"setuphelpaboutoptions\"/>
6
+
7
+ </horizontal>
8
+ <table>
9
+ <select name=\"a_helpaboutinput\"> %%helpaboutoptions%% </select>
10
+
11
+ </table>
12
+
13
+ <horizontal>
14
+ <button caption=\"Open Selected Help About\" action=\"runrwdtinkerversion\"/>
15
+ </horizontal>
16
+ </window>
17
+ "
@@ -192,8 +192,15 @@ http://www.erikveen.dds.nl/rubywebdialogs/index.html
192
192
 
193
193
  Thanks, Steven Gibson
194
194
 
195
- == Changelog
195
+ ==
196
+ Version 1.00
197
+ corrected edit configuration screen
198
+ updated for rwdtinker 1.66
199
+ new helpabout
200
+ new documents list
201
+
196
202
  Version 0.99
203
+ corrected Ruby script edit
197
204
  added help to some shell tabs
198
205
  updated for rwdtinker 1.62 - improve distro release script
199
206
  changed selection screen to use new hash method
@@ -227,6 +227,24 @@ http://www.erikveen.dds.nl/rubywebdialogs/index.html
227
227
  Thanks, Steven Gibson
228
228
 
229
229
  == Changelog
230
+ Version 1.66
231
+ Fixed directory layout
232
+ increased size of config edit screen
233
+
234
+ Version 1.65
235
+ Changed documents listing screen - now using hash
236
+ Changed helpabout screen - now using hash
237
+ added more lines for config edit
238
+ added help about to back window
239
+
240
+ Version 1.64
241
+ fixed jump with no location
242
+
243
+ Version 1.63
244
+ changed handling of application name returned
245
+ added jump seletion options
246
+ added some unit tests
247
+
230
248
  version 1.62
231
249
  improve distro release script
232
250
  code cleanup
@@ -1,4 +1,4 @@
1
- ##VERSION:1.62
1
+ ##VERSION:1.66
2
2
  # rwdtinker core configuration file
3
3
  ##NAME: ConfigLocation:0
4
4
  ConfigLocation=""
@@ -7,4 +7,13 @@ ConfigLocation=""
7
7
  ##NAME:$testharnessarray:0
8
8
  $testharnessarray = ["rwdtinker_all_tests"]
9
9
  ##NAME:TestNow:0
10
- TestNow=false
10
+ TestNow=false # turning this on will run the unit tests
11
+ ##NAME:$testharness:0
12
+ $testharness=true
13
+ ##NAME:$tinkerhelpaboutarray:0
14
+ $tinkerhelpaboutarray = ["Tinker"]
15
+ ##NAME:$tinkerdocumentsarray:0
16
+ $tinkerdocumentsarray = ["Readme.txt"]
17
+
18
+
19
+
@@ -0,0 +1,179 @@
1
+ #--------------------------------------------------------------------#
2
+ # #
3
+ # RubyGauge version 1 #
4
+ # Copyright (c) 2005, Harrison Ainsworth. #
5
+ # #
6
+ # http://hxa7241.org/ #
7
+ # #
8
+ #--------------------------------------------------------------------#
9
+
10
+
11
+
12
+
13
+ require 'find'
14
+
15
+
16
+
17
+
18
+ # Counts lines of code in ruby source files.
19
+ #
20
+ # just a simple example ruby program, produced as an exercise.
21
+ #
22
+ # * directories are looked in recursively for source files
23
+ # * source files with the following name extensions are recognized:
24
+ # .rb .rbw
25
+ # * a line is counted as code if it is not empty and not solely comment
26
+ #
27
+ # == requirements
28
+ # ruby 1.8
29
+ #
30
+ # == usage
31
+ # RubyGauge.rb [-f...] (file|directory)pathname ...
32
+ # RubyGauge.rb -help|-?
33
+ #
34
+ # switches:
35
+ # -f<[l|s][1|2]> set output format to long/short, linecount only /
36
+ # linecount and filecount (defaults to -fl2)
37
+ # -help|-? prints this message
38
+ #
39
+ # ==acknowledgements
40
+ # * ruby: http://ruby-lang.org/
41
+ # * the pragmaticprogrammers pickaxe book:
42
+ # http://phrogz.net/ProgrammingRuby/
43
+ # * rubygarden: http://rubygarden.org/ruby?CodingInRuby
44
+ #
45
+ # == license
46
+ # this software is too short and insignificant to have a license.
47
+
48
+ module RubyGauge
49
+
50
+ # Entry point if run from the command line.
51
+ #
52
+ # Reads command line args, writes output to stdout.
53
+ #
54
+ def RubyGauge.main
55
+
56
+ # check if help message needed
57
+ if $*.empty? || !(RubyGauge.getSwitchs( $*, '(help|\?)' ).empty?)
58
+
59
+ puts "\n#{@@BANNER}\n#{@@HELP}"
60
+
61
+ else
62
+
63
+ # count
64
+ pathnames = RubyGauge.getTokens( $*, '^[^-\/]', ' ' )
65
+
66
+ fileCount = []
67
+ lineCount = RubyGauge.countLinesInFileTree( pathnames, fileCount )
68
+
69
+ # output counts
70
+ format = RubyGauge.getSwitchs( $*, 'f', '-fl2' ).last[2,2]
71
+
72
+ (@@LINES_FORMAT = { 's' => "#{lineCount}" }).default = "\n #{lineCount} line#{lineCount == 1 ? '' : 's'} of code\n"
73
+ (@@FILES_FORMAT = { 's' => " #{fileCount}" }).default = " #{fileCount[0]} file#{fileCount[0] == 1 ? '' : 's'}\n"
74
+ print @@LINES_FORMAT[format[0,1]]
75
+ print @@FILES_FORMAT[format[0,1]] unless format[1,1] == '1'
76
+
77
+ end
78
+
79
+ end
80
+
81
+
82
+ def RubyGauge.getSwitchs( commandline, pattern, default=nil )
83
+
84
+ RubyGauge.getTokens( commandline, '^(-|\/)' + pattern, default )
85
+
86
+ end
87
+
88
+
89
+ def RubyGauge.getTokens( commandline, pattern, default=nil )
90
+
91
+ tokens = []
92
+
93
+ commandline.each do |token|
94
+ if token =~ /#{pattern}/
95
+ tokens.push token
96
+ end
97
+ end
98
+
99
+ if tokens.empty? && default
100
+ tokens.push default
101
+ end
102
+
103
+ tokens
104
+
105
+ end
106
+
107
+
108
+ # Counts lines of ruby code in filetree recursively.
109
+ #
110
+ # A line is counted as code if it is not empty and not solely comment.
111
+ #
112
+ # == parameters
113
+ # * pathnames: Array of String of file or directory pathname
114
+ # (relative or absolute)
115
+ # * fileCount: Array of Numeric, length 1. Just an example of a
116
+ # 'reference' parameter
117
+ # * return: Fixnum of the line count
118
+ #
119
+ def RubyGauge.countLinesInFileTree( pathnames, fileCount=[] )
120
+
121
+ fileCount[0] = 0
122
+ lineCount = 0
123
+
124
+ # scan directory tree
125
+ Find.find( *pathnames ) do |fileOrDirName|
126
+
127
+ # filter file types (to ruby)
128
+ if FileTest.file?( fileOrDirName ) &&
129
+ FileTest.readable?( fileOrDirName ) &&
130
+ fileOrDirName =~ /\.(rb|rbw)\Z/
131
+
132
+ fileCount[0] += 1
133
+
134
+ filePathname = File.expand_path( fileOrDirName )
135
+
136
+ # read file
137
+ File.open( filePathname, 'r' ) do |file|
138
+
139
+ # scan file lines
140
+ file.each_line do |line|
141
+ # select non blank, non comment-only line
142
+ unless line =~ /^\s*(#|\Z)/
143
+ lineCount += 1
144
+ end
145
+ end
146
+
147
+ end
148
+
149
+ end
150
+ end
151
+
152
+ lineCount
153
+
154
+ end
155
+
156
+
157
+ @@BANNER = "-------------------------------------------------------------\n" +
158
+ "RubyGauge 2005 (v1)\n" +
159
+ "Copyright (c) 2005, Harrison Ainsworth.\n\n" +
160
+ "http://hxa7241.org/\n" +
161
+ "-------------------------------------------------------------\n"
162
+
163
+ @@HELP = "RubyGauge counts lines of code in ruby source files.\n\n" +
164
+ "* directories are looked in recursively for source files\n" +
165
+ "* source files with the following name extensions are recognized: .rb .rbw\n" +
166
+ "* a line is counted as code if it is not empty and not solely comment\n" +
167
+ "\nusage:\n" +
168
+ " RubyGauge.rb [-f...] (file|directory)pathname ...\n" +
169
+ " RubyGauge.rb -help|-?\n" +
170
+ "\nswitches:\n" +
171
+ " -f<[l|s][1|2]> set output format to long/short, linecount only / linecount and filecount (defaults to -fl2)\n" +
172
+ " -help|-? prints this message\n"
173
+
174
+ end
175
+
176
+
177
+
178
+
179
+ RubyGauge.main