Ошибка с API Ruby Twitter

Я получаю сообщение об ошибке с Ruby script, используя драгоценный камень 'twitter'. Часть моего script, которая производит ошибку,

require 'twitter'
require 'net/http'
require 'json'

#### Get your twitter keys & secrets:
#### https://dev.twitter.com/docs/auth/tokens-devtwittercom
Twitter.configure do |config|
  config.consumer_key = 'xxxxxxx'
  config.consumer_secret = 'xxxxxxx'
  config.oauth_token = 'xxxxxx'
  config.oauth_token_secret = 'xxxxxxx'
end

Ошибка говорит undefined method 'configure' for Twitter:Module (NoMethodError) Однако драгоценности "twitter" и "json" находятся в моем gemfile, поэтому я не уверен, почему этот метод будет undefined.

Ответ 1

Вы делаете это "старым" способом. Начиная с версии 5, глобальная конфигурация недоступна. Таким образом, в основном вам нужно передать параметры конфигурации при инициализации клиента.

Например:

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY"
  config.consumer_secret     = "YOUR_CONSUMER_SECRET"
  config.access_token        = "YOUR_ACCESS_TOKEN"
  config.access_token_secret = "YOUR_ACCESS_SECRET"
end

А затем просто используйте этот клиент для выполнения запросов, например:

client.sample do |tweet|
  puts tweet.text
end

Для получения дополнительной информации просто обратитесь к Sferik Twitter Gem