rio 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. data/ChangeLog +225 -0
  2. data/README +12 -0
  3. data/Rakefile +1 -1
  4. data/VERSION +1 -1
  5. data/doc/ANNOUNCE +160 -71
  6. data/doc/RELEASE_NOTES +71 -2
  7. data/ex/colx.rb +1 -1
  8. data/ex/passwd_report.rb +4 -8
  9. data/ex/riocat +5 -5
  10. data/ex/riogunzip +1 -1
  11. data/ex/riogzip +6 -6
  12. data/ex/rioprompt.rb +6 -0
  13. data/lib/rio.rb +3 -13
  14. data/lib/rio/arycopy.rb +1 -1
  15. data/lib/rio/base.rb +1 -5
  16. data/lib/rio/construct.rb +75 -0
  17. data/lib/rio/constructor.rb +42 -11
  18. data/lib/rio/context.rb +1 -1
  19. data/lib/rio/context/dir.rb +50 -23
  20. data/lib/rio/context/methods.rb +5 -3
  21. data/lib/rio/{cxdir.rb → context/skip.rb} +24 -36
  22. data/lib/rio/context/stream.rb +38 -16
  23. data/lib/rio/cp.rb +24 -5
  24. data/lib/rio/dir.rb +8 -7
  25. data/lib/rio/doc/HOWTO.rb +33 -33
  26. data/lib/rio/doc/INTRO.rb +416 -256
  27. data/lib/rio/doc/MISC.rb +3 -1
  28. data/lib/rio/doc/SYNOPSIS.rb +28 -33
  29. data/lib/rio/entrysel.rb +76 -9
  30. data/lib/rio/file.rb +2 -1
  31. data/lib/rio/filter.rb +95 -0
  32. data/lib/rio/filter/closeoneof.rb +1 -1
  33. data/lib/rio/grande.rb +0 -74
  34. data/lib/rio/if.rb +2 -1
  35. data/lib/rio/if/basic.rb +1 -1
  36. data/lib/rio/if/csv.rb +1 -1
  37. data/lib/rio/if/dir.rb +1 -220
  38. data/lib/rio/if/fileordir.rb +26 -12
  39. data/lib/rio/if/grande.rb +55 -6
  40. data/lib/rio/if/grande_entry.rb +355 -0
  41. data/lib/rio/if/{methods.rb → grande_stream.rb} +69 -88
  42. data/lib/rio/if/path.rb +25 -3
  43. data/lib/rio/if/stream.rb +62 -37
  44. data/lib/rio/if/temp.rb +2 -2
  45. data/lib/rio/if/test.rb +23 -0
  46. data/lib/rio/impl/path.rb +5 -0
  47. data/lib/rio/match.rb +6 -3
  48. data/lib/rio/matchrecord.rb +50 -46
  49. data/lib/rio/{filter/chomp.rb → ops/construct.rb} +12 -20
  50. data/lib/rio/ops/create.rb +3 -0
  51. data/lib/rio/ops/dir.rb +12 -6
  52. data/lib/rio/ops/either.rb +17 -3
  53. data/lib/rio/ops/path.rb +4 -1
  54. data/lib/rio/ops/stream/input.rb +6 -1
  55. data/lib/rio/ops/stream/read.rb +1 -3
  56. data/lib/rio/{context/chomp.rb → prompt.rb} +17 -13
  57. data/lib/rio/rl/base.rb +1 -1
  58. data/lib/rio/rl/builder.rb +3 -1
  59. data/lib/rio/state.rb +7 -13
  60. data/lib/rio/stream.rb +8 -5
  61. data/lib/rio/stream/open.rb +1 -1
  62. data/lib/rio/version.rb +1 -1
  63. data/test/mswin32.rb +1 -1
  64. data/test/runtests_gem.rb +1 -1
  65. data/test/tc/all.rb +3 -0
  66. data/test/tc/copy-from.rb +13 -13
  67. data/test/tc/copy-to.rb +1 -1
  68. data/test/tc/copy.rb +1 -1
  69. data/test/tc/copydir.rb +0 -24
  70. data/test/tc/copysymlink.rb +39 -0
  71. data/test/tc/csv.rb +2 -2
  72. data/test/tc/csv2.rb +4 -4
  73. data/test/tc/misc.rb +16 -16
  74. data/test/tc/nolines.rb +26 -26
  75. data/test/tc/noqae.rb +74 -74
  76. data/test/tc/overload.rb +28 -28
  77. data/test/tc/riorl.rb +36 -0
  78. data/test/tc/selnosel.rb +36 -0
  79. data/test/tc/skip.rb +58 -0
  80. data/test/tc/skiplines.rb +42 -0
  81. data/test/tc/symlink.rb +1 -1
  82. data/test/tc/symlink0.rb +1 -1
  83. data/test/tc/temp.rb +1 -1
  84. data/test/tc/tempdir.rb +1 -1
  85. data/test/tc/testcase.rb +7 -1
  86. metadata +14 -8
  87. data/lib/rio/matchcolumns.rb +0 -266
  88. data/lib/rio/rangemath.rb +0 -44
