如何从函数初始化常量?

时间:2015-04-29 19:07:14

标签: ruby

我正在编写一个使用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。有什么想法吗?

0 个答案:

没有答案