ruby - Rails, Create a Task in multiple environment? -


i have few custom rake tasks. want create task execute on 2 environments when call it. mean, when run :

rake initialize_global_settings

i want executed on development and test environment.

actually i'm constrained doing :

rake initialize_global_settings (this executed in development environment default, don't know why) , : rake initialize_global_settings rails_env=test

is possible make task doing both ?

here's task :

task :initialize_global_settings => :environment   puts "generating global settings parameters..."   parameters = ["few", "parameters", "here"]    parameters.each |param|     glob_set = globalsetting.new(:field_name => param,                                   :field_value => "")     if glob_set.save       puts "#{param} created"     else       puts "#{param} exist"     end   end    puts "done." end 

i found solution doing :

task :initialize_global_settings => :environment    puts "generating global settings parameters..."    parameters = ["few", "parameters", "here"]    environments = ['development', 'test']     environments.each |environment|      rails.env = environment      puts "\nrunning task in "+environment+" environment \n\n"      parameters.each |param|        glob_set = globalsetting.new(:field_name => param,                                      :field_value => "")        if glob_set.save          puts "#{param} created"        else          puts "#{param} exist"        end      end      puts "\nparameters have been set"     end  end 

it works i've got conflict between same variables set in test , development environment , don't know why.


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -