【发布时间】:2014-08-16 19:30:09
【问题描述】:
我查看了其他 SO 帖子和一些关于最好放置第三方集成代码的博客帖子,但自然有很多意见和答案,因此希望能在我的场景中获得更明确的答案。
以下是我的用户故事的简要说明:
当用户在他们的个人资料页面上时,他们可以要求刷新他们的 Twitter 和/或 Facebook 信息。
型号:
class User < ActiveRecord::Base
has_one :twitter_account
has_one :facebook_account
end
class TwitterAccount < ActiveRecord::Base
belongs_to :user
end
class FacebookAccount < ActiveRecord::Base
belongs_to :user
end
我在寻找什么: 当用户想要更新他们的 twitter 帐户信息时,我希望能够调用一些方法来返回给我获取的帐户信息。处理 JSON 响应的所有 Auth、Fetching、Posting 和 Parsing 的地方。我想将此逻辑保留在模型之外,因为它只会变得混乱,而且这些方法的行为确实有点超出了我的应用程序的规范 MVC。
我一直在使用的当前实现是在/lib 中为每个集成实体创建单独的类。所以/lib/twitter_api 和/lib/facebook_api。在这里,我保留了所有连接(GET、POST)以及从响应中提取我想要的数据。
也许这个方向是我要走的路,但我只是想在深入了解之前得到一些反馈。
使用 Ruby 2.1.1 和 Rails 4.1.1
【问题讨论】:
标签: ruby-on-rails ruby json ruby-on-rails-4