tekhne
January 9, 2009, 3:58pm
1
I have a web site that accesses Solr (a Lucene based search engine
accessed via REST). I would like the configuration to be handled in
the same was as database.yml. I envision a file called solr.yml that
looks something like this in the config directory:
development:
url: http://dev.solr.example.com/search
test:
url: http://test.solr.example.com/search
production:
url: http://production.solr.example.com/search
If I was to write this file how would I access it?
Any pointers would be appreciated as it would aid testing and I have a
couple of other projects that could use this technique.
Thanks
tekhne
January 9, 2009, 5:35pm
2
you could code it yourself, i think there is a railscast that shows an
easy way to do it. or you could use one of the many plugins or gems
out there. i just recently used
tekhne
January 9, 2009, 5:44pm
3
You can do
solr_conf = open(‘path/to/solr.yml’, ‘r’) { |f| YAML.load(f) }
solr_conf now holds a hash with your parameteres. You can access it
simply by doing something like:
url = solr_conf[RAILS_ENV][:url]
tekhne
January 9, 2009, 5:51pm
4
Peter
On 9-Jan-09, at 11:44 AM, Harold wrote:
On Jan 9, 11:33 am, scott [email protected] wrote:
looks something like this in the config directory:
If I was to write this file how would I access it?
Any pointers would be appreciated as it would aid testing and I
have a
couple of other projects that could use this technique.
If you take this approach, you can also embed erb in your yaml, and
get a nice little object with your config at hand:
require ‘ostruct’
raw_config = File.read(“#{RAILS_ROOT}/config/config.yml”)
erb_config = ERB.new(raw_config).result
config = YAML.load(erb_config)[RAILS_ENV]
HomestarsConfig = OpenStruct.new(config)
so if you had a config setting of mail_server,
you could access it HomestarsConfig.mail_server
J
tekhne
January 9, 2009, 6:05pm
5
Scott Nj wrote:
you could code it yourself, i think there is a railscast that shows an
easy way to do it. or you could use one of the many plugins or gems
out there. i just recently used
GitHub - binarylogic/settingslogic: A simple and straightforward settings solution that uses an ERB enabled YAML file and a singleton design pattern.
Yes, I believe there is a railscast on showing just what you’re looking
for:
tekhne
January 9, 2009, 6:17pm
6
Thanks to everyone who replied. The railscast is just what I wanted.
Thanks to you all again.