ruby_ex 0.4.6.2 → 0.5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/NEWS +17 -0
- data/README +1 -0
- data/SPEC.gemspec +14 -0
- data/SPEC.yml +10 -6
- data/lib/abstract.rb +3 -4
- data/lib/d_logger.rb +3 -3
- data/lib/drb/observable_pool.rb +5 -2
- data/lib/drb_ex.rb +1 -6
- data/lib/exp_mod.rb +48 -0
- data/lib/file_type.rb +82 -97
- data/lib/kill_all.rb +3 -3
- data/lib/{module → module_extensions}/autoload_tree.rb +5 -10
- data/lib/{module → module_extensions}/hierarchy.rb +11 -5
- data/lib/{module → module_extensions}/instance_method_visibility.rb +7 -5
- data/lib/{ordered_hash.rb → o_hash.rb} +8 -13
- data/lib/probability_distributions/gaussian_distribution.rb +34 -0
- data/lib/probability_distributions/probability_distribution.rb +16 -0
- data/lib/probability_distributions/uniform_distribution.rb +12 -0
- data/lib/random_generators.rb +1 -3
- data/lib/ruby_ex.rb +4 -4
- data/lib/sendmail.rb +7 -4
- data/lib/sym_tbl_gsub.rb +48 -17
- data/lib/uri/file.rb +5 -10
- data/lib/uri/ftp_ex.rb +4 -4
- data/lib/uri/generic_ex.rb +11 -7
- data/lib/uri/http_ex.rb +4 -4
- data/lib/uri/mysql.rb +3 -5
- data/lib/uri/pgsql.rb +3 -5
- data/lib/uri/rsync.rb +2 -4
- data/lib/uri/ssh.rb +3 -6
- data/lib/uri/svn.rb +10 -12
- data/lib/{yaml → yaml_extensions}/chop_header.rb +3 -3
- data/lib/{yaml → yaml_extensions}/transform.rb +4 -4
- data/lib/{yaml → yaml_extensions}/yregexpath.rb +3 -3
- metadata +89 -105
- data/lib/commands.rb +0 -27
- data/lib/commands/command.rb +0 -545
- data/lib/commands/datas.rb +0 -11
- data/lib/commands/datas/composite.rb +0 -55
- data/lib/commands/datas/data.rb +0 -160
- data/lib/commands/datas/factory.rb +0 -74
- data/lib/commands/datas/pipe.rb +0 -52
- data/lib/commands/datas/temp.rb +0 -24
- data/lib/commands/factory.rb +0 -65
- data/lib/commands/helpers.rb +0 -76
- data/lib/commands/pipe.rb +0 -114
- data/lib/commands/runners.rb +0 -11
- data/lib/commands/runners/exec.rb +0 -46
- data/lib/commands/runners/fork.rb +0 -104
- data/lib/commands/runners/mockable.rb +0 -63
- data/lib/commands/runners/no_run.rb +0 -44
- data/lib/commands/runners/popen.rb +0 -49
- data/lib/commands/runners/runner.rb +0 -177
- data/lib/commands/runners/system.rb +0 -54
- data/lib/commands/seq.rb +0 -31
- data/lib/hookable.rb +0 -294
- data/lib/hooker.rb +0 -52
data/lib/kill_all.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
2
|
# Copyright:: Copyright (c) 2004, 2005 TTK team. All rights reserved.
|
3
3
|
# License:: LGPL
|
4
|
-
# $Id: /w/fey/ruby_ex/trunk/lib/kill_all.rb
|
4
|
+
# $Id: /w/fey/ruby_ex/trunk/lib/kill_all.rb 24387 2006-07-09T17:07:20.668761Z ertai $
|
5
5
|
|
6
|
-
|
6
|
+
core_ex_require 'objective_command'
|
7
7
|
|
8
8
|
class KillAll
|
9
9
|
|
10
10
|
attr_accessor :signal
|
11
11
|
attr_accessor :regexp
|
12
12
|
|
13
|
-
PS = 'ps'.
|
13
|
+
PS = 'ps'.to_ocmd
|
14
14
|
|
15
15
|
def initialize ( aSignal='KILL' )
|
16
16
|
@signal = aSignal
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# Copyright:: Copyright (c) 2004 Nicolas Despres. All rights reserved.
|
2
2
|
# Author:: Nicolas Despres <polrop@lrde.epita.fr>.
|
3
3
|
# License:: Gnu General Public License.
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/module_extensions/autoload_tree.rb 53902 2007-01-13T11:33:32.044352Z ertai $
|
5
5
|
|
6
6
|
|
7
|
-
module AutoloadTree
|
7
|
+
module ModuleExtensions::AutoloadTree
|
8
8
|
|
9
9
|
def autoload_tree(dir, recursive=true, &block)
|
10
10
|
pdir = Pathname.new(dir)
|
@@ -28,18 +28,13 @@ module AutoloadTree
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
end # module AutoloadTree
|
31
|
+
end # module ModuleExtensions::AutoloadTree
|
32
32
|
|
33
33
|
class Module
|
34
|
-
|
35
|
-
include AutoloadTree
|
36
|
-
|
37
|
-
module AutoloadTree
|
38
|
-
end
|
39
|
-
|
34
|
+
include ModuleExtensions::AutoloadTree
|
40
35
|
end # class Module
|
41
36
|
|
42
|
-
module AutoloadTree
|
37
|
+
module ModuleExtensions::AutoloadTree
|
43
38
|
|
44
39
|
test_section __FILE__ do
|
45
40
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
# Copyright:: Copyright (c) 2004, 2006 Nicolas Despres. All rights reserved.
|
2
2
|
# Author:: Nicolas Despres <polrop@lrde.epita.fr>.
|
3
3
|
# License:: Gnu General Public License.
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/module_extensions/hierarchy.rb 53902 2007-01-13T11:33:32.044352Z ertai $
|
5
5
|
|
6
|
-
|
6
|
+
module ModuleExtensions
|
7
7
|
|
8
|
-
# Extend the Module class with
|
8
|
+
# Extend the Module class with methods to manipulate inheritance relation
|
9
9
|
# between constants of a module.
|
10
10
|
module Hierarchy
|
11
11
|
|
@@ -136,7 +136,13 @@ class Module
|
|
136
136
|
|
137
137
|
end # module Hierarchy
|
138
138
|
|
139
|
-
|
139
|
+
end # module ModuleExtensions
|
140
|
+
|
141
|
+
class Module
|
142
|
+
include ModuleExtensions::Hierarchy
|
143
|
+
end # class Module
|
144
|
+
|
145
|
+
module ModuleExtensions
|
140
146
|
|
141
147
|
module Hierarchy
|
142
148
|
|
@@ -333,4 +339,4 @@ class Module
|
|
333
339
|
|
334
340
|
end # module Hierarchy
|
335
341
|
|
336
|
-
end #
|
342
|
+
end # module ModuleExtensions
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# Copyright:: Copyright (c) 2004 Nicolas Despres. All rights reserved.
|
2
2
|
# Author:: Nicolas Despres <polrop@lrde.epita.fr>.
|
3
3
|
# License:: Gnu General Public License.
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/module_extensions/instance_method_visibility.rb 53902 2007-01-13T11:33:32.044352Z ertai $
|
5
5
|
|
6
|
-
|
6
|
+
module ModuleExtensions
|
7
7
|
|
8
8
|
module InstanceMethodVisibility
|
9
9
|
|
@@ -22,11 +22,13 @@ class Module
|
|
22
22
|
|
23
23
|
end # module InstanceMethodVisibility
|
24
24
|
|
25
|
-
|
25
|
+
end # module ModuleExtensions
|
26
26
|
|
27
|
+
class Module
|
28
|
+
include ModuleExtensions::InstanceMethodVisibility
|
27
29
|
end # class Module
|
28
30
|
|
29
|
-
module InstanceMethodVisibility
|
31
|
+
module ModuleExtensions::InstanceMethodVisibility
|
30
32
|
|
31
33
|
test_section __FILE__ do
|
32
34
|
|
@@ -68,6 +70,6 @@ module InstanceMethodVisibility
|
|
68
70
|
|
69
71
|
end
|
70
72
|
|
71
|
-
end # module InstanceMethodVisibility
|
73
|
+
end # module ModuleExtensions::InstanceMethodVisibility
|
72
74
|
|
73
75
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# DESCRIPTION
|
6
6
|
# Override hash to make it creation order preserved.
|
7
|
-
# This will be obsolete - it is better to use special
|
7
|
+
# This will be obsolete - it is better to use special OHash class
|
8
8
|
# than overriding.
|
9
9
|
# Public domain.
|
10
10
|
#
|
@@ -12,16 +12,11 @@
|
|
12
12
|
# Andrew Johnson for his suggestions and fixes of Hash[],
|
13
13
|
# merge, to_a, inspect and shift
|
14
14
|
#
|
15
|
-
#
|
16
|
-
#
|
17
|
-
# you can try to run this file (ruby orderedhash.rb)
|
18
|
-
#
|
19
|
-
|
20
|
-
# $LastChangedBy: ertai $
|
21
|
-
# $Id: /w/fey/ruby_ex/trunk/lib/ordered_hash.rb 7972 2005-09-24T19:53:40.837778Z ertai $
|
15
|
+
# $LastChangedBy$
|
16
|
+
# $Id: /w/fey/ruby_ex/trunk/lib/o_hash.rb 24384 2006-07-09T16:59:08.734236Z ertai $
|
22
17
|
|
23
18
|
|
24
|
-
module
|
19
|
+
module OHashMixIn
|
25
20
|
|
26
21
|
def store ( a, b )
|
27
22
|
@order.push a unless has_key? a
|
@@ -165,7 +160,7 @@ module OrderedHash
|
|
165
160
|
!@order.nil?
|
166
161
|
end
|
167
162
|
|
168
|
-
end # module
|
163
|
+
end # module OHashMixIn
|
169
164
|
|
170
165
|
|
171
166
|
class OHash < Hash
|
@@ -174,7 +169,7 @@ class OHash < Hash
|
|
174
169
|
|
175
170
|
alias :unordered_keys :keys
|
176
171
|
|
177
|
-
include
|
172
|
+
include OHashMixIn
|
178
173
|
|
179
174
|
def initialize ( *a )
|
180
175
|
@order = unordered_keys
|
@@ -193,7 +188,7 @@ class OHash < Hash
|
|
193
188
|
hsh
|
194
189
|
end
|
195
190
|
|
196
|
-
have YamlExtension, :
|
191
|
+
have YamlExtension, :ohash, :o_hash
|
197
192
|
|
198
193
|
def self.yaml_load ( val )
|
199
194
|
case val
|
@@ -253,7 +248,7 @@ test_section __FILE__ do
|
|
253
248
|
end
|
254
249
|
|
255
250
|
def test_preserve
|
256
|
-
# or using
|
251
|
+
# or using OHash[] method
|
257
252
|
hsh = OHash['z', 1, 'a', 2, 'c', 3]
|
258
253
|
hsh2 = OHash['a', 2, 'z', 1, 'c', 3]
|
259
254
|
assert_equal(hsh.keys, ['z','a','c'])
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
|
+
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
3
|
+
# License:: GNU General Public License (GPL).
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/probability_distributions/gaussian_distribution.rb 53898 2007-01-13T11:21:16.132465Z ertai $
|
5
|
+
|
6
|
+
module ProbabilityDistributions
|
7
|
+
|
8
|
+
class GaussianDistribution < ProbabilityDistribution
|
9
|
+
|
10
|
+
def initialize ( average, variability, uniform_distribution=nil )
|
11
|
+
raise unless uniform_distribution.is_a? UniformDistribution
|
12
|
+
@uniform_distribution = uniform_distribution
|
13
|
+
end
|
14
|
+
|
15
|
+
def box_muller_conversion
|
16
|
+
yA, yB = sqrt(-2 * log(@x1)), 2 * PI * @x2
|
17
|
+
@y1 = yA * cos(yB)
|
18
|
+
@y2 = yA * sin(yB)
|
19
|
+
end
|
20
|
+
|
21
|
+
def choose
|
22
|
+
if @y2.nil?
|
23
|
+
@x1, @x2 = @uniform_distribution.choose, @uniform_distribution.choose
|
24
|
+
box_muller_conversion
|
25
|
+
return @y1
|
26
|
+
end
|
27
|
+
res = @y2
|
28
|
+
@y2 = nil
|
29
|
+
return res
|
30
|
+
end
|
31
|
+
|
32
|
+
end # class GaussianDistribution
|
33
|
+
|
34
|
+
end # module ProbabilityDistributions
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
|
+
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
3
|
+
# License:: GNU General Public License (GPL).
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/probability_distributions/probability_distribution.rb 53906 2007-01-13T16:15:34.543400Z ertai $
|
5
|
+
|
6
|
+
module ProbabilityDistributions
|
7
|
+
|
8
|
+
class ProbabilityDistribution
|
9
|
+
mixin Abstract
|
10
|
+
|
11
|
+
def choose
|
12
|
+
end
|
13
|
+
|
14
|
+
end # class ProbabilityDistribution
|
15
|
+
|
16
|
+
end # module ProbabilityDistributions
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
|
+
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
3
|
+
# License:: GNU General Public License (GPL).
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/probability_distributions/uniform_distribution.rb 53906 2007-01-13T16:15:34.543400Z ertai $
|
5
|
+
|
6
|
+
module ProbabilityDistributions
|
7
|
+
|
8
|
+
class UniformDistribution < ProbabilityDistribution
|
9
|
+
mixin Abstract
|
10
|
+
end # class UniformDistribution
|
11
|
+
|
12
|
+
end # module ProbabilityDistributions
|
data/lib/random_generators.rb
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
2
|
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
3
3
|
# License:: GNU General Public License (GPL).
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/random_generators.rb
|
5
|
-
|
6
|
-
silence_warnings { require 'active_support/module_attribute_accessors' }
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/random_generators.rb 24387 2006-07-09T17:07:20.668761Z ertai $
|
7
5
|
|
8
6
|
module RandomGenerators
|
9
7
|
|
data/lib/ruby_ex.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
2
2
|
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
3
3
|
# License:: Gnu General Public License.
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/ruby_ex.rb
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/ruby_ex.rb 53944 2007-01-14T12:13:14.937281Z ertai $
|
5
5
|
|
6
6
|
require 'pathname'
|
7
7
|
|
@@ -48,7 +48,7 @@ module RubyEx
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
require 'uri'
|
51
|
-
|
51
|
+
core_ex_require 'highline'
|
52
52
|
$LOADED_FEATURES << 'ruby_ex.rb' << 'uri.rb'
|
53
53
|
Dependencies.loaded << 'ruby_ex' << 'uri'
|
54
54
|
|
@@ -57,10 +57,10 @@ module RubyEx
|
|
57
57
|
i.fixed_cases 'URI', 'DRuby', 'MySQL', 'PgSQL', 'FTP', 'HTTP', 'DRb'
|
58
58
|
end
|
59
59
|
|
60
|
-
VersionId = ::Version.parse("dev-ruby/ruby_ex-0.
|
60
|
+
VersionId = ::Version.parse("dev-ruby/ruby_ex-0.5")
|
61
61
|
|
62
62
|
dir.load_path!
|
63
|
-
(dir + '
|
63
|
+
(dir + 'module_extensions').load_path!
|
64
64
|
|
65
65
|
URI::HttpEx.import!
|
66
66
|
URI::FtpEx.import!
|
data/lib/sendmail.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
require 'ostruct'
|
8
8
|
require 'optparse'
|
9
|
-
|
9
|
+
YamlExtensions::ChopHeader.import!
|
10
10
|
|
11
11
|
|
12
12
|
class Sendmail
|
@@ -83,7 +83,7 @@ class Sendmail
|
|
83
83
|
exit
|
84
84
|
end
|
85
85
|
end.parse!(string_args)
|
86
|
-
options.header[:To]
|
86
|
+
options.header[:To] = (options.header[:To] || options.to).join(', ')
|
87
87
|
from = options.header[:From] || options.from
|
88
88
|
if from.to_s =~ /<(.*)>/
|
89
89
|
options.header[:From] = from
|
@@ -122,6 +122,9 @@ class Sendmail
|
|
122
122
|
opts.header.symbolize_keys!
|
123
123
|
server, port = opts.server.split(/:/)
|
124
124
|
port ||= 25
|
125
|
+
to = opts.header[:To]
|
126
|
+
to = to.join(', ') if to.is_a? Array
|
127
|
+
STDERR.puts "To: #{to.inspect}"
|
125
128
|
STDERR.puts "Smtp Server: #{server}"
|
126
129
|
|
127
130
|
#
|
@@ -131,7 +134,7 @@ class Sendmail
|
|
131
134
|
raise 'HighLine is unavailable' unless defined? HighLine
|
132
135
|
question = %Q[
|
133
136
|
|Send a mail, with this subject: #{opts.header[:Subject]}
|
134
|
-
| to #{
|
137
|
+
| to #{to}
|
135
138
|
| from #{opts.header[:From]}
|
136
139
|
| #{(opts.signed)? 'signed by ' + opts.from : 'not signed !'}
|
137
140
|
|Are you sure? (y/n)].head_cut!
|
@@ -142,7 +145,7 @@ class Sendmail
|
|
142
145
|
Net::SMTP.start(server, port) do |smtp|
|
143
146
|
smtp.open_message_stream(opts.from, opts.to) do |f|
|
144
147
|
f.print "From: #{opts.header[:From]}\n"
|
145
|
-
f.print "To: #{
|
148
|
+
f.print "To: #{to}\n"
|
146
149
|
f.print "Subject: #{opts.header[:Subject]}\n"
|
147
150
|
opts.header.each do |k, v|
|
148
151
|
next if [:From, :To, :Subject].include? k
|
data/lib/sym_tbl_gsub.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Author:: Nicolas Pouillard <ertai@lrde.epita.fr>.
|
2
2
|
# Copyright:: Copyright (c) 2005 Nicolas Pouillard. All rights reserved.
|
3
3
|
# License:: Ruby License
|
4
|
-
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/sym_tbl_gsub.rb
|
4
|
+
# Revision:: $Id: /w/fey/ruby_ex/trunk/lib/sym_tbl_gsub.rb 24385 2006-07-09T17:01:58.280788Z ertai $
|
5
5
|
|
6
6
|
module SymTblGsub
|
7
7
|
|
@@ -60,25 +60,29 @@ class Object
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def symtbl_to_s
|
63
|
-
|
63
|
+
to_json
|
64
64
|
end
|
65
65
|
|
66
66
|
end # class Object
|
67
67
|
|
68
68
|
|
69
69
|
|
70
|
-
module PrettyInspect
|
71
|
-
def symtbl_to_s
|
72
|
-
inspect
|
73
|
-
end
|
74
|
-
end # module PrettyInspect
|
75
|
-
|
76
|
-
|
77
|
-
|
78
70
|
class Hash
|
79
|
-
have PrettyInspect
|
80
71
|
|
81
|
-
def symtbl_gsub
|
72
|
+
def symtbl_gsub! symtbl
|
73
|
+
res = inject nil do |accu, k, v|
|
74
|
+
new_k = k.symtbl_gsub! symtbl
|
75
|
+
new_v = v.symtbl_gsub! symtbl
|
76
|
+
if new_k
|
77
|
+
delete k
|
78
|
+
self[new_k] = v
|
79
|
+
end
|
80
|
+
accu || new_k || new_v
|
81
|
+
end
|
82
|
+
(res.nil?)? nil : self
|
83
|
+
end
|
84
|
+
|
85
|
+
def symtbl_gsub symtbl
|
82
86
|
changed = false
|
83
87
|
res = self.class.new
|
84
88
|
each do |k,v|
|
@@ -95,9 +99,13 @@ end # class Hash
|
|
95
99
|
|
96
100
|
|
97
101
|
class Array
|
98
|
-
have PrettyInspect
|
99
102
|
|
100
|
-
def symtbl_gsub
|
103
|
+
def symtbl_gsub! symtbl
|
104
|
+
res = inject(nil) { |accu, x| x.symtbl_gsub!(symtbl) || accu }
|
105
|
+
(res.nil?)? nil : self
|
106
|
+
end
|
107
|
+
|
108
|
+
def symtbl_gsub symtbl
|
101
109
|
changed = false
|
102
110
|
res = self.class.new
|
103
111
|
each do |e|
|
@@ -141,9 +149,19 @@ class Pathname
|
|
141
149
|
end # class Pathname
|
142
150
|
|
143
151
|
|
152
|
+
module ActiveSupport #:nodoc:
|
153
|
+
module JSON #:nodoc:
|
154
|
+
module Encoders #:nodoc:
|
155
|
+
define_encoder Pathname do |path|
|
156
|
+
path.to_s # FIXME .to_json
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
|
162
|
+
|
144
163
|
|
145
164
|
class Regexp
|
146
|
-
have PrettyInspect
|
147
165
|
|
148
166
|
def symtbl_gsub ( symtbl )
|
149
167
|
res = source.symtbl_gsub(symtbl)
|
@@ -171,6 +189,10 @@ end # class Symbol
|
|
171
189
|
|
172
190
|
class String
|
173
191
|
|
192
|
+
def symtbl_to_s
|
193
|
+
self
|
194
|
+
end
|
195
|
+
|
174
196
|
def symtbl_gsub ( symtbl )
|
175
197
|
return nil unless self =~ /<<.*>>/
|
176
198
|
dup.symtbl_gsub! symtbl
|
@@ -196,6 +218,15 @@ class String
|
|
196
218
|
end # class String
|
197
219
|
|
198
220
|
|
221
|
+
class Symbol
|
222
|
+
|
223
|
+
def symtbl_to_s
|
224
|
+
to_s
|
225
|
+
end
|
226
|
+
|
227
|
+
end # class Symbol
|
228
|
+
|
229
|
+
|
199
230
|
PathList.class_eval do
|
200
231
|
attr_accessor :symtbl
|
201
232
|
|
@@ -242,12 +273,12 @@ class File
|
|
242
273
|
end
|
243
274
|
result
|
244
275
|
end
|
245
|
-
|
276
|
+
|
246
277
|
def symtbl_gsub ( symtbl )
|
247
278
|
contents = read
|
248
279
|
contents.symtbl_gsub! symtbl
|
249
280
|
end
|
250
|
-
|
281
|
+
|
251
282
|
end # class File
|
252
283
|
|
253
284
|
|