RAILS_ENV returns an empty value in custom rake tasks rails 3.0.0.rc onwards. Instead use
Lets say you want to determine if you are running the development environment then you could use the following method.
desc "Raise an error unless the RAILS_ENV is development" task :development_environment_only do raise "Hey, development only you monkey!" unless RAILS_ENV == 'development' end
Now to ensure your custom method is running in development environment, call the
development_environment_only method as a dependency of your rake custom task.
task :abc => [:environment, :development_environment_only] do end
If you wish to pass arguments to your rake task, then the code to call the dependencies would be:
task :abc, :argument, :needs => [:environment, :development_environment_only] do |t, args| end