लिखते समय कॉन्फ़िगरेशन सेटिंग्स सेट अप करना मैं एक मणि लिख रहा हूं जिसे मैं रेल पर्यावरण के साथ और बिना काम करना चाहता हूं।एक मणि
मैं मणि के विन्यास की अनुमति के लिए एक Configuration
वर्ग है:
module NameChecker
class Configuration
attr_accessor :api_key, :log_level
def initialize
self.api_key = nil
self.log_level = 'info'
end
end
class << self
attr_accessor :configuration
end
def self.configure
self.configuration ||= Configuration.new
yield(configuration) if block_given?
end
end
यह अभी की तरह इस्तेमाल किया जा सकता है:
NameChecker.configure do |config|
config.api_key = 'dfskljkf'
end
हालांकि, मैं उपयोग करने के लिए सक्षम होने के लिए नहीं है मेरे रत्न में अन्य कक्षाओं के साथ मेरी विन्यास चर। उदाहरण के लिए, जब मैं बहुत तरह मेरे spec_helper.rb
में मणि कॉन्फ़िगर करें:
# spec/spec_helper.rb
require "name_checker"
NameChecker.configure do |config|
config.api_key = 'dfskljkf'
end
और मेरे कोड से विन्यास संदर्भ:
`<class:NetChecker>': undefined method `api_key' for nil:NilClass (NoMethodError)
:
# lib/name_checker/net_checker.rb
module NameChecker
class NetChecker
p NameChecker.configuration.api_key
end
end
मैं एक अपरिभाषित विधि त्रुटि मिलती है मेरे कोड में क्या गलत है?
यहाँ जो दूसरों दिलचस्पी हो सकती है के लिए जवाहरात को विन्यस्त पर एक लेख है // रोबोट .thoughtbot.com/mygem-config-block – Rimian