0
我正在寫一個紅寶石寶石,它依賴於正在運行的應用程序中的配置信息。自定義紅寶石寶石不服從配置信息
我試圖按照在此基礎上this thoughtbot article 或this stack overflow question
一個模式,我可以看到我的外應用程序配置/初始化數據做負載,但問題是,我有一些代碼是依賴於在初始化器設置被gem拾取之前運行的初始化器。
如何保證初始化數據及時加載?
這裏是我的配置/初始化代碼:
MbSharedScoreboard.configure do |config|
config.foo = "bar"
end
和這裏的,其中爲了我在寶石中讀取數據:
require "mb_shared_scoreboard/configuration"
require "mb_shared_scoreboard/version"
require "mb_shared_scoreboard/models/service"
require "mb_shared_scoreboard/models/subject"
require "mb_shared_scoreboard/models/foo"
module MbSharedScoreboard
def self.root
File.expand_path('../..', __FILE__)
end
end
和這裏的configuration.rb - 加載的第一個文件:
module MbSharedScoreboard
class Configuration
attr_accessor :foo
def initialize
@foo = "foo"
end
end
class << self
attr_accessor :configuration
end
def self.configure
self.configuration ||= Configuration.new
yield configuration
puts "startup configuration: #{self.configuration.to_s}"
end
end
任何想法?