2012-01-18 13 views
8

अभी, मैं अपने रत्नों का प्रबंधन करने के लिए बंडलर का उपयोग कर रहा हूं। बंडलर विभिन्न वातावरण के लिए विभिन्न रत्न लोड करता है।केवल एक निश्चित वातावरण में रेक रेक लोड करें?

मेरे पास कुछ रेक कार्य हैं जो परीक्षण रत्न (आरएसपीईसी) का उपयोग करते हैं, लेकिन ये उत्पादन वातावरण में समस्याएं पैदा करते हैं जहां यह मणि लोड नहीं होता है।

तो मैं केवल इतना करना चाहता हूं कि केवल रेक कार्य (और इसके साथ जुड़े 'rspec/core/rake_task' लाइन की आवश्यकता है) परीक्षण वातावरण में लोड करें।

मैं इसे करने का सबसे अच्छा तरीका नहीं समझ सकता।

मैं वर्तमान में है:

require "bundler" 
require 'rspec/core/rake_task' 

desc "Task for running Rspec tests" 
RSpec::Rake::SpecTask.new(:spec) 
+0

क्या इससे मदद मिलती है? http://stackoverflow.com/questions/1090176/how-do-i-force-rails-env-in-a-rake-task – microspino

उत्तर

11

कैसे के बारे में:

require "bundler" 

unless Rails.env.production? 
    require 'rspec/core/rake_task' 

    desc "Task for running Rspec tests" 
    RSpec::Rake::SpecTask.new(:spec) 
end 

नहीं सुंदर समाधान है, लेकिन यह काम करेंगे।

+1

दरअसल, इसके लिए वहां की आवश्यकता होने पर विफलता का कारण बनता है। लेकिन मुझे लगता है कि इसे तब तक लपेटा जा सकता है जब तक कि। – GlyphGryph

0

एक संभावित समाधान, शायद सभी सेटअप के लिए आदर्श नहीं है, अपने गिटिनोरोर में रेक कार्य को जोड़ना है।

संबंधित मुद्दे