@@ -14,52 +14,52 @@ class TC_RIO_overload < Test::Unit::TestCase
14
14
  src = rio('src').print!(line0)
15
15
 
16
16
  rio('src') > rio('dst1')
17
- assert_equal(line0,rio('dst1').slurp)
17
+ assert_equal(line0,rio('dst1').contents)
18
18
  # $trace_states = true
19
19
  rio('dst2') < rio('src')
20
20
  $trace_states = false
21
- assert_equal(line0,rio('dst2').slurp)
21
+ assert_equal(line0,rio('dst2').contents)
22
22
  rio('dst2') << rio('src')
23
- assert_equal(line0+line0,rio('dst2').slurp)
23
+ assert_equal(line0+line0,rio('dst2').contents)
24
24
 
25
25
  rio('dst3') << rio('src')
26
- assert_equal(line0,rio('dst3').slurp)
26
+ assert_equal(line0,rio('dst3').contents)
27
27
  rio('dst3') << rio('src')
28
- assert_equal(line0+line0,rio('dst3').slurp)
28
+ assert_equal(line0+line0,rio('dst3').contents)
29
29
 
30
30
  rio('dst4') < rio('src')
31
- assert_equal(line0,rio('dst4').slurp)
31
+ assert_equal(line0,rio('dst4').contents)
32
32
 
33
33
  rio('dst5') < line0
34
- assert_equal(line0,rio('dst5').slurp)
34
+ assert_equal(line0,rio('dst5').contents)
35
35
  rio('dst5') << line0
36
- assert_equal(line0+line0,rio('dst5').slurp)
36
+ assert_equal(line0+line0,rio('dst5').contents)
37
37
 
38
38
  rio('dst6') < ::File.new('src','r')
39
- assert_equal(line0,rio('dst6').slurp)
39
+ assert_equal(line0,rio('dst6').contents)
40
40
  rio('dst6') << ::File.new('src','r')
41
- assert_equal(line0+line0,rio('dst6').slurp)
41
+ assert_equal(line0+line0,rio('dst6').contents)
42
42
 
43
43
  rio('dst7') < "Line 0\n"
44
- assert_equal(line0,rio('dst7').slurp)
44
+ assert_equal(line0,rio('dst7').contents)
45
45
  rio('dst7') << "Line 0\n"
46
- assert_equal(line0+line0,rio('dst7').slurp)
46
+ assert_equal(line0+line0,rio('dst7').contents)
47
47
 
48
48
  rio('dst8').puts!("Zippy DO\n")
49
49
  rio('dst8') < rio('src')
50
- assert_equal(line0,rio('dst8').slurp)
50
+ assert_equal(line0,rio('dst8').contents)
51
51
 
52
52
  rio('src') > rio('dst10')
53
- assert_equal(line0,rio('dst10').slurp)
53
+ assert_equal(line0,rio('dst10').contents)
54
54
  rio('src') >> rio('dst10')
55
- assert_equal(line0+line0,rio('dst10').slurp)
55
+ assert_equal(line0+line0,rio('dst10').contents)
56
56
 
