Commit 18327d93 by Rocky Duan

initialize feed & use to_hash everywhere

parent 6bdeede0
...@@ -194,7 +194,7 @@ end ...@@ -194,7 +194,7 @@ end
get '/api/v1/users/:user_id/feeds' do |user_id| get '/api/v1/users/:user_id/feeds' do |user_id|
user = User.find_or_create_by(external_id: user_id) user = User.find_or_create_by(external_id: user_id)
user.feeds.to_json user.feeds.map(&:to_hash).to_json
end end
# POST /api/v1/users/:user_id/follow # POST /api/v1/users/:user_id/follow
...@@ -265,6 +265,7 @@ if env.to_s == "development" ...@@ -265,6 +265,7 @@ if env.to_s == "development"
CommentThread.delete_all CommentThread.delete_all
Commentable.delete_all Commentable.delete_all
User.delete_all User.delete_all
Feed.delete_all
{}.to_json {}.to_json
end end
end end
...@@ -15,8 +15,8 @@ class Commentable ...@@ -15,8 +15,8 @@ class Commentable
index [[:commentable_type, Mongo::ASCENDING], [:commentable_id, Mongo::ASCENDING]] index [[:commentable_type, Mongo::ASCENDING], [:commentable_id, Mongo::ASCENDING]]
def to_hash def to_hash(params={})
as_document as_document.slice(*%w[_id commentable_type commentable_id])
end end
end end
...@@ -15,4 +15,8 @@ class Feed ...@@ -15,4 +15,8 @@ class Feed
validates_presence_of :target validates_presence_of :target
has_and_belongs_to_many :subscribers, class_name: "User", inverse_of: :subscribed_feeds has_and_belongs_to_many :subscribers, class_name: "User", inverse_of: :subscribed_feeds
def to_hash(params={})
as_document.slice(*%w[_id feed_type info actor target])
end
end end
...@@ -18,6 +18,10 @@ class User ...@@ -18,6 +18,10 @@ class User
index :external_id, unique: true index :external_id, unique: true
def to_hash(params={})
as_document.slice(*%w[_id external_id])
end
def follow(user) def follow(user)
if id != user.id and not following.include? user if id != user.id and not following.include? user
following << user following << user
......
...@@ -7,6 +7,7 @@ describe "app" do ...@@ -7,6 +7,7 @@ describe "app" do
CommentThread.delete_all CommentThread.delete_all
Commentable.delete_all Commentable.delete_all
User.delete_all User.delete_all
Feed.delete_all
commentable = Commentable.create!(commentable_type: "questions", commentable_id: "1") commentable = Commentable.create!(commentable_type: "questions", commentable_id: "1")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment