我看过其他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
Run Code Online (Sandbox Code Playgroud)
我正在寻找的: 当用户想要更新他们的Twitter帐户信息时,我希望能够调用一些方法来返回我获取的帐户信息.某处处理JSON响应的所有Auth,Fetching,Posting和Parsing.我希望将这个逻辑保留在模型之外,因为它会变得混乱,并且这些方法在我的应用程序的标准MVC之外真的有点行为.
我一直在使用的当前实现是/lib为每个Integration Entities 制作单独的类.所以/lib/twitter_api和/lib/facebook_api.在这里,我保留所有连接(GET,POST)并从响应中提取我想要的数据.
也许这个方向是我的方式,但我只是想在得到一些反馈之前得到一些反馈.
使用Ruby 2.1.1和Rails 4.1.1