57
57
  rio('src') > rio('dst1')
58
- assert_equal(line0,rio('dst1').slurp)
58
+ assert_equal(line0,rio('dst1').contents)
59
59
 
60
60
  rio('src') >> rio('dst1a')
61
61
  rio('src') >> rio('dst1a')
62
- assert_equal(line0+line0,rio('dst1a').slurp)
62
+ assert_equal(line0+line0,rio('dst1a').contents)
63
63
 
64
64
  str = 'Hello World'
65
65
  rio('src') > str
@@ -70,11 +70,11 @@ class TC_RIO_overload < Test::Unit::TestCase
70
70
  fh = ::File.new('dst2','w')
71
71
  rio('src') > fh
72
72
  fh.close
73
- assert_equal(line0,rio('dst2').slurp)
73
+ assert_equal(line0,rio('dst2').contents)
74
74
 
75
75
  rio('src.gz').gzip < rio('src')
76
76
  rio('dst3') < rio('src.gz').gzip
77
- assert_equal(line0,rio('dst3').slurp)
77
+ assert_equal(line0,rio('dst3').contents)
78
78
 
79
79
  str = 'Hello World'
80
80
  rio('src.gz').gzip > str
@@ -91,8 +91,8 @@ class TC_RIO_overload < Test::Unit::TestCase
91
91
 
92
92
  # dst2 = rio(datadir,'dst2').mkdir
93
93
  # src > dst2
94
- # sline = rio(datadir,'src').slurp
95
- # l2 = rio(datadir,'dst2/src').slurp
94
+ # sline = rio(datadir,'src').contents
95
+ # l2 = rio(datadir,'dst2/src').contents
96
96
  # assert_equal(line0,sline,'a message in a assertion')
97
97
  # assert_equal(line0,l2)
98
98
 
@@ -100,31 +100,31 @@ class TC_RIO_overload < Test::Unit::TestCase
100
100
  # sd1 = rio(datadir,'dir1/sd1').rmtree.mkpath
101
101
  # txt = "Hello f1.txt"
102
102
  # sd1.catpath('f1.txt').puts(txt).close
103
- # oline = rio(datadir,'dir1/sd1/f1.txt').slurp
103
+ # oline = rio(datadir,'dir1/sd1/f1.txt').contents
104
104
 
105
105
  # dir2 = rio(datadir,'dir2').rmtree.mkpath
106
- # sd1.copy(dir2)
107
- # nline = rio(datadir,'dir2/sd1/f1.txt').slurp
106
+ # sd1.copy_to(dir2)
107
+ # nline = rio(datadir,'dir2/sd1/f1.txt').contents
108
108
  # assert_equal(oline,nline)
109
109
 
110
110
  # dir2 = rio(datadir,'dir2').rmtree.mkpath
111
111
  # sd1 > dir2
112
- # nline = rio(datadir,'dir2/sd1/f1.txt').slurp
112
+ # nline = rio(datadir,'dir2/sd1/f1.txt').contents
113
113
  # assert_equal(oline,nline)
114
114
 
115
115
  # dir2 = rio(datadir,'dir2').rmtree.mkpath
116
116
  # dir2 < rio(datadir,'dir1/sd1')
117
- # nline = rio(datadir,'dir2/sd1/f1.txt').slurp
117
+ # nline = rio(datadir,'dir2/sd1/f1.txt').contents
118
118
  # assert_equal(oline,nline)
119
119
 
120
120
  # dir2 = rio(datadir,'dir2').rmtree.mkpath
121
121
  # sd1 > dir2.to_s
122
- # nline = rio(datadir,'dir2/sd1/f1.txt').slurp
122
+ # nline = rio(datadir,'dir2/sd1/f1.txt').contents
123
123
  # assert_equal(oline,nline)
124
124
 
125
125
  # dir2 = rio(datadir,'dir2').rmtree.mkpath
126
126
  # dir2 < rio(datadir,'dir1/sd1').to_s
127
- # nline = rio(datadir,'dir2/sd1/f1.txt').slurp
127
+ # nline = rio(datadir,'dir2/sd1/f1.txt').contents
128
128
  # assert_equal(oline,nline)
