1

ユーザーがサービスプロバイダー名を指定すると、関連する構成を自動的に取得してモデルファイルに挿入し、必要な移行を作成する機能(宝石のようなもの)をRuby on Railsに追加したいと思います。

私の質問は、これをどのように達成できるかです。つまり、ユーザーがプロバイダー名 (Exotel、Sinch、Twilio など) を指定するたびに、対応する構成を構成ファイルに挿入し、API 設定を挿入して電子メールやメッセージを送信するように、どの設計パターンを使用する必要があるかということです。

私はすでにこの質問をチェックしましたが、私の問題は解決していないようです。

たとえば、レールのExotel API構成は-

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

メッセージを送信するには

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.

メッセージを送信するためのsinch構成は-

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

ここで、サービスプロバイダー名のユーザー入力に基づいてgemにこれらすべてを実行させたいと思います。つまり、ユーザーがgemよりもExotelを入力すると、exotel設定が設定され、sinchよりもsinchの構成が設定されます。

4

1 に答える 1

1

Adapter パターンが必要なようです。https://en.wikipedia.org/wiki/Adapter_patternまたはおそらく API ゲートウェイhttp://microservices.io/patterns/apigateway.html

于 2016-06-28T16:53:53.360 に答える