0

我有一个这样分配的变量:

cryptsy = Cryptsy::API::Client.new(key, secret)

我怎样才能使这个变量在整个应用程序中都可以访问?

目前它在应用程序控制器中,但我正在使用 GRAPE gem 来创建一个简单的 api。我需要能够访问 /app/api/v1/bla.rb 中的变量和 v1 文件夹中的其他文件。

4

3 回答 3

1

您可以创建一个初始化程序以在应用程序加载时进行实例化。在 config/application.rb 做类似的事情

require 'cryptsy/api'

module YourApp 
  Cryptsy = Cryptsy::API::Client.new(key, secret)
  ...
end

这将为您提供该对象的普遍可访问的实例。

于 2014-03-27T02:12:03.870 回答
0

如何在 lib 中创建一个类并将其添加到那里。确保将 lib 添加到 config/application.rb 中的自动加载路径

class Cryptsy
  def self.client
    @cryptsy ||= Cryptsy::API::Client.new(key, secret)
  end
end

无论你想在哪里使用它,你都可以调用

Cryptsy.client
于 2014-03-27T02:10:04.293 回答
0

您可以将以下代码添加到文件中app_root/config/initializers/cryptsy.rb

require 'cryptsy-api' # this line might be needed
$cryptsy = Cryptsy::API::Client.new(key, secret)

然后您可以$cryptsy通过应用程序访问。

于 2014-03-27T02:21:50.673 回答