我有一个简单的课程:
class Repository
class << self
def find(id)
...
end
end
end
在我们的整个应用程序中都是这样调用的:
thing = Repository.find("abc")
我们处于 Sinatra/机架环境中。在请求阶段,我们执行以下操作:
env['org'] = 'acme'
我想做的是能够'acme'
从类内部访问Repository
,而不必显式传递它。到处都有对这个类的调用,以至于传递值会很痛苦每次通过 find 方法,例如find(id,org = nil)
。我想也许有一种方法可以将 rack gem 包含在 Repository 中,并以这种方式进行操作,但到目前为止还没有运气。全局变量已失效 - 必须限定在请求范围内。
有可能做这样的事情吗?