2009-07-15 5 views
0

Toute personne utilisant JRUBY sur Rails avec FeedTools? Je reçois l'erreur suivante lorsque je tente de lancer FeedTools:JRuby, Rails et FeedTool

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

J'ai suivi le code jusqu'à monkey_patch.rb. Il bombarde sur la ligne de l'analyseur, mais je suis nouveau à Ruby et Rails et ne pouvais pas déboguer par moi-même. Ce qui est bizarre, c'est que ça marche bien avec Rails et Ruby. J'ai besoin de JRuby parce que j'essaie de déployer sur un conteneur 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 

Répondre

1

Il est très probable que cela soit corrigé avec la nouvelle implémentation de YAML que nous allons livrer dans JRuby 1.4. Pouvez-vous essayer une compilation JRuby tous les soirs et nous dire si c'est toujours un problème?