rio 0.3.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.
- data/COPYING +340 -0
- data/ChangeLog +755 -0
- data/README +65 -0
- data/RUNME.1st.rb +75 -0
- data/Rakefile +312 -0
- data/VERSION +1 -0
- data/doc/README_MSWIN32.txt +39 -0
- data/doc/RELEASE_NOTES +130 -0
- data/doc/generators/template/html/rio.rb +895 -0
- data/doc/rdoc/classes/Kernel.html +181 -0
- data/doc/rdoc/classes/Kernel.src/M000183.html +18 -0
- data/doc/rdoc/classes/RIO.html +508 -0
- data/doc/rdoc/classes/RIO.src/M000001.html +18 -0
- data/doc/rdoc/classes/RIO.src/M000002.html +18 -0
- data/doc/rdoc/classes/RIO.src/M000003.html +18 -0
- data/doc/rdoc/classes/RIO/Doc.html +138 -0
- data/doc/rdoc/classes/RIO/Doc/HOWTO.html +1031 -0
- data/doc/rdoc/classes/RIO/Doc/INTRO.html +1116 -0
- data/doc/rdoc/classes/RIO/Doc/MISC.html +443 -0
- data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +325 -0
- data/doc/rdoc/classes/RIO/Rio.html +6333 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000004.html +18 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000005.html +20 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000006.html +27 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000007.html +27 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000008.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000009.html +18 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000010.html +20 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000011.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000012.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000013.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000014.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000015.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000016.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000017.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000018.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000019.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000020.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000021.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000022.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000023.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000024.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000025.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000026.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000027.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000028.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000029.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000030.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000031.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000032.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000033.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000034.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000035.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000036.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000037.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000038.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000039.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000040.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000041.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000042.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000043.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000044.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000045.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000046.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000047.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000048.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000049.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000050.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000051.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000052.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000053.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000054.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000055.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000056.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000057.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000058.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000059.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000060.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000061.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000062.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000063.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000064.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000065.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000066.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000067.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000068.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000069.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000070.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000071.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000072.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000073.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000074.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000075.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000076.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000077.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000078.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000079.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000080.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000081.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000082.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000083.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000084.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000085.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000086.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000087.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000088.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000089.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000090.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000091.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000092.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000093.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000094.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000095.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000096.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000097.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000098.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000099.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000100.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000101.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000102.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000103.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000104.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000105.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000106.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000107.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000108.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000109.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000110.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000111.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000112.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000113.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000114.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000115.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000116.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000117.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000118.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000119.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000120.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000121.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000122.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000123.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000124.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000125.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000126.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000127.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000128.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000129.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000130.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000131.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000132.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000133.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000134.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000135.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000136.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000137.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000138.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000139.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000140.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000141.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000142.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000143.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000144.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000145.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000146.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000147.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000148.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000149.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000150.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000151.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000152.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000153.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000154.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000155.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000156.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000157.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000158.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000159.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000160.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000161.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000162.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000163.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000164.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000165.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000166.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000167.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000168.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000169.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000170.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000171.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000172.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000173.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000174.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000175.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000176.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000177.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000178.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000179.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000180.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000181.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000182.html +16 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/README.html +215 -0
- data/doc/rdoc/files/lib/rio/constructor_rb.html +142 -0
- data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/MISC_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/basic_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/dir_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/file_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/grande_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/internal_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/methods_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/path_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/stream_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/test_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/kernel_rb.html +142 -0
- data/doc/rdoc/files/lib/rio_rb.html +153 -0
- data/doc/rdoc/fr_class_index.html +34 -0
- data/doc/rdoc/fr_file_index.html +44 -0
- data/doc/rdoc/fr_method_index.html +210 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +384 -0
- data/doc/rfc1738.txt +1403 -0
- data/doc/rfc959.txt +3933 -0
- data/ex/colx.rb +6 -0
- data/ex/findinruby +19 -0
- data/ex/findruby +11 -0
- data/ex/prompt.rb +25 -0
- data/ex/rgb.txt.gz +0 -0
- data/ex/riocat +35 -0
- data/ex/riogunzip +31 -0
- data/ex/riogzip +24 -0
- data/ex/tolf +11 -0
- data/lib/rio.rb +163 -0
- data/lib/rio/abstract_method.rb +57 -0
- data/lib/rio/argv.rb +57 -0
- data/lib/rio/arrayio.rb +199 -0
- data/lib/rio/arycopy.rb +44 -0
- data/lib/rio/assert.rb +115 -0
- data/lib/rio/base.rb +59 -0
- data/lib/rio/constructor.rb +183 -0
- data/lib/rio/context.rb +117 -0
- data/lib/rio/context/chomp.rb +53 -0
- data/lib/rio/context/closeoneof.rb +50 -0
- data/lib/rio/context/cxx.rb +67 -0
- data/lib/rio/context/dir.rb +92 -0
- data/lib/rio/context/gzip.rb +51 -0
- data/lib/rio/context/methods.rb +196 -0
- data/lib/rio/context/stream.rb +170 -0
- data/lib/rio/cp.rb +305 -0
- data/lib/rio/cxdir.rb +79 -0
- data/lib/rio/dir.rb +145 -0
- data/lib/rio/doc.rb +45 -0
- data/lib/rio/doc/HOWTO.rb +691 -0
- data/lib/rio/doc/INTRO.rb +579 -0
- data/lib/rio/doc/MISC.rb +257 -0
- data/lib/rio/doc/SYNOPSIS.rb +170 -0
- data/lib/rio/entrysel.rb +162 -0
- data/lib/rio/exception.rb +42 -0
- data/lib/rio/exception/copy.rb +98 -0
- data/lib/rio/exception/open.rb +62 -0
- data/lib/rio/exception/state.rb +74 -0
- data/lib/rio/ext.rb +62 -0
- data/lib/rio/ext/csv.rb +261 -0
- data/lib/rio/factory.rb +236 -0
- data/lib/rio/file.rb +77 -0
- data/lib/rio/filter/chomp.rb +61 -0
- data/lib/rio/filter/closeoneof.rb +103 -0
- data/lib/rio/filter/gzip.rb +58 -0
- data/lib/rio/ftp.rb +275 -0
- data/lib/rio/ftp/conn.rb +167 -0
- data/lib/rio/ftp/ioh.rb +88 -0
- data/lib/rio/grande.rb +126 -0
- data/lib/rio/handle.rb +101 -0
- data/lib/rio/if.rb +53 -0
- data/lib/rio/if/basic.rb +64 -0
- data/lib/rio/if/dir.rb +362 -0
- data/lib/rio/if/file.rb +57 -0
- data/lib/rio/if/fileordir.rb +247 -0
- data/lib/rio/if/grande.rb +510 -0
- data/lib/rio/if/internal.rb +53 -0
- data/lib/rio/if/methods.rb +612 -0
- data/lib/rio/if/path.rb +413 -0
- data/lib/rio/if/stream.rb +599 -0
- data/lib/rio/if/test.rb +219 -0
- data/lib/rio/impl/path.rb +82 -0
- data/lib/rio/ioh.rb +137 -0
- data/lib/rio/iomode.rb +96 -0
- data/lib/rio/kernel.rb +47 -0
- data/lib/rio/local.rb +63 -0
- data/lib/rio/match.rb +51 -0
- data/lib/rio/matchrecord.rb +254 -0
- data/lib/rio/open3.rb +69 -0
- data/lib/rio/ops/create.rb +78 -0
- data/lib/rio/ops/dir.rb +302 -0
- data/lib/rio/ops/either.rb +117 -0
- data/lib/rio/ops/file.rb +94 -0
- data/lib/rio/ops/path.rb +292 -0
- data/lib/rio/ops/stream.rb +84 -0
- data/lib/rio/ops/stream/input.rb +237 -0
- data/lib/rio/ops/stream/output.rb +96 -0
- data/lib/rio/ops/stream/read.rb +84 -0
- data/lib/rio/ops/stream/write.rb +58 -0
- data/lib/rio/ops/symlink.rb +70 -0
- data/lib/rio/path.rb +117 -0
- data/lib/rio/path/reset.rb +70 -0
- data/lib/rio/record.rb +59 -0
- data/lib/rio/rectype.rb +86 -0
- data/lib/rio/rl/base.rb +147 -0
- data/lib/rio/rl/builder.rb +166 -0
- data/lib/rio/rl/ioi.rb +66 -0
- data/lib/rio/rl/path.rb +141 -0
- data/lib/rio/rl/uri.rb +118 -0
- data/lib/rio/scheme/aryio.rb +89 -0
- data/lib/rio/scheme/cmdio.rb +74 -0
- data/lib/rio/scheme/fd.rb +65 -0
- data/lib/rio/scheme/ftp.rb +73 -0
- data/lib/rio/scheme/http.rb +81 -0
- data/lib/rio/scheme/path.rb +100 -0
- data/lib/rio/scheme/stderr.rb +56 -0
- data/lib/rio/scheme/stdio.rb +71 -0
- data/lib/rio/scheme/strio.rb +82 -0
- data/lib/rio/scheme/sysio.rb +61 -0
- data/lib/rio/scheme/tcp.rb +74 -0
- data/lib/rio/scheme/tempfile.rb +104 -0
- data/lib/rio/state.rb +209 -0
- data/lib/rio/state/error.rb +73 -0
- data/lib/rio/stream.rb +181 -0
- data/lib/rio/stream/base.rb +50 -0
- data/lib/rio/stream/duplex.rb +76 -0
- data/lib/rio/stream/open.rb +203 -0
- data/lib/rio/symantics.rb +46 -0
- data/lib/rio/to_rio.rb +57 -0
- data/lib/rio/uri/file.rb +145 -0
- data/lib/rio/version.rb +52 -0
- data/setup.rb +1331 -0
- data/test/1.rb +14 -0
- data/test/mswin32.rb +28 -0
- data/test/once.rb +7 -0
- data/test/runtests.rb +12 -0
- data/test/runtests_gem.rb +15 -0
- data/test/tc/abs.rb +349 -0
- data/test/tc/all.rb +42 -0
- data/test/tc/cd1.rb +116 -0
- data/test/tc/clearsel.rb +69 -0
- data/test/tc/closeoncopy.rb +91 -0
- data/test/tc/closeoneof.rb +194 -0
- data/test/tc/copy-from.rb +183 -0
- data/test/tc/copy-to.rb +94 -0
- data/test/tc/copy.rb +72 -0
- data/test/tc/copyarray.rb +191 -0
- data/test/tc/copydest.rb +50 -0
- data/test/tc/copydir.rb +192 -0
- data/test/tc/copydirlines.rb +124 -0
- data/test/tc/copylines.rb +40 -0
- data/test/tc/copynonex.rb +121 -0
- data/test/tc/create.rb +104 -0
- data/test/tc/csv.rb +229 -0
- data/test/tc/dir.rb +79 -0
- data/test/tc/dirautoclose.rb +70 -0
- data/test/tc/dirent.rb +180 -0
- data/test/tc/dirss.rb +84 -0
- data/test/tc/each.rb +111 -0
- data/test/tc/each_break.rb +241 -0
- data/test/tc/edf.rb +82 -0
- data/test/tc/entary.rb +230 -0
- data/test/tc/eq.rb +101 -0
- data/test/tc/expand_path.rb +94 -0
- data/test/tc/ext.rb +115 -0
- data/test/tc/fileno.rb +95 -0
- data/test/tc/getrec.rb +140 -0
- data/test/tc/lineno.rb +197 -0
- data/test/tc/lines.rb +66 -0
- data/test/tc/methods.rb +185 -0
- data/test/tc/misc.rb +473 -0
- data/test/tc/nolines.rb +205 -0
- data/test/tc/noqae.rb +873 -0
- data/test/tc/once.rb +6 -0
- data/test/tc/overload.rb +137 -0
- data/test/tc/pa.rb +159 -0
- data/test/tc/pathop.rb +63 -0
- data/test/tc/paths.rb +147 -0
- data/test/tc/qae.rb +494 -0
- data/test/tc/qae_riovar.rb +500 -0
- data/test/tc/records.rb +69 -0
- data/test/tc/rename.rb +224 -0
- data/test/tc/rename_assign.rb +48 -0
- data/test/tc/sub.rb +49 -0
- data/test/tc/symlink.rb +177 -0
- data/test/tc/symlink0.rb +298 -0
- data/test/tc/symlink1.rb +115 -0
- data/test/tc/testcase.rb +152 -0
- metadata +461 -0
data/README
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Copyright (c) 2005, Christopher Kleckner
|
|
2
|
+
All rights reserved
|
|
3
|
+
|
|
4
|
+
This file is part of the Rio library for ruby.
|
|
5
|
+
|
|
6
|
+
Rio is free software; you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU General Public License as published by
|
|
8
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
9
|
+
(at your option) any later version.
|
|
10
|
+
|
|
11
|
+
Rio is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU General Public License
|
|
17
|
+
along with Rio; if not, write to the Free Software
|
|
18
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<b>Rio is pre-alpha software.
|
|
22
|
+
The documented interface and behavior is subject to change without notice.</b>
|
|
23
|
+
|
|
24
|
+
=== Rio - Ruby I/O Comfort Class
|
|
25
|
+
|
|
26
|
+
Rio is a convenience class wrapping much of the functionality of
|
|
27
|
+
IO, File, Dir, Pathname, FileUtils, Tempfile, StringIO, OpenURI, Zlib, and CSV.
|
|
28
|
+
|
|
29
|
+
To create the documentation for Rio run the command
|
|
30
|
+
rake rdoc
|
|
31
|
+
from the distribution directory.
|
|
32
|
+
|
|
33
|
+
If your don't have rake installed try:
|
|
34
|
+
ruby RUNME.1st.rb
|
|
35
|
+
from the distribution directory.
|
|
36
|
+
|
|
37
|
+
Then point your browser at the 'doc/rdoc' directory.
|
|
38
|
+
|
|
39
|
+
Suggested Reading
|
|
40
|
+
* RIO::Doc::SYNOPSIS
|
|
41
|
+
* RIO::Doc::INTRO
|
|
42
|
+
* RIO::Doc::HOWTO
|
|
43
|
+
* RIO::Rio
|
|
44
|
+
|
|
45
|
+
To install Rio untar the distribution and type
|
|
46
|
+
rake install
|
|
47
|
+
|
|
48
|
+
If you don't have rake installed, get it.
|
|
49
|
+
|
|
50
|
+
Until you do, you may want to try
|
|
51
|
+
ruby setup.rb
|
|
52
|
+
|
|
53
|
+
To build the documentation without rake, try
|
|
54
|
+
rdoc --op doc/rdoc -m RIO::Doc::SYNOPSIS README lib/rio/doc/*.rb lib/rio.rb lib/rio/if/*.rb lib/rio/kernel.rb
|
|
55
|
+
|
|
56
|
+
Then point your browser at doc/rdoc.
|
|
57
|
+
|
|
58
|
+
To read the documentation without running rdoc, read the files:
|
|
59
|
+
* lib/rio/doc/SYNOPSIS.rb
|
|
60
|
+
* lib/rio/doc/INTRO.rb
|
|
61
|
+
* lib/rio/doc/HOWTO.rb
|
|
62
|
+
* lib/rio/if/*.rb
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
data/RUNME.1st.rb
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
#--
|
|
3
|
+
# ===============================================================================
|
|
4
|
+
# Copyright (c) 2005, Christopher Kleckner
|
|
5
|
+
# All rights reserved
|
|
6
|
+
#
|
|
7
|
+
# This file is part of the Rio library for ruby.
|
|
8
|
+
#
|
|
9
|
+
# Rio is free software; you can redistribute it and/or modify
|
|
10
|
+
# it under the terms of the GNU General Public License as published by
|
|
11
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
12
|
+
# (at your option) any later version.
|
|
13
|
+
#
|
|
14
|
+
# Rio is distributed in the hope that it will be useful,
|
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
+
# GNU General Public License for more details.
|
|
18
|
+
#
|
|
19
|
+
# You should have received a copy of the GNU General Public License
|
|
20
|
+
# along with Rio; if not, write to the Free Software
|
|
21
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
22
|
+
# ===============================================================================
|
|
23
|
+
#
|
|
24
|
+
# To create the documentation for Rio run the command
|
|
25
|
+
# rake rdoc
|
|
26
|
+
# from the distribution directory.
|
|
27
|
+
#++
|
|
28
|
+
|
|
29
|
+
# It is not really necessary to run this first.
|
|
30
|
+
# It simply builds the Rio RDoc documentation, and is provided
|
|
31
|
+
# to support those who have not installed +rake+ and to demonstrate Rio.
|
|
32
|
+
# The preferred method of building the documentation is
|
|
33
|
+
# rake rdoc
|
|
34
|
+
#
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
$:.unshift 'lib'
|
|
38
|
+
require 'rio'
|
|
39
|
+
|
|
40
|
+
module DFLT
|
|
41
|
+
RDOC_DIR = rio('doc/rdoc')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
puts "Rio interactive RDoc installer."
|
|
45
|
+
|
|
46
|
+
rdoc_dir = rio(?-).print!("Where shall I build the rdoc documentation[#{DFLT::RDOC_DIR}]: ").chomp.gets.strip
|
|
47
|
+
rdoc_dir = DFLT::RDOC_DIR if rdoc_dir.empty?
|
|
48
|
+
rdoc_dir = rio(rdoc_dir)
|
|
49
|
+
|
|
50
|
+
puts "Building the Rio RDoc documentation in '#{rdoc_dir}'"
|
|
51
|
+
|
|
52
|
+
RDOC_OPTIONS = ['--line-numbers', '-m RIO::Doc::SYNOPSIS',"--op #{rdoc_dir}", "-T doc/generators/template/html/rio"]
|
|
53
|
+
|
|
54
|
+
rdoc_files = [
|
|
55
|
+
rio('README'),
|
|
56
|
+
rio('lib/rio.rb'),
|
|
57
|
+
rio('lib/rio/')['kernel.rb','constructor.rb'],
|
|
58
|
+
rio('lib/rio/if')['*.rb'],
|
|
59
|
+
rio('lib/rio/doc')['*.rb'],
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
cmd = sprintf("rdoc %s %s",RDOC_OPTIONS.join(' '),rdoc_files.join(' '))
|
|
63
|
+
rio(?-) << rio(?-,cmd)
|
|
64
|
+
|
|
65
|
+
docindex = (rdoc_dir/'index.html').abs.to_url
|
|
66
|
+
msg = "Please point your browser at '#{docindex}'"
|
|
67
|
+
lin = ">" + ">" * (msg.length+2) + ">"
|
|
68
|
+
|
|
69
|
+
puts
|
|
70
|
+
puts lin
|
|
71
|
+
puts "> " + msg + " >"
|
|
72
|
+
puts lin
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# ===============================================================================
|
|
3
|
+
# Copyright (c) 2005, Christopher Kleckner
|
|
4
|
+
# All rights reserved
|
|
5
|
+
#
|
|
6
|
+
# This file is part of the Rio library for ruby.
|
|
7
|
+
#
|
|
8
|
+
# Rio is free software; you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# Rio is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with Rio; if not, write to the Free Software
|
|
20
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
+
# ===============================================================================
|
|
22
|
+
#
|
|
23
|
+
# To create the documentation for Rio run the command
|
|
24
|
+
# rake rdoc
|
|
25
|
+
# from the distribution directory.
|
|
26
|
+
#++
|
|
27
|
+
|
|
28
|
+
begin
|
|
29
|
+
require 'rubygems'
|
|
30
|
+
require 'rake/gempackagetask'
|
|
31
|
+
rescue Exception
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
require 'rake/clean'
|
|
35
|
+
require 'rake/packagetask'
|
|
36
|
+
require 'rake/rdoctask'
|
|
37
|
+
require 'rake/testtask'
|
|
38
|
+
|
|
39
|
+
# General actions ##############################################################
|
|
40
|
+
|
|
41
|
+
$:.push 'lib'
|
|
42
|
+
require 'rio/doc'
|
|
43
|
+
|
|
44
|
+
SVN_REPOSITORY_URL = 'file:///loc/svn/'
|
|
45
|
+
|
|
46
|
+
SRC_FILES = FileList['lib/**/*.rb']
|
|
47
|
+
DOC_FILES = FileList['README','lib/rio.rb','lib/rio/doc/*.rb',
|
|
48
|
+
'lib/rio/if/*.rb','lib/rio/kernel.rb','lib/rio/constructor.rb']
|
|
49
|
+
XMP_FILES = FileList['ex/*']
|
|
50
|
+
|
|
51
|
+
module PKG
|
|
52
|
+
NAME = "rio"
|
|
53
|
+
TITLE = RIO::TITLE
|
|
54
|
+
VERSION = RIO::VERSION
|
|
55
|
+
FULLNAME = PKG::NAME + "-" + PKG::VERSION
|
|
56
|
+
SUMMARY = RIO::SUMMARY
|
|
57
|
+
DESCRIPTION = RIO::DESCRIPTION
|
|
58
|
+
FILES = FileList.new(['setup.rb', 'RUNME.1st.rb', 'COPYING', 'Rakefile', 'ChangeLog', 'VERSION',
|
|
59
|
+
'test/**/*.rb','doc/**/*'] + SRC_FILES.to_a + DOC_FILES.to_a + XMP_FILES.to_a
|
|
60
|
+
) do |fl|
|
|
61
|
+
fl.exclude( /\bsvn\b/ )
|
|
62
|
+
fl.exclude( 'test/qp' )
|
|
63
|
+
fl.exclude( 'test/coverage' )
|
|
64
|
+
# fl.exclude( 'doc/rdoc' )
|
|
65
|
+
end
|
|
66
|
+
OUT_DIR = 'pkg'
|
|
67
|
+
OUT_FILES = %w[.gem .tar.gz .zip].map { |ex| OUT_DIR + '/' + FULLNAME + ex }
|
|
68
|
+
end
|
|
69
|
+
ZIP_DIR = "/zip/ruby/rio"
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
# The default task is run if rake is given no explicit arguments.
|
|
73
|
+
|
|
74
|
+
desc "Default Task"
|
|
75
|
+
task :default => :rdoc
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# End user tasks ################################################################
|
|
79
|
+
|
|
80
|
+
desc "Prepares for installation"
|
|
81
|
+
task :prepare do
|
|
82
|
+
ruby "setup.rb config"
|
|
83
|
+
ruby "setup.rb setup"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
desc "Installs the package #{PKG::NAME}"
|
|
88
|
+
task :install => [:prepare] do
|
|
89
|
+
ruby "setup.rb install"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
task :clean do
|
|
94
|
+
ruby "setup.rb clean"
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
CLOBBER << "doc/rdoc"
|
|
99
|
+
desc "Builds the documentation"
|
|
100
|
+
task :doc => [:rdoc] do
|
|
101
|
+
puts "\nGenerating online documentation..."
|
|
102
|
+
# ruby %{-I../lib ../bin/webgen -V 2 }
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
RDOC_OPTIONS = ['--line-numbers', '-m RIO::Doc::SYNOPSIS' ]
|
|
106
|
+
rd = Rake::RDocTask.new do |rdoc|
|
|
107
|
+
rdoc.rdoc_dir = 'doc/rdoc'
|
|
108
|
+
rdoc.title = PKG::TITLE
|
|
109
|
+
rdoc.options = RDOC_OPTIONS
|
|
110
|
+
DOC_FILES.to_a.each do |glb|
|
|
111
|
+
rdoc.rdoc_files.include( glb )
|
|
112
|
+
end
|
|
113
|
+
rdoc.template = 'doc/generators/template/html/rio.rb'
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
CLOBBER << "test/rio.log"
|
|
117
|
+
task :test do |t|
|
|
118
|
+
chdir 'test' do
|
|
119
|
+
ruby "-I../lib -I. runtests.rb"
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
#task :package => [:gen_files] do |var|
|
|
124
|
+
# require 'rio/kernel'
|
|
125
|
+
# rio(ZIP_DIR) << rio('pkg').files['*.tgz','*.tar.gz','*.zip','*.gem']
|
|
126
|
+
#end
|
|
127
|
+
task :ziparc do |var|
|
|
128
|
+
require 'rio/kernel'
|
|
129
|
+
#$trace_states = true
|
|
130
|
+
rio(ZIP_DIR) < rio('pkg').files['*.tgz','*.tar.gz','*.zip','*.gem']
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
task :gen_changelog do
|
|
134
|
+
sh "svn log -r HEAD:1 -v > ChangeLog"
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
task :gen_version do
|
|
138
|
+
puts "Generating VERSION file"
|
|
139
|
+
File.open( 'VERSION', 'w+' ) do |file| file.write( PKG::VERSION + "\n" ) end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
#task :gen_files => [:gen_changelog, :gen_version, :gen_installrb]
|
|
144
|
+
#CLOBBER << "ChangeLog" << "VERSION" << "install.rb"
|
|
145
|
+
|
|
146
|
+
task :gen_files => [:gen_changelog, :gen_version]
|
|
147
|
+
CLOBBER << "ChangeLog" << "VERSION"
|
|
148
|
+
task :no_old_pkg do
|
|
149
|
+
unless Dir["pkg/#{PKG::FULLNAME}*"].empty?
|
|
150
|
+
$stderr.puts("packages for version #{PKG::VERSION} exist!")
|
|
151
|
+
$stderr.puts("Either delete them, or change the version number.")
|
|
152
|
+
exit(-1)
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
task :package => [:no_old_pkg, :gen_files]
|
|
157
|
+
PKG::OUT_FILES.each do |f|
|
|
158
|
+
file f => [:package]
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
Rake::PackageTask.new( PKG::NAME, PKG::VERSION ) do |p|
|
|
162
|
+
p.need_tar_gz = true
|
|
163
|
+
p.need_zip = true
|
|
164
|
+
p.package_files = PKG::FILES
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
desc "Make a new release (test,package,svn_version)"
|
|
168
|
+
task :release => [:test, :clobber, :rdoc , :package, :svn_version, :ziparc] do
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
end
|
|
172
|
+
desc "Save the current code as a new svn version"
|
|
173
|
+
task :svn_version do
|
|
174
|
+
require 'rio'
|
|
175
|
+
repos = rio(SVN_REPOSITORY_URL)
|
|
176
|
+
proju = rio(repos,PKG::NAME,'trunk')
|
|
177
|
+
relu = rio(repos,PKG::NAME,'tags','release-') + PKG::VERSION
|
|
178
|
+
relo =`svn list #{relu.to_url}`
|
|
179
|
+
if relo.size > 0
|
|
180
|
+
$stderr.puts "Release #{relu.to_url} exists!"
|
|
181
|
+
exit -1
|
|
182
|
+
end
|
|
183
|
+
msg = "Release #{PKG::VERSION} of #{PKG::NAME}"
|
|
184
|
+
cmd = sprintf('svn copy %s %s -m "%s"',proju.to_url, relu.to_url, msg)
|
|
185
|
+
sh cmd
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
desc "Commit the current code to svn"
|
|
189
|
+
task :svn_commit do
|
|
190
|
+
require 'rio'
|
|
191
|
+
msg = rio(?-).print("Comment: ").chomp.gets
|
|
192
|
+
cmd = sprintf('svn commit -m "%s"', msg)
|
|
193
|
+
sh cmd
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
if !defined? Gem
|
|
197
|
+
puts "Package Target requires RubyGEMs"
|
|
198
|
+
else
|
|
199
|
+
spec = Gem::Specification.new do |s|
|
|
200
|
+
|
|
201
|
+
#### Basic information
|
|
202
|
+
|
|
203
|
+
s.name = PKG::NAME
|
|
204
|
+
s.version = PKG::VERSION
|
|
205
|
+
s.summary = PKG::SUMMARY
|
|
206
|
+
s.description = PKG::DESCRIPTION
|
|
207
|
+
|
|
208
|
+
#### Dependencies, requirements and files
|
|
209
|
+
|
|
210
|
+
s.files = PKG::FILES.to_a
|
|
211
|
+
s.add_dependency( 'extensions', '>= 0.6.0' )
|
|
212
|
+
|
|
213
|
+
s.require_path = 'lib'
|
|
214
|
+
s.autorequire = 'rio'
|
|
215
|
+
|
|
216
|
+
#### Documentation
|
|
217
|
+
|
|
218
|
+
s.has_rdoc = true
|
|
219
|
+
#s.extra_rdoc_files = ['doc/generators/template/html/rio.rb']
|
|
220
|
+
s.rdoc_options << RDOC_OPTIONS
|
|
221
|
+
|
|
222
|
+
#### Author and project details
|
|
223
|
+
|
|
224
|
+
s.author = "Christopher Kleckner"
|
|
225
|
+
s.email = "rio4ruby@rubyforge.org"
|
|
226
|
+
s.homepage = "rio.rubyforge.org"
|
|
227
|
+
s.rubyforge_project = "rio"
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
Rake::GemPackageTask.new( spec ) do |pkg|
|
|
231
|
+
pkg.need_zip = true
|
|
232
|
+
pkg.need_tar_gz = true
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
=begin
|
|
238
|
+
desc "Creates a tag in the repository"
|
|
239
|
+
task :tag do
|
|
240
|
+
repositoryPath = File.dirname( $1 ) if `svn info` =~ /^URL: (.*)$/
|
|
241
|
+
fail "Tag already created in repository " if /#{PKG::NAME}/ =~ `svn ls #{repositoryPath}/versions`
|
|
242
|
+
sh "svn cp -m 'Created version #{PKG::NAME}' #{repositoryPath}/trunk #{repositoryPath}/versions/#{PKG::NAME}"
|
|
243
|
+
end
|
|
244
|
+
=end
|
|
245
|
+
|
|
246
|
+
desc "Upload documentation to homepage"
|
|
247
|
+
task :uploaddoc => [:rdoc] do
|
|
248
|
+
Dir.chdir('doc/rdoc')
|
|
249
|
+
puts
|
|
250
|
+
puts "rio4ruby@rubyforge.org:/var/www/gforge-projects/#{PKG::NAME}/"
|
|
251
|
+
sh "scp -r * rio4ruby@rubyforge.org:/var/www/gforge-projects/#{PKG::NAME}/"
|
|
252
|
+
end
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
# Misc tasks ###################################################################
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
def count_lines( filename )
|
|
259
|
+
lines = 0
|
|
260
|
+
codelines = 0
|
|
261
|
+
open( filename ) do |f|
|
|
262
|
+
f.each do |line|
|
|
263
|
+
lines += 1
|
|
264
|
+
next if line =~ /^\s*$/
|
|
265
|
+
next if line =~ /^\s*#/
|
|
266
|
+
codelines += 1
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
[lines, codelines]
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
def show_line( msg, lines, loc )
|
|
274
|
+
printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
desc "Show statistics"
|
|
279
|
+
task :statistics do
|
|
280
|
+
total_lines = 0
|
|
281
|
+
total_code = 0
|
|
282
|
+
show_line( "File Name", "Lines", "LOC" )
|
|
283
|
+
SRC_FILES.each do |fn|
|
|
284
|
+
lines, codelines = count_lines fn
|
|
285
|
+
show_line( fn, lines, codelines )
|
|
286
|
+
total_lines += lines
|
|
287
|
+
total_code += codelines
|
|
288
|
+
end
|
|
289
|
+
show_line( "Total", total_lines, total_code )
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
def run_testsite( arguments = '' )
|
|
294
|
+
chdir 'test' do
|
|
295
|
+
ruby "-I../lib -I. #{arguments} runtests.rb"
|
|
296
|
+
end
|
|
297
|
+
# ruby %{-I../lib #{arguments} ../bin/webgen -V 3 }
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
CLOBBER << "test/qp" << "qp"
|
|
302
|
+
desc "Build the test site"
|
|
303
|
+
task :testsite do
|
|
304
|
+
run_testsite
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
CLOBBER << "test/coverage"
|
|
309
|
+
desc "Run the code coverage tool on the testsite"
|
|
310
|
+
task :coverage do
|
|
311
|
+
run_testsite '-rcoverage'
|
|
312
|
+
end
|