Wie verarbeiten wir eine URL in Ruby die Bestandteile zu extrahieren (Schema, Benutzername, Passwort, Host, etc.)?
Frage
Ich versuche, ein Programm erstellen mit Ruby (und Net :: SSH) zu Servern verbinden und einige Aufgaben ausführen. Die Einzelheiten des Servers sind wie vorgesehen, wie etwas sein:
ssh://user:pass@host:port (for a host that does not yet have SSH keys)
oder
user@host
Net :: SSH erwartet das folgende Format:
Net::SSH.start('host', 'user', :password => "password")
Gibt es ist gem / stdlib, der die URL in dieses Format verarbeiten kann? Oder eine einfache regex das kann die verschiedenen Teile?
. Hinweis: Ich bin mir dessen bewusst, und zu verwenden, Capistrano, aber in diesem Fall muss ich Niveausteuerung senken
Lösung
URI und
Andere Tipps
Es gibt eine URI Klasse, die helfen soll. Sie könnten jedoch zuerst das ssh
Schema mit http
von Hand ersetzen müssen, ich glaube nicht, URI
das ssh
Schema aus dem Kasten heraus versteht.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow