Getting the names of classes defined in a ruby script

I want to get the names of the classes defined in a Ruby script. Is
there any possible way of doing this ?

thanks!

regs,
buddhika

···

--
Posted via http://www.ruby-forum.com/.

Thilina Buddhika wrote:

I want to get the names of the classes defined in a Ruby script. Is
there any possible way of doing this ?

thanks!

regs,
buddhika

Probably not the best way of doing it but...

file = File.readlines("rubyscript.rb")
res =
file.each do |x|
res << x
end

# then using regular expressions you could filter out the upper case
words
# to be more accurate you could develop a gsub or iteration that
includes the
# word 'class'

i forget the reg. exp. for it but i believe its along the lines of
/[A-Z]/
or close to that

- Mac

···

--
Posted via http://www.ruby-forum.com/\.

the basis is:

cfp:~ > cat a.rb
class A;end
class B;end
class C < B; end

p Class.es

BEGIN {
   class Class
     ES =
     def es() ES end
     def inherited(other) es << other end
   end
}

cfp:~ > ruby a.rb
[A, B, C]

a @ http://codeforpeople.com/

···

On Nov 7, 2007, at 9:52 PM, Thilina Buddhika wrote:

I want to get the names of the classes defined in a Ruby script. Is
there any possible way of doing this ?

thanks!

regs,
buddhika
--
Posted via http://www.ruby-forum.com/\.

--
it is not enough to be compassionate. you must act.
h.h. the 14th dalai lama

Thilina Buddhika wrote:

I want to get the names of the classes defined in a Ruby script. Is
there any possible way of doing this ?

Try this:

class Class
  Seen_classes =

  def inherited(class_obj)
    Seen_classes << class_obj.name
  end

  def Seen_classes
    Seen_classes
  end
end

class Dog
end

class Monkey
end

module Food
end

PI = 3.14

def meth1
end

p Class.Seen_classes

--output:--
["Dog", "Monkey"]

···

--
Posted via http://www.ruby-forum.com/\.

Hi friends,
It works fine,...thanks a lot !!!!!

regs,
buddhika

···

--
Posted via http://www.ruby-forum.com/.