1
task('google:rankings' => :environment) do
def find_item uri, query
search = Google::Search::Web.new do |search|
search.query = query
search.size = :large
search.each_response { print '.'; $stdout.flush }
end
search.find { |item| item.uri.downcase.include?(uri.downcase) }
end
def rank_for query, domain
print "%35s " % query
if item = find_item(domain, query)
puts " #%d" % (item.index + 1)
else
puts " Not found"
end
end
Campaign.all.each do |campaign|
campaign.keywords.each do |keyword|
rank_for keyword.set, Domain.find(campaign.domain_id).name if (keyword.set)
end
end
end
這個小技巧是在一個rake任務中。當耙任務運行在實時控制檯窗口的更新,像這樣:ruby語法是什麼意思?
關鍵字。
關鍵字...
關鍵字.....未發現
我不是發生了什麼事情與#%d
十分清楚?它如何使點的打印多次發生?
dangit只是幾乎沒有看到它自己。在這種情況下,%35是什麼? – Jake 2012-04-28 21:59:31
@Jake%表示取一個字符串,35表示將它對齊到35個字符。 – sepp2k 2012-04-28 22:01:33