From: Jano Svitok Date: 2007-08-02T07:11:01+09:00 Subject: Re: Net::HTTP, inheritance + proxy problem On 8/1/07, Rikard Lindby wrote: > Hi all, > > I am trying to create a child class from Net::HTTP and the following > seems to work: > class Connection < Net::HTTP > def initialize(addr, port) > super(addr, port) > end > end > I can now write: conn = Connection.new(addr, port) > instead of: conn = Net::HTTP.new(addr, port) > > But what I really would like is to be able to use the Proxy method of > Net::HTTP in initialize. > So that i could use: conn = Connection.new(addr, port, paddr, pport) > instead of: conn = Net::HTTP::Proxy(paddr, pprort).new(addr, port) > > But I have as of yet no idea how to incorporate the proxy in the > Connection class. > I have tried many, many different approaches but none works. > > Something like the following would be what I am after, but it does not > work (of course) > class Connection < Net::HTTP > def initialize(addr, port, paddr=nil, pport=nil) > Proxy(paddr, pport).super(addr, port) > end > > end What about either: class Connection < Net::Http def self.create(addr, port, paddr, pport) Proxy(paddr, pport).new(addr, port) end end or class Connection def self.create(..) Net::Http.Proxy(...).new(...) end end use: Connection.create(...) (not tested though)