Abdullah Jibaly wrote:> Hi all,
> 
> I want to be able to customize a variable based on the environment you
> are running in. Is this possible? What is the scope of a variable that
> you declare in environment.rb or
> environments/{production|development}.rb? I was hoping I can do
> something like:
> 
> 1- Declare a hash in environment.rb and specify most of the properties
> i''m interested in, eg:
> 
> integration_parameters = { :url => "xyz.com", :user =>
"john",
> :password => "secret" }
> 
> 2- Change whatever is needed, eg in environments/production.rb:
> 
> integration_parameters[:password] = "supersecret"
> 
> Any ideas on how to do this? Is there a more idiomatic way to do this in 
> rails?
> 
> Thanks,
> Abdullah
In any ruby code, throughout your entire app, you can simply do:
  case ENV[''RAILS_ENV'']
  when ''development''
    @foo = ''d''
  when ''production''
    @foo = ''p''
  when ''test''
    @foo = ''t''
  else
    raise "Uknown environment #{ENV[''RAILS_ENV'']}!"
  end
I personally use the rails_environments plugin: 
http://blog.codahale.com/2006/04/09/rails-environments-a-plugin-for-well-rails/
It provides some super easy helpers like
  if Rails.development?
    puts ''We''re in development mode!''
  end
  Rails.test?
  Rails.production?
Makes things a bit easier than the ugly ENV hash.
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---