rio 0.3.3 → 0.3.4

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 (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: