Alias_method_chain and Class methods (a Ruby question)


#1

Hello list,

I am trying to override the post_form method of Net::HTTP so that it
does something before actually doing the post. I tried the following
in environments/development.rb

module Net
class HTTP

 alias_method_chain :post_form, :intercept

 def post_form_with_intercept(url, params)
   # Do something before post
   logger.info('About to post at #{url}')
   post_form_without_intercept(url, params)
 end

end

Unfortunately this complains that there in no method called post_form:

… :NameError: undefined method post_form' for classRails::Initializer::Net::HTTP’

I also tried opening the Net module with:

module ::Net

but then I get:

… :NameError: undefined method post_form' for classNet::HTTP’

Any ideas how I can achieve what I want?

-christos