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
任何想法?