FeedTools ведет себя по-разному с JRuby - PullRequest
0 голосов
/ 20 января 2011

В Ruby 1.8 FeedTools может получать и анализировать ссылки на каналы rss / atom по заданной ссылке. Например:

ruby-1.8.7-p174 > f = FeedTools::Feed.open("http://techcrunch.com/")
 => #<FeedTools::Feed:0xc99cf8 URL:http://feeds.feedburner.com/TechCrunch> 
ruby-1.8.7-p174 > f.title
 => "TechCrunch" 

Принимая во внимание, что в JRuby 1.5.2 FeedTools не может получить и проанализировать ссылки на каналы rss / atom по данной ссылке. Например:

jruby-1.5.2 > f = FeedTools::Feed.open("http://techcrunch.com/")                              
 => #<FeedTools::Feed:0x1206 URL:http://techcrunch.com/> 
jruby-1.5.2 > f.title                                           
 => nil 

Иногда также выдает следующую ошибку:

FeedTools :: FeedAccessError: [URL] делает не похоже на фид.

Есть идеи, как заставить FeedTools работать с JRuby?

1 Ответ

1 голос
/ 09 сентября 2011

Кажется, есть ошибка в самоцвете feedtools.В методе поиска ссылок канала с данным типом пантомимы замените 'lambda' на 'Proc.new', чтобы вернуться из метода изнутри proc, когда ссылка на канал найдена.

--- a/feedtools-0.2.29/lib/feed_tools/helpers/html_helper.rb
+++ b/feedtools-0.2.29/lib/feed_tools/helpers/html_helper.rb
@@ -620,7 +620,7 @@
         end
       end
       get_link_nodes.call(document.root)
-      process_link_nodes = lambda do |links|
+      process_link_nodes = Proc.new do |links|
         for link in links
           next unless link.kind_of?(REXML::Element)
           if link.attributes['type'].to_s.strip.downcase ==
...