2013-06-25 10 views
9

हमारे rails 3.2.12 ऐप में, rake tasklib/tasks के तहत बनाया गया है। rake task को एक विधि find_config() कॉल करने की आवश्यकता है जो किसी अन्य रेल मॉड्यूल authentify में रहता है (मॉड्यूल/lib/के अंतर्गत नहीं है)। क्या हम rake task में जा सकते हैं और रेक कार्य में कॉल करने के लिए विधि find_config() उपलब्ध कर सकते हैं?क्या रेक कार्य में मॉड्यूल शामिल करना और रेल ऐप में कार्य के लिए अपनी विधियां उपलब्ध करना संभव है?

include Authentify 
config = Authentify::find_config() 

टिप्पणी के लिए धन्यवाद:

यहाँ हम rake task में करना चाहते हैं क्या है।

+2

मॉड्यूल को शामिल करने और उस कक्षा का उपयोग करके विधि को कॉल करने के लिए आप कक्षा क्यों नहीं बनाते? – usha

+0

रेक टेस्ट से जिस विधि को कॉल करने की आवश्यकता है उसे मॉड्यूल में बुलाया जाना चाहिए। विधि मॉड्यूल में है और अन्य कोड द्वारा भी इसका उपयोग किया जाता है। – user938363

+1

क्या आप वास्तव में इसे जांचने के लिए एक रेक कार्य में 'प्रमाणीकरण शामिल करें' करने का प्रयास करते थे? आप पूछ रहे हैं कि यह किया जा सकता है या नहीं। कर के देखो। सिद्धांत रूप में, किसी भी प्रकार के रेल आवेदन रूबी दृष्टिकोण से कर सकते हैं, रेक कार्य के पास भी पहुंच होनी चाहिए ... मुझे लगता है। – lurker

उत्तर

16
require 'modules/module_name' 

include ModuleName 

namespace :rake_name do 

desc "description of rake task" 

    task example_task: :environment do 

    result = ModuleName::method_name() 


    end #end task 


end 

यह मेरे लिए काम करता है। चूंकि आपका मॉड्यूल/lib में नहीं है, इसलिए आपको यह संपादित करना पड़ सकता है कि इसकी आवश्यकता कैसे है। लेकिन यह काम करना चाहिए। आशा करता हूँ की ये काम करेगा।

+0

छोटी टिप। 'आवश्यकता' की कार्यशील निर्देशिका 'lib' है, इसलिए आपको इसे अपने पथ में शामिल नहीं करना चाहिए। उदाहरण के लिए, यदि आप 'lib/functions/import/lookup.rb' में मॉड्यूल आयात कर रहे हैं तो आप' आवश्यकता 'कार्य/आयात/लुकअप' का उपयोग करेंगे। –

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