单表继承 - 具有多个提供程序的Omniauth?

时间:2013-03-08 15:54:41

标签: ruby-on-rails-3 polymorphic-associations single-table-inheritance

我正在使用具有多个身份的Omniauth登录(即Facbook,LinkedIn等)。现在,我有一个名为Service的模型,provider(值为facebooklinkedin等),oauth_token和其他一些字段。

现在,我向服务模型添加了许多方法,这些方法仅应用于特定的提供程序。例如,friend_count,仅在提供商为facebook时才适用。

我认为我的代码开始闻起来并需要重构。我不认为我会添加很多特定于提供程序的列,因此不需要多态。

我的问题是:我应该采用哪种设计模式:单表继承,或更简单的东西?

0 个答案:

没有答案