我正在学习使用ruby的mongodb,我按如下方式编写update.rb:
require 'rubygems'
require 'mongo'
require 'twitter'
require File.join(File.dirname(__FILE__), 'config')
class TweetArchiver
def initialize(tag)
connection = Mongo::Connection.new
db = connection[DATABASE_NAME]
@tweets = db[COLLECTION_NAME]
@tweets.create_index([['id', 1]], :unique => true)
@tweets.create_index([['tags', 1], ['id', -1]])
@tag = tag
@tweets_found = 0
end
def update
puts "Starting Twitter search for '#{@tag}'..."
save_tweets_for(@tag)
print "#{@tweets_found} tweets saved.\n\n"
end
private
def save_tweets_for(term)
Twitter.search(term).each do |tweet|
@tweets_found += 1
tweet_with_tag = tweet.to_hash.merge!({"tags" => [term]})
@tweets.save(tweet_with_tag)
end
end
end
我运行ruby update.rb,然后得到错误:
Twitter的未定义方法“搜索”:模块(NoMethodError)
答案 0 :(得分:1)
错误很明显。 Twitter
模块未定义search
方法。
Twitter.search(term).each do |tweet|
您应该检查库的文档,以确保以正确的方式使用它。