ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 15:03 
Offline
Nuby

Registriert: 18 Dez 2015, 14:34
Beiträge: 3
Ich arbeite mir mehreren Programmiersprachen aber nicht mit Ruby, habe aber nur eine kleine Änderung. Eventuell kann mir jemand helfen.

Ich bräuchte hier (innerhalb der Klasse Mailer) die URL (ohne Pfad)

http://www.redmine.org/builds/coverage/app__models__mailer.rb.html

Grüße Knut


Zuletzt geändert von NobbZ am 22 Dez 2015, 15:22, insgesamt 1-mal geändert.
URL-Tag eingefügt


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 15:24 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
1. Die URL wovon?
2. Was genau meinst du mit "URL ohne Pfad"?
3. Soweit ich das eben gesehen habe stehen die URL-Helper zur Verfügung, also kannst du URLs zu beliebigen Zielen innerhalb der App generieren wie überall anders auch.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 15:51 
Offline
Nuby

Registriert: 18 Dez 2015, 14:34
Beiträge: 3
Die URL mit der die Seite aufgerufen wurde
also
    domain1.com/irgendwas
    domain2.com/irgendwas
    domain3.com/irgendwas
    usw...

URL-Helper schaue ich mir mal an
Ohne Pfad: als nur domain1.com aber das ist Zweitrangig. Das bekomme ich alleine hin

Etwas genauer erklärt, möchte ich Setting.host_name mit domain?.com ersetzten, wenn Setting.host_name einen bestimmten code enthält z.B [URL]
Was aber auch nicht die Frage ist, das kann ich alles selber.
Ich finde derzeit nicht heraus mit welcher Domain Redmine aufgerufen wurde.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 16:45 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
Wenn ich dich richtig verstehe, dann möchtest du eine URL parsen. Dafür hat Ruby die uri-Bibliothek in der stdlib:



1
2
3
4
5
6
7
8
irb(main):001:0> require "uri"
=> true
irb(main):002:0> u = URI.parse("http://domain1.com/irgendwas")
=> #<URI::HTTP http://domain1.com/irgendwas>
irb(main):003:0> u.host
=> "domain1.com"
irb(main):004:0> u.path
=> "/irgendwas"


Hilft das?

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 16:55 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Quintus hat geschrieben:
Wenn ich dich richtig verstehe, dann möchtest du eine URL parsen. Dafür hat Ruby die uri-Bibliothek in der stdlib:


So wie ich ihn verstehe, möchte er genau das nicht. Bzw nur in zweiter Instanz.

Hier scheint eher folgendes der Fall zu sein:

Die Redmine-Instanz ist über mehrere Domains zu erreichen und im Mailer möchte der OP wissen über welche Domain jetzt das Event kam welches den Versand der Email notwendig macht.

Dieses ist wenn ich mich recht an das Zusammenspiel zwischen Mailer und Rails erinnere aber nicht möglich, denn der Mailer tut seinen Job in der Regeln asynchron zum Request und die Daten des Requests stehen diesem daher konzeptionell grundsätzlich nicht zur Verfügung.

Du wirst also innerhalb des Requests bereits diese Daten extrahieren müssen und dem Mailer irgendwie mitgeben.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: URL in Klasse auslesen
BeitragVerfasst: 22 Dez 2015, 17:45 
Offline
Nuby

Registriert: 18 Dez 2015, 14:34
Beiträge: 3
Zitat:
So wie ich ihn verstehe, möchte er genau das nicht. Bzw nur in zweiter Instanz.

Genau

Zitat:
Du wirst also innerhalb des Requests bereits diese Daten extrahieren müssen und dem Mailer irgendwie mitgeben.


Das war mein erster Ansatz und genau da blicke derzeit bei Ruby noch nicht durch...

http://www.redmine.org/builds/coverage/app__controllers__settings_controller.rb.html
Bei Zeile 47 wird @guessed_host_and_path = request.host_with_port.dup gesetzt. Das ist eigentlich alles was ich brauche

Das wird in den Settings als Vorschlag benutzt was man in die host_name eingeben könnte und entspricht genau der URL
Das finde ich in der http://svn.redmine.org/redmine/trunk/app/views/settings/_general.html.erb
Darüber ist host_name da steht das drin was man als Text für die URL eingibt, die dann der Mailer ausgibt. Nützt aber an dieser Stelle nichts denn der Wert wird in die Datenbank eingetragen. - Tabelle settings -> host_name

Und hier hört es auf mit dem Verständnis der Logik für Ruby auf ... wenn ich das richtig gelesen habe ist das bei Ruby anders
Wie dieser Datenbankwert dann an den Mailer weitergegeben wird finde ich nicht.

Die beste Stelle wäre wohl, wenn die Datenbank ausgelesen wird und die Setting.host_name gesetzt wird.

An der Stelle könnte ich dann wenn der Text bei den Settings z.B [URL] ist, die richtige URL weitergeben, da müsste die URL ja vorhanden sein.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
cron