diaspora/app/services/like_service.rb
Dennis Schubert 2e2b42ef1a
Mark non-attribute usage in SQL queries as safe.
Non-attribute arguments will be disallowed in Rails 6.0.
2020-02-11 23:54:55 +01:00

35 lines
604 B
Ruby

# frozen_string_literal: true
class LikeService
def initialize(user=nil)
@user = user
end
def create(post_id)
post = post_service.find!(post_id)
user.like!(post)
end
def destroy(like_id)
like = Like.find(like_id)
if user.owns?(like)
user.retract(like)
true
else
false
end
end
def find_for_post(post_id)
likes = post_service.find!(post_id).likes
user ? likes.order(Arel.sql("author_id = #{user.person.id} DESC")) : likes
end
private
attr_reader :user
def post_service
@post_service ||= PostService.new(user)
end
end