使用 TweetStream 运行以下示例时我收到错误提示。
tweets.rb
require 'tweetstream'
TweetStream.configure do |config|
config.consumer_key = '<CONSUMER KEY>'
config.consumer_secret = '<CONSUMER SECRET>'
config.oauth_token = '<OAUTH TOKEN>'
config.oauth_token_secret = '<OAUTH TOKEN SECRET'
config.auth_method = :oauth
end
TweetStream::Client.new.track('ruby') do |status|
puts "#{status.text}"
end
错误
$ ruby tweets.rb
/home/amit/.rvm/gems/ruby-1.9.3-p194/gems/tweetstream-2.3.0/lib/tweetstream/client.rb:96:in `track': undefined method `extract_options!' for ["ruby"]:Array (NoMethodError)
from tweets.rb:11:in `<main>'
https://github.com/intridea/tweetstream
我错过了什么吗?
最佳答案
这是另一个解决方案:打开 Array
类并在其上定义 extract_options!
方法。
添加以下代码:
class Array
def extract_options!
last.is_a?(::Hash) ? pop : {}
end unless defined? Array.new.extract_options!
end
到 tweets.rb
文件的开头或到一个单独的文件(这将
需要在 tweets.rb
文件中被要求)。
关于ruby-on-rails - ruby - 未定义的方法 `extract_options!' : Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13874423/