ruby-on-rails - ruby - 未定义的方法 `extract_options!' : Array

标签 ruby-on-rails ruby ruby-on-rails-4 tweetstream

使用 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/

相关文章:

ruby - RSpec allow/expect 与 just expect/and_return

ruby-on-rails - Rails 测试一个值是否适合列的类型

ruby-on-rails - 如何在 Rails 中验证 url

ruby-on-rails - 如何在 Controller 中使用方法 'truncate'?

ruby-on-rails - Paypal - 我在哪里可以找到沙盒帐户中的 "Encrypted Payment Settings"?

ruby-on-rails - 如何(大量)减少 Rails 应用程序中的 SQL 查询数量?

ruby - 你如何在 Jekyll 中按帖子计数对 site.tags 进行排序?

ruby-on-rails - Select2-rails 不适用于 ActiveAdmin

ruby-on-rails - 具有权威的 View 中的属性级别授权

ruby-on-rails - Rails 1.day.ago 将参数作为字符串?