class Nokogiri::XML::SAX::Parser
def setup_lambdas
def setup_lambdas @closures = {} # we need to keep references to the closures to avoid GC [ :startDocument, :endDocument, :startElement, :endElement, :characters, :comment, :warning, :error, :cdataBlock, :startElementNs, :endElementNs ].each do |sym| @closures[sym] = lambda { |*args| send("__internal__#{sym}", *args) } # "i'm your private dancer", etc. end @closures.each { |k,v| cstruct[k] = v } cstruct[:initialized] = Nokogiri::LibXML::XmlSaxHandler::XML_SAX2_MAGIC end