我正在编写一个使用Sequel ORM的模块。我希望能够设置DB
常量,以便它可以在全局命名空间中使用,但我无法找到一种非黑客的方法。这就是我到目前为止所拥有的:
require 'sequel'
module BB
class Dal
def initialize(db_url)
self.class.connect(db_url)
end
def self.connect(db_url)
@db = Sequel.connect( db_url )
end
end
BB::Dal.connect(ENV['DATABASE_URL']) if ENV['DATABASE_URL']
end
如您所见,我想启用两种初始化模式。通过ENV['DATABASE_URL']
变量或通过构造函数。我现在要做的是将@db
替换为DB
。有什么想法吗?