129
129
 
130
130
  end
@@ -60,6 +60,28 @@ class TC_riorl < Test::RIO::TestCase
60
60
  }
61
61
  [rios,rinfo]
62
62
  end
63
+ def mkrios_sym
64
+ rinfo = {
65
+ :stdio => ['stdio',"",nil,nil,"stdio:","stdio:"],
66
+ :stderr => ['stderr',"",nil,nil,"stderr:","stderr:"],
67
+ :strio => ['strio',"",nil,nil,"strio:","strio:"],
68
+ :temp => ['temp',@tmppath,nil,nil,"temp:#{@tmppath}","temp:#{@tmppath}"],
69
+ }
70
+ siopq = sprintf("0x%08x",$stdout.object_id)
71
+ rinfo[:sysio] = ['sysio',siopq,nil,nil,"sysio:#{siopq}","sysio:#{siopq}"]
72
+ rinfo[:cmdio] = ['cmdio','echo%20x',nil,nil,'echo x','cmdio:echo%20x']
73
+ rinfo[:fd] = ['fd','1',nil,nil,'fd:1','fd:1']
74
+ rios = {
75
+ :stdio => rio(:stdio),
76
+ :stderr => rio(:stderr),
77
+ :strio => rio(:strio),
78
+ :temp => rio(:temp),
79
+ :sysio => rio($stdout),
80
+ :cmdio => rio(?`,'echo x'),
81
+ :fd => rio(?#,1),
82
+ }
83
+ [rios,rinfo]
84
+ end
63
85
  def mkrios2()
64
86
  rinfo = {
65
87
  ?- => ['stdout',/^$/,nil,nil,/^stdout:$/,/^stdout:$/],
@@ -86,6 +108,20 @@ class TC_riorl < Test::RIO::TestCase
86
108
  assert_equal(r.to_url,rinfo[k][5])
87
109
  end
88
110
  end
111
+ def test_specialpaths_sym
112
+ fmt = "%-12s %-12s %-8s %-8s %-20s %-20s\n"
113
+ #printf(fmt,'scheme','opaque','path','fspath','to_s','url')
114
+ rios,rinfo = mkrios_sym()
115
+ rios.each do |k,r|
116
+ #pinfo(fmt,pathinfo(r))
117
+ assert_equal(r.scheme,rinfo[k][0])
118
+ assert_equal(r.opaque,rinfo[k][1])
119
+ assert_equal(r.path,rinfo[k][2])
120
+ assert_equal(r.fspath,rinfo[k][3])
121
+ assert_equal(r.to_s,rinfo[k][4])
122
+ assert_equal(r.to_url,rinfo[k][5])
123
+ end
124
+ end
89
125
 
90
126
  def test_specialpaths_op
91
127
  fmt = "%-12s %-12s %-8s %-8s %-20s %-20s\n"
@@ -0,0 +1,36 @@
1
+ #!/usr/local/bin/ruby
2
+ if $0 == __FILE__
3
+ Dir.chdir File.dirname(__FILE__)+'/../'
4
+ $:.unshift File.expand_path('../lib/')
5
+ end
6
+
7
+ require 'rio'
8
+ require 'test/unit'
9
+ require 'test/unit/testsuite'
10
+ require 'extensions/symbol'
11
+ require 'tc/testcase'
12
+ require 'tmpdir'
13
+
14
+ class TC_selnosel < Test::RIO::TestCase
15
+ @@once = false
16
+ def self.once
17
+ @@once = true
18
+ rio('dir').delete!.mkpath.chdir {
19
+ rio('f1').touch
20
+ rio('f2').touch
21
+ rio('g1').touch
22
+ rio('g2').touch
23
+ }
24
+ end
25
+ def setup
26
+ super
27
+ self.class.once unless @@once
28
+ @dir = rio('dir')
29
+ end
30
+
31
+ def test_selnosel
32
+ ario = @dir.files('f*').skipfiles(/1/,:symlink?)
33
+ ans = ario.to_a
34
+ assert_equal(%w[dir/f2],smap(ans))
35
+ end
36
+ end
@@ -0,0 +1,58 @@
1
+ #!/usr/local/bin/ruby
2
+ if $0 == __FILE__
3
+ Dir.chdir File.dirname(__FILE__)+'/../'
4
+ $:.unshift File.expand_path('../lib/')
5
+ end
6
+
7
+ require 'rio'
8
+ require 'tc/testcase'
9
+
10
+ class TC_skip < Test::RIO::TestCase
11
+ @@once = false
12
+ def self.once
13
+ @@once = true
14
+ rio('d0').rmtree.mkpath.chdir {
15
+ rio('f1') < (0..1).map { |i| "L#{i}:d0/f1\n" }
16
+ rio('f2') < (0..1).map { |i| "L#{i}:d0/f2\n" }
17
+ rio('g1') < (0..1).map { |i| "L#{i}:d0/g1\n" }
18
+ rio('g2') < (0..1).map { |i| "L#{i}:d0/g2\n" }
19
+ rio('x1').symlink('n1')
20
+ rio('x2').symlink('n2')
21
+ rio('f1').symlink('l1')
22
+ rio('f2').symlink('l2')
23
+ rio('d1').symlink('c1')
24
+ rio('d2').symlink('c2')
25
+ }
26
+ end
27
+ def setup
28
+ super
29
+ self.class.once unless @@once
30
+ @d0 = rio('d0')
31
+ end
32
+
33
+ def test_prefix_files
34
+ exprio = rio(@d0).skipfiles(/1/)
35
+ ansrio = rio(@d0).skip.files(/1/)
36
+ assert_equal(smap(exprio[]),smap(ansrio[]))
37
+ end
38
+ def test_prefix_dirs
39
+ exprio = rio(@d0).skipdirs(/1/)
40
+ ansrio = rio(@d0).skip.dirs(/1/)
41
+ assert_equal(exprio[],ansrio[])
42
+ end
43
+ def test_prefix_entries
44
+ exprio = rio(@d0).skipentries(/1/)
45
+ ansrio = rio(@d0).skip.entries(/1/)
46
+ assert_equal(exprio[],ansrio[])
47
+ end
48
+ def test_prefix_alone
49
+ exprio = rio(@d0).skipentries(/1/)
50
+ ansrio = rio(@d0).skip(/1/)
51
+ assert_equal(exprio[],ansrio[])
52
+ end
53
+ def test_prefix_atend
54
+ # exprio = rio(@d0).skipentries(/1/)
55
+ ansrio = rio(@d0).skip[]
56
+ # assert_equal(exprio[],ansrio[])
57
+ end
58
+ end
@@ -0,0 +1,42 @@
1
+ #!/usr/local/bin/ruby
2
+ if $0 == __FILE__
3
+ Dir.chdir File.dirname(__FILE__)+'/../'
4
+ $:.unshift File.expand_path('../lib/')
5
+ end
6
+
7
+ require 'rio'
8
+ require 'tc/testcase'
9
+
10
+ class TC_skiplines < Test::RIO::TestCase
11
+ @@once = false
12
+ N_LINES = 4
13
+ def self.once
14
+ @@once = true
15
+ rio('f1') < (0...N_LINES).map { |i| "L#{i}:f1\n" }
16
+ rio('f2') < (0...N_LINES).map { |i| "L#{i}:f2\n" }
17
+ rio('g1') < (0...N_LINES).map { |i| "L#{i}:g1\n" }
18
+ rio('g2') < (0...N_LINES).map { |i| "L#{i}:g2\n" }
19
+ end
20
+ def setup
21
+ super
22
+ self.class.once unless @@once
23
+
24
+ end
25
+
26
+ def test_prefix_lines
27
+ # exprio = rio(@d0).skipfiles(/1/)
28
+ # ansrio = rio(@d0).skip.files(/1/)
29
+ r = rio('f1').skip.lines(1)
30
+ # p r.cx
31
+ # p r.to_a
32
+ # assert_equal(smap(exprio[]),smap(ansrio[]))
33
+ end
34
+ def test_skip_param
35
+ # exprio = rio(@d0).skipfiles(/1/)
36
+ # ansrio = rio(@d0).skip.files(/1/)
37
+ r = rio('f1').lines(/^L/).skip(1..2)
38
+ # p r.to_a
39
+ # assert_equal(smap(exprio[]),smap(ansrio[]))
40
+ end
41
+
42
+ end
@@ -33,7 +33,7 @@ class TC_RIO_symlink < Test::Unit::TestCase
33
33
  assert_equal('link',lnk.ftype)
34
34
  assert_equal(dst.exist?,lnk.exist?)
35
35
  if dst.exist?
36
- assert_equal(dst.slurp,lnk.slurp)
36
+ assert_equal(dst.contents,lnk.contents)
37
37
  end
38
38
  end
39
39
  def compare_links(exp,ans)
@@ -33,7 +33,7 @@ class TC_RIO_symlink0 < Test::Unit::TestCase
33
33
  assert_equal('link',lnk.ftype)
34
34
  assert_equal(dst.exist?,lnk.exist?)
35
35
  if dst.exist?
36
- assert_equal(dst.slurp,lnk.slurp)
36
+ assert_equal(dst.contents,lnk.contents)
37
37
  end
38
38
  end
39
39
  def compare_links(exp,ans)
@@ -11,7 +11,7 @@ require 'extensions/symbol'
11
11
  require 'tc/testcase'
12
12
  require 'tmpdir'
13
13
 
14
- class TC_tempfile < Test::RIO::TestCase
14
+ class TC_temp < Test::RIO::TestCase
15
15
  @@once = false
16
16
  def self.once
17
17
  @@once = true
@@ -11,7 +11,7 @@ require 'extensions/symbol'
11
11
  require 'tc/testcase'
12
12
  require 'tmpdir'
13
13
 
14
- class TC_tempfile < Test::RIO::TestCase
14
+ class TC_tempdir < Test::RIO::TestCase
15
15
  @@once = false
16
16
  def self.once
17
17
  @@once = true
@@ -107,13 +107,19 @@ module Test
107
107
  def assert_dirs_equal(exp,d,msg="")
108
108
  exp.each do |ent|
109
109
  ds = rio(d,ent.filename)
110
- assert(ds.exist?,"entry '#{ds}' exists")
110
+ assert_equal(ent.symlink?,ds.symlink?,"both symlinks, or not")
111
+ unless ent.symlink?
112
+ assert(ds.exist?,"entry '#{ds}' exists")
113
+ end
111
114
  assert_equal(ent.ftype,ds.ftype,"same ftype")
112
115
  assert_rios_equal(ent,ds,"sub rios are the same")
113
116
  end
114
117
  end
115
118
  def assert_rios_equal(exp,ans,msg="")
116
119
  case
120
+ when exp.symlink?
121
+ assert(ans.symlink?,"entry is a symlink")
122
+ assert_equal(exp.readlink,ans.readlink,"symlinks read the same")
117
123
  when exp.file?
118
124
  assert(ans.file?,"entry is a file")
119
125
  assert_equal(exp.readlines,ans.readlines,"file has same contents")
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: rio
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.3.3
7
- date: 2005-08-19 00:00:00 -07:00
6
+ version: 0.3.4
7
+ date: 2005-09-06 00:00:00 -07:00
8
8
  summary: "Rio - Ruby I/O Comfort Class"
9
9
  require_paths:
10
10
  - lib
@@ -56,6 +56,7 @@ files:
56
56
  - test/tc/copydirlines.rb
57
57
  - test/tc/copylines.rb
58
58
  - test/tc/copynonex.rb
59
+ - test/tc/copysymlink.rb
59
60
  - test/tc/create.rb
60
61
  - test/tc/csv.rb
61
62
  - test/tc/csv2.rb
@@ -91,6 +92,9 @@ files:
91
92
  - test/tc/rename.rb
92
93
  - test/tc/rename_assign.rb
93
94
  - test/tc/riorl.rb
95
+ - test/tc/selnosel.rb
96
+ - test/tc/skip.rb
97
+ - test/tc/skiplines.rb
94
98
  - test/tc/sub.rb
95
99
  - test/tc/symlink.rb
96
100
  - test/tc/symlink0.rb
@@ -115,10 +119,10 @@ files:
115
119
  - lib/rio/arycopy.rb
116
120
  - lib/rio/assert.rb
117
121
  - lib/rio/base.rb
122
+ - lib/rio/construct.rb
118
123
  - lib/rio/constructor.rb
119
124
  - lib/rio/context.rb
120
125
  - lib/rio/cp.rb
121
- - lib/rio/cxdir.rb
122
126
  - lib/rio/dir.rb
123
127
  - lib/rio/doc.rb
124
128
  - lib/rio/entrysel.rb
@@ -126,6 +130,7 @@ files:
126
130
  - lib/rio/ext.rb
127
131
  - lib/rio/factory.rb
128
132
  - lib/rio/file.rb
133
+ - lib/rio/filter.rb
129
134
  - lib/rio/ftp.rb
130
135
  - lib/rio/grande.rb
131
136
  - lib/rio/handle.rb
@@ -135,11 +140,10 @@ files:
135
140
  - lib/rio/kernel.rb
136
141
  - lib/rio/local.rb
137
142
  - lib/rio/match.rb
138
- - lib/rio/matchcolumns.rb
139
143
  - lib/rio/matchrecord.rb
140
144
  - lib/rio/open3.rb
141
145
  - lib/rio/path.rb
142
- - lib/rio/rangemath.rb
146
+ - lib/rio/prompt.rb
143
147
  - lib/rio/record.rb
144
148
  - lib/rio/rectype.rb
145
149
  - lib/rio/state.rb
@@ -148,12 +152,12 @@ files:
148
152
  - lib/rio/tempdir.rb
149
153
  - lib/rio/to_rio.rb
150
154
  - lib/rio/version.rb
151
- - lib/rio/context/chomp.rb
152
155
  - lib/rio/context/closeoneof.rb
153
156
  - lib/rio/context/cxx.rb
154
157
  - lib/rio/context/dir.rb
155
158
  - lib/rio/context/gzip.rb
156
159
  - lib/rio/context/methods.rb
160
+ - lib/rio/context/skip.rb
157
161
  - lib/rio/context/stream.rb
158
162
  - lib/rio/doc/HOWTO.rb
159
163
  - lib/rio/doc/INTRO.rb
@@ -163,7 +167,6 @@ files:
163
167
  - lib/rio/exception/open.rb
164
168
  - lib/rio/exception/state.rb
165
169
  - lib/rio/ext/csv.rb
166
- - lib/rio/filter/chomp.rb
167
170
  - lib/rio/filter/closeoneof.rb
168
171
  - lib/rio/filter/gzip.rb
169
172
  - lib/rio/ftp/conn.rb
@@ -174,14 +177,16 @@ files:
174
177
  - lib/rio/if/file.rb
175
178
  - lib/rio/if/fileordir.rb
176
179
  - lib/rio/if/grande.rb
180
+ - lib/rio/if/grande_entry.rb
181
+ - lib/rio/if/grande_stream.rb
177
182
  - lib/rio/if/internal.rb
178
- - lib/rio/if/methods.rb
179
183
  - lib/rio/if/path.rb
180
184
  - lib/rio/if/stream.rb
181
185
  - lib/rio/if/string.rb
182
186
  - lib/rio/if/temp.rb
183
187
  - lib/rio/if/test.rb
184
188
  - lib/rio/impl/path.rb
189
+ - lib/rio/ops/construct.rb
185
190
  - lib/rio/ops/create.rb
186
191
  - lib/rio/ops/dir.rb
187
192
  - lib/rio/ops/either.rb
@@ -226,6 +231,7 @@ files:
226
231
  - ex/riocat
227
232
  - ex/riogunzip
228
233
  - ex/riogzip
234
+ - ex/rioprompt.rb
229
235
  - ex/tolf
230
236
  test_files: []
231
237
  rdoc_options: