/ / JRuby, Rails a FeedTool - rubíny na koľajniciach, kruhy, podávače

JRuby, Rails a FeedTool - rubíny na koľajniciach, kruhy, náradie

Každý, kto používa JRUBY na Rails s FeedTools? Pri pokuse o spustenie aplikácie FeedTools sa zobrazuje nasledujúca chyba:

NameError (undefined local variable or method `parser" for YAML:Module):.

Ja som sledoval kód dole monkey_patch.rb, Je to bombardovanie na analyzátorovej linke, ale ja som nována Ruby a Rails a nemohol to ladiť sám. Čo je divné, že to funguje dobre s obyčajnými starými Rails a Ruby. Potrebujem JRuby, pretože sa snažím nasadiť na kontajner Java.

require "rexml/document"
require "yaml"

module YAML
def YAML.dump( obj, io = nil )
if obj.kind_of?(FeedTools::Feed) || obj.kind_of?(FeedTools::FeedItem)
# Dangit, you WILL NOT serialize these things.
obj.instance_variable_set("@xml_document", nil)
obj.instance_variable_set("@root_node", nil)
obj.instance_variable_set("@channel_node", nil)
end
obj.to_yaml( io || io2 = StringIO.new )
io || ( io2.rewind; io2.read )
end

def YAML.load( io )
yp = parser.load( io ) # <- Error here
if yp.kind_of?(FeedTools::Feed) || yp.kind_of?(FeedTools::FeedItem)
# No really, I"m serious, you WILL NOT deserialize these things.
yp.instance_variable_set("@xml_document", nil)
yp.instance_variable_set("@root_node", nil)
yp.instance_variable_set("@channel_node", nil)
end
yp
end
end

odpovede:

1 pre odpoveď č. 1

Je veľmi pravdepodobné, že to bude fixované s novou implementáciou YAML, ktorú budeme dodávať v JRuby 1.4. Môžete skúsiť JRuby nočné budovanie a dajte nám vedieť, či je to stále problém?