2016-06-24 4 views
1

사용자가 서비스 공급자 이름을 지정하고 자동으로 관련 구성을 가져 오는 레일스의 루비에 기능 (보석과 비슷한 기능)을 추가하고 싶습니다 모델 파일에 삽입하고 필요한 이주를 작성하십시오.다른 서비스 공급자에 대한 API 액세스를 위해 구현할 디자인 패턴

내 질문은 어떻게 이것을 얻을 수 있습니다. 사용자가 공급자 이름 (예 : Exotel, Sinch, Twilio 등)을 지정할 때마다 설정 파일과 API 설정에 해당 구성을 주입하여 전자 메일과 메시지를 보내도록 디자인 패턴을 사용해야합니다.

나는 이미이 Question을 확인했지만 내 문제를 해결하지는 못합니다.

예 : 레일 Exotel API를 구성이다 -

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

지금 내가 보석이 모든 물건에 기반하고 싶지 - MSG를 보낼 수 sinch 구성이지만

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

는 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. 

를 보내려면 예를 들어, 사용자가 보석보다 Exotel을 입력하면 exotel 설정이 적용되고 신 치가 sinch보다 큰 경우 구성이 설정됩니다.

답변