Ruby RSS - частный метод отправки вызова для RSS: REXMLListener - PullRequest
1 голос
/ 22 мая 2011

Я пытаюсь интегрировать синтаксический анализатор RSS в моего IRC-бота, и я нашел несколько простых кодов для этого в Интернете, однако, если я добавлю этот код в бот, я получу следующее:

Error: private method `send' called for #<RSS::REXMLListener:0x3d7c790>

Я не уверен, почему он дает мне эту ошибку, так как он отлично работает в IRB или в своем собственном скрипте. Это код и строка, которая вызывает ошибку.

def fetch_rss_items(url, max_items = nil)
    %w{open-uri rss/0.9 rss/1.0 rss/2.0 rss/parser}.each do |lib|
        require(lib)
    end

    rss = RSS::Parser.parse(open(url).read) #This line is causing the error
    rss.items[0...(max_items ? max_items : rss.items.length)]
end

1 Ответ

0 голосов
/ 12 августа 2011

Я почти уверен, что у меня возникла та же проблема:

приватный метод send' called for #<Nokogiri::CSS::XPathVisitor:0x31b6108>; c:/ruby192/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.3.1-x86-mingw32/lib/nokogiri/css/node.rb:17:in accept '

Проблема в том, что где-то вы объявилиfunction send, и: Пространство имен ruby ​​по умолчанию является классом Object, а методы, которые вы определяете в пространстве имен по умолчанию, считаются закрытыми методами Object

http://railsforum.com/viewtopic.php?id=31016

PS: кто-нибудь знает, как избежать таких багов?

...