Hi list,
I want to create a subclass of GConf::Client, but using
GConf::Client.new is deprecated, GConf::Client.default should be used
instead.
If I call super in ‘initialize’ it of course calls the ‘new’
constructor of the superclass, how can I call ‘default’ instead?
#!/usr/bin/env ruby
require 'gconf2'
class Preferences < GConf::Client
def initialize
super
end
end
Preferences.new
Which results in: warning: GConf::Client.new is deprecated. Use
GConf::Client.default instead.
Regards
Chris
On Wed, Aug 13, 2008 at 7:02 AM, Christian K. [email protected] wrote:
Hi list,
I want to create a subclass of GConf::Client, but using
GConf::Client.new is deprecated, GConf::Client.default should be used
instead.
If I call super in ‘initialize’ it of course calls the ‘new’
constructor of the superclass, how can I call ‘default’ instead?
Why not follow the example of the superclass and use ‘default’ instead
of ‘new’ for your subclass as well?
-Michael
2008/8/13 Christian K. [email protected]:
I want to create a subclass of GConf::Client, but using
GConf::Client.new is deprecated, GConf::Client.default should be used
instead.
Christian, Class#new calls Object#initialize, not the other way round.
If you want the subclass’ #new method to call the superclass’ #default
method, you should do it like this:
class Preferences < GConf::Client
def self.new
default
end
end
Regards,
Pit