On Thu, Oct 21, 2010 at 9:23 AM, Rahul Kumar <sentinel1879 / gmail.com> wrote: > Here is a dummy class with a method "meth". > > class My > > str contains some value generated by My > ¨Âåæ íåôè óô> ¨Âîä > > ¨Âåæ ãáììßíåô> meth "abc" > ¨Âîä > end > > > # ------ my application starts here > > arr = [] > > m = My.new > def m.meth(str) > # access some other object in application scope > arr << str > do_something str # call some method in my app > end > > I have the method "meth" above which is of interest to user apps. > The app overrides the method and would like to access methods or > variables > in my application scope. > > Is there anyway this is possible (other than using global variables) ? > To me it appears that meth() can only access what is in that objects > scope plus globals. thx. If I understand correctly, you want the meth method defined for object a to be able to access methods and instance variables defined in the My class. Nothing special needs to be done: irb(main):001:0> class My irb(main):002:1> def initialize irb(main):003:2> @value = 3 irb(main):004:2> end irb(main):005:1> def do_something irb(main):006:2> puts "my value is #{@value}" irb(main):007:2> end irb(main):008:1> def call_meth irb(main):009:2> meth "abc" irb(main):010:2> end irb(main):011:1> def meth str irb(main):012:2> str * 2 irb(main):013:2> end irb(main):014:1> end => nil irb(main):015:0> My.new.call_meth => "abcabc" irb(main):016:0> a = My.new irb(main):025:0> def a.meth str irb(main):026:1> do_something irb(main):027:1> str + @value.to_s irb(main):028:1> end => nil irb(main):029:0> a.call_meth my value is 3 => "abc3" Maybe I misunderstood the question. Jesus.