App Setting, Where To Put: environment.rb, initializer.rb, lib..?

I have a path that my model (Audio) uses to r/w files. This path differs between production, test, and dev.

Audio includes a module that overrides some ActiveRecord methods. This module is contained in config/initializers.

I'd like to set the Audio directory based on my environment, but using the given environment files fail because the module included by Audio hasn't been loaded. Of course I could just require it, but this made me think that maybe the initilaizers directory isn't the right place to put my AR overrides, and the environment file isn't the right place to put my non-Rails related environment settings. Is this the case?

It seems as though I should set the directory in it's own initializer based on RAILS_ENV... but Rails is already doing this for me with the given environment files

I think the environment files are where you should set the different directories. I do think that the AR overrides should go into /lib..

If you want to change when something loads in the environments files use config.after_initialize do ... end

Here is an old but good article that talks about these issues and solutions http://toolmantim.com/articles/environments_and_the_rails_initialisation_process

Thanks!