[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>

Hi,

49 messages 2001/09/01
[#20774] Re: RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...> 2001/09/03

I wrote:

[#20778] Re: RCR: non-bang equivalent to []= — Kevin Smith <kevinbsmith@...> 2001/09/03

--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:

[#20715] oreilly buch von matz - website online — markus jais <info@...>

hi

43 messages 2001/09/02
[#20717] Re: OReilly Ruby book has snail on cover — ptkwt@...1.aracnet.com (Phil Tomson) 2001/09/02

Actually, thanks for posting it here. I was trying to search OReilly's

[#20922] Re: OReilly Ruby book has snail on cover — Paul Brannan <pbrannan@...> 2001/09/05

On Mon, 3 Sep 2001, Phil Tomson wrote:

[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>

I don't have much experience with

25 messages 2001/09/03

[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)

Some quetsions have been solved for me, but my message system does not

12 messages 2001/09/03

[#20976] destructor — Frank Sonnemans <ruby@...>

Does Ruby have a destructor as in C++?

25 messages 2001/09/07

[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)

Are there any Ruby analogs of these two Python modules (xml_pickle,

13 messages 2001/09/15

[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>

Version: 1.64

29 messages 2001/09/18
[#21298] Re: nested require files need path internally — David Alan Black <dblack@...> 2001/09/18

Hello --

[#21302] Re: nested require files need path internally — Bob Gustafson <bobgus@...> 2001/09/18

On Tue, 18 Sep 2001, David Alan Black wrote:

[#21303] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21306] Re: nested require files need path internally — Lars Christensen <larsch@...> 2001/09/18

On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:

[#21307] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21331] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

> The big difference is C++ search done in compile time, Ruby search

[#21340] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21353] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21366] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21368] Re: nested require files need path internally — "Julian Fitzell" <julian-ml@...4.com> 2001/09/19

On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:

[#21376] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21406] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/19

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)

From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I

21 messages 2001/09/18

[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>

I fell in love with Lisp in the early 80's. Back then, I read a book called

36 messages 2001/09/19
[#21420] Re: Ruby/objects book in style of The Little Lisper — Christopher Sawtell <csawtell@...> 2001/09/20

On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:

[#21479] Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:

[#21491] SV: Re: Ruby/objects book in style of The Little Lisper — "Mikkel Damsgaard" <mikkel_damsgaard@...> 2001/09/21

[#21494] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:

[#21510] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Todd Gillespie <toddg@...> 2001/09/22

On Sat, 22 Sep 2001, Kevin Smith wrote:

[#21514] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/22

--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:

[#21535] irb — Fabio <fabio.spelta@...>

Hello. :) I'm new here, and I have not found an archive of the previous

15 messages 2001/09/22

[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>

I'm having trouble reading from a named pipe in linux. basicly, I'm

12 messages 2001/09/24

[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>

Hello,

15 messages 2001/09/25

[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>

Hi,

22 messages 2001/09/28

[ruby-talk:21748] Allowing user code within a program

From: ptkwt@...1.aracnet.com (Phil Tomson)
Date: 2001-09-26 19:38:28 UTC
List: ruby-talk #21748
I've got a testing application where I use dRuby to distribute testcases 
to idle machines on a network.  Sometimes the testcases already exist, but 
in other cases, for added flexibility,  I want to allow for users to 
generate testcases programatically with Ruby code.

I have a class called Pool which in the constructor makes two lists: 1) a 
list of files in the Pool directory which have extensions for existing 
testcases (.rfl in this case) and 2) a list of files with the extenstion 
..rbgen which contain user code which is used to generate testcases.  Pool 
also has a 'each' iterator method which iterates through the testcases in 
each list.  In the first list, each testcase is yield'ed.  In the  
second list, each rbgen file is first load'ed - the rbgen file must 
contain a module function called: TCGen.generate - after the rbgen 
is load'ed, the TCGen.generate function is called.  Here's the code (I've 
not included the TestCase class for brevity):

#pool.rb Pool - 
# initialize makes two lists: 1) a list of files with extenstion .rfl
# 2) a list of files with extenstion .rbgen
# .rbgen files are ruby files which generate testcases.  This allows
# 'server-side' flows which can generate testcases 
class Pool 
   def initialize(name)
      @name = name #the name of the pool
      #find the list of .rfl files in the pool
      @rflList = Dir["#@name/*.rfl"]
      #look for rbgen files
      @rbgenList = Dir["#@name/*.rbgen"]
   end #initialize

   def each
      @rflList.each {|x| 
         name = File.basename(x,".rfl")
         location = File.dirname(x)
         yield TestCase.new(name,location) 
      }
      @rbgenList.each {|rbgen|
         name = File.basename(rbgen,".rbgen")
         puts "name is : #{name}"
         puts "load #{rbgen}"
         load "#{rbgen}"
         TCGen.generate {|tc| yield tc }
      }
   end #each
end

#how to use it:
if $0 =~ __FILE__
   pool = Pool.new("pool") #look in a subdir called 'pool'
   pool.each { |testcase| puts "#{testcase}"
      #send testcase to next available machine
   }
end
#end pool.rb


Here's an example of an .rbgen file:

#this is aa.rbgen which resides in the subdir 'pool'
require "ftools"
require "testcase"

module TCGen
   def TCGen.generate
     #a contrived example:
     list = Dir["*.*"] 
     list.each {|file|
        name = File.basename(file)
        location = File.dirname(file)
        File.copy(file,"/home/phil/ruby_stuff/testcases")
        yield TestCase.new(name,location) 
     }
   end
end #module TCGen

In this case the TCGen.generate function just copies files in the 
current directory to a specific 
location, but a more realistic TCGen.generate function would actually 
produce a set of files to be run as testcases - after each testcase is 
'generated' the testcase is yield'ed.

Anyway, if you're still with me...  I'm wondering if this method of 
'load'ing a file and then calling a function defined in that 
external file is the best way of doing this - any opinions, other ideas?

Phil

In This Thread

Prev Next