Google

def NotationDecl.pull source md = nil if source.match( PUBLIC ) md = source.match( PUBLIC, true ) elsif source.match( SYSTEM ) md = source.match( SYSTEM, true ) else raise ParseException.new( "error parsing notation: no matching pattern", src ) end md[0].squeeze " \t\n\r" end