如何为我的用户使用具有不同配置设置的 Gem

How to use a Gem with different config settings for my users

我正在尝试使用 Square Connect gem,但在设置商家范围时遇到问题。

文档是这么说的:(https://github.com/square/connect-ruby-sdk)

# Load the gem
require 'square_connect'

# Setup authorization
SquareConnect.configure do |config|
  # Configure OAuth2 access token for authorization: oauth2
  config.access_token = 'YOUR ACCESS TOKEN'
end

api_instance = SquareConnect::CatalogApi.new

问题是我需要一个 api_instance 每个用户,我有自己的访问令牌。最合适的解决方案是什么?每次使用某种锁重置访问令牌,或以某种方式设置多个 api_instance

谢谢!

理想情况下我会:

class User 
  def api_instance
    # the user scoped instance
  end
end

在简要查看 gem 的代码后,我认为您应该能够根据需要创建实例 ad hoc。例如:

config = SquareConnect::Configuration.new do |config|
  config.access_token = 'some token'
end
api_client = SquareConnect::ApiClient.new(config)
api_instance = SquareConnect::CatalogApi.new(api_client)