Ruby - Twitter Gem 不具合!

Updated:


Ruby で Twitter API を使用するのに “Twitter” という RubyGems ライブラリを使用していましたが、アップデートしたら使用できなくなりました。

ライブラリの README にも記載がありますが、以下にその原因と対策について記録しておきます。

0. 前提条件

  • Ruby 2.0.0-p353 での作業を想定。
  • RubyGems ライブラリ Twitter のバージョン 4.6.2 では正常に動作する。
  • RubyGems ライブラリ Twitter のバージョン 5.0.0 以上(?)ではエラーが発生する。

1. 現象

Ruby で Twitter Gem(5.0.0) を require してツイートしようとする以下のようなエラーが出力される。

undefined method `configure' for Twitter:Module

2. 原因

新しいバージョンの Gem では、configure の使用方法が異なるためのようだ。

3. 対策

今まで、configure してインスタンス化する部分は以下のようにしていたが、

Twitter.configure do |config|
  config.consumer_key       = CONSUMER_KEY
  config.consumer_secret    = CONSUMER_SECRET
  config.oauth_token        = ACCESS_TOKEN_KEY
  config.oauth_token_secret = ACCESS_SECRET
end

client = Twitter::Client.new

新しいバージョンでは、以下のようにするらしい

client = Twitter::REST::Client.new do |config|
  config.consumer_key       = CONSUMER_KEY
  config.consumer_secret    = CONSUMER_SECRET
  config.oauth_token        = ACCESS_TOKEN_KEY
  config.oauth_token_secret = ACCESS_SECRET
end

ライブラリの README に記載されていました。

同じ RubyGems ライブラリでも、メジャーバージョンアップ時には仕様が変わることがあるので要注意ですね。

以上。





 

Sponsored Link

 

Comments