Hook, or override const_set, and const_get

I have seen some examples of hooking into const_missing; Howerver, I can't seem to find anything on const_set, and const_get, any ideas?

I tried opening class Module, ex.

class Module
   def const_set(cname, cval)
     ....
   end
end

Does not work. I realize this is very dangerous. Is there any other way to intercept when, ex

FOO="bar"

happens?

Thanks

a) Edit variable.c

b) Run your code through a ruby2ruby subclass that wraps up your const assignments with extra code.

···

On Oct 2, 2007, at 14:43 , John Pywtorak wrote:

I have seen some examples of hooking into const_missing; Howerver, I can't seem to find anything on const_set, and const_get, any ideas?

I tried opening class Module, ex.

class Module
  def const_set(cname, cval)
    ....
  end
end

Does not work. I realize this is very dangerous. Is there any other way to intercept when, ex

FOO="bar"

happens?

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars

Eric Hodel wrote:

···

On Oct 2, 2007, at 14:43 , John Pywtorak wrote:

I have seen some examples of hooking into const_missing; Howerver, I can't seem to find anything on const_set, and const_get, any ideas?

I tried opening class Module, ex.

class Module
  def const_set(cname, cval)
    ....
  end
end

Does not work. I realize this is very dangerous. Is there any other way to intercept when, ex

FOO="bar"

happens?

a) Edit variable.c

b) Run your code through a ruby2ruby subclass that wraps up your const assignments with extra code.

Thanks Eric. Option a makes me think I am taking the wrong approach. Option b looks more attractive. Well at least I know I was not missing something easier.

Both options are pure evil and guaranteed to cause you pain.

What is your ultimate goal?

···

On Oct 2, 2007, at 18:05 , John Pywtorak wrote:

Eric Hodel wrote:

On Oct 2, 2007, at 14:43 , John Pywtorak wrote:

I have seen some examples of hooking into const_missing; Howerver, I can't seem to find anything on const_set, and const_get, any ideas?

I tried opening class Module, ex.

class Module
  def const_set(cname, cval)
    ....
  end
end

Does not work. I realize this is very dangerous. Is there any other way to intercept when, ex

FOO="bar"

happens?

a) Edit variable.c
b) Run your code through a ruby2ruby subclass that wraps up your const assignments with extra code.

Thanks Eric. Option a makes me think I am taking the wrong approach. Option b looks more attractive. Well at least I know I was not missing something easier.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars