¶ ↑
SynopsysClass-level configuration DSL
¶ ↑
Installationgem install config_accessor
¶ ↑
Examplesrequire 'config_accessor' class Remote configurable! config_accessor :host, :default => "localhost" config_accessor :port, :default => "80", :transform => :to_i config_accessor :proxy_host, :proxy_port end class Local < Remote config_accessor :l_port end Remote.host # => "localhost" Remote.port # => 80 Remote.proxy_host # => nil r = Remote.new r.port = "81" r.port # => 81 Remote.port # => 80 Remote.port = 82 # next expressions are equivalent r.port # => 81 r.config[:port] # => 81 r.config["port"] # => 81 r.config.port # => 81 # It supports inheritance, subclasses cannot change superclasses configurations Local.port # => 80 # You can do it with +configure+ method Local.configure do port 81 end # or Local.configure do |config| config.port 81 end