2016-06-24 11 views
1

Ich möchte in Ruby on Rails eine Funktionalität (mehr wie ein Juwel) hinzufügen, in der ein Benutzer den Namen des Dienstanbieters angibt und dann die zugehörige Konfiguration automatisch abruft und injizieren Sie es in die Modelldatei und erstellt die erforderliche Migration.Welches Entwurfsmuster für den Zugriff auf API für verschiedene Dienstanbieter implementiert werden soll

Meine Frage ist, wie ich das erreichen kann. Ich meine, welches Entwurfsmuster ich verwenden sollte, so dass jedes Mal, wenn ein Benutzer seinen Providernamen (z. B. Exotel, Sinch, Twilio usw.) angibt, die entsprechende Konfiguration den Konfigurationsdateien und ihren API-Einstellungen zum Senden von E-Mails und Nachrichten hinzugefügt wird.

Ich habe dies bereits überprüft Question, aber es scheint nicht mein Problem zu lösen.

Für z.B. Exotel api Konfiguration für Schienen -

Exotel.configure do |c| 
    c.exotel_sid = "Your exotel sid" 
    c.exotel_token = "Your exotel token" 
end 

Um msg

response = Exotel::Sms.send(:from => 'FROM_NUMBER', :to => 'TO_NUMBER', :body => 'MESSAGE BODY') 
sms_id = response.sid #sid is used to find the delivery status and other details of the message in future. 

Während sinch Konfiguration msg senden ist -

SinchSms.send('YOUR_APP_KEY', 'YOUR_APP_SECRET', "Your code is #{code}", phone_number) 
render status: 200, nothing: true 

Jetzt i gem all dieses Zeug basierend tun wollen auf Benutzereingabe für den Namen des Dienstleisters, dh wenn der Benutzer Exotel als Edelstein eingibt, werden die Exotel-Einstellungen vorgenommen und wenn es Sinch ist, wird die Konfiguration von sinch eingestellt.

Antwort

Verwandte Themen