Commit 18327d93 by Rocky Duan

initialize feed & use to_hash everywhere

parent 6bdeede0
......@@ -194,7 +194,7 @@ end
get '/api/v1/users/:user_id/feeds' do |user_id|
user = User.find_or_create_by(external_id: user_id)
user.feeds.to_json
user.feeds.map(&:to_hash).to_json
end
# POST /api/v1/users/:user_id/follow
......@@ -265,6 +265,7 @@ if env.to_s == "development"
CommentThread.delete_all
Commentable.delete_all
User.delete_all
Feed.delete_all
{}.to_json
end
end
......@@ -15,8 +15,8 @@ class Commentable
index [[:commentable_type, Mongo::ASCENDING], [:commentable_id, Mongo::ASCENDING]]
def to_hash
as_document
def to_hash(params={})
as_document.slice(*%w[_id commentable_type commentable_id])
end
end
......@@ -15,4 +15,8 @@ class Feed
validates_presence_of :target
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
......@@ -18,6 +18,10 @@ class User
index :external_id, unique: true
def to_hash(params={})
as_document.slice(*%w[_id external_id])
end
def follow(user)
if id != user.id and not following.include? user
following << user
......
......@@ -7,6 +7,7 @@ describe "app" do
CommentThread.delete_all
Commentable.delete_all
User.delete_all
Feed.delete_all
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