Storing a Ruby app's settings
There is nothing really wrong with this but using a simple hash may be easier:

module App
    @@settings = {
        :console =&gt; true,
        :file =&gt; []
    }
    def self.settings
        @@settings
    end
end


Your following code would then become:

p App.settings[:console]
App.settings[:file] &lt;&lt; "afile.rb"
p App.settings[:file]


There are several advantages to this approach:


Hashes are easy to serialise and store in files using yaml/json/etc.

require 'yaml'
p App.settings.to_yaml

You can reference App.settings in a local variable to avoid writing it out:

s = App.settings
#do stuff with s

Hash has many convenience methods for iterating over its values.

App.settings.each do |key, value|
    #do something
end

You can add to/update it succinctly using the merge! method. 

App.settings.merge! :console =&gt; false, :newsetting =&gt; 'value', :etc =&gt; '...'



To get functionality like this in your method would require you to write lots of methods yourself. It's better to just use the built in functionality that Ruby has instead of reinventing the wheel.