複数の ID で Omniauth を使用してログインしています (Facbook、LinkedIn など)。現在、Service と呼ばれる単一のモデルがあり、( providerwith valuesなど)、およびその他のフィールドがいくつかあります。facebooklinkedinoauth_token
ここで、特定のプロバイダーにのみ適用される Service モデルに多くのメソッドを追加しました。たとえば、friend_countプロバイダが の場合にのみ適用されますfacebook。
私のコードは臭いがし始め、リファクタリングが必要だと思います。プロバイダー固有の列を多く追加することはないと思うので、ポリモーフィズムは必要ありません。
私の質問は、どの設計パターンを採用する必要があるかです。単一テーブルの継承、またはより単純なものですか?