class SocMed::Services::Likes::LikeBase

Private Instance Methods

like() click to toggle source
# File lib/soc_med/services/likes/like_base.rb, line 10
def like
  like = owner.likeable_objects.find_by(target: target)
  raise ActiveRecord::RecordNotFound unless like

  like
end
owner() click to toggle source
# File lib/soc_med/services/likes/like_base.rb, line 30
def owner
  _owner_type, owner_id = owner_info
  owner = owner_class.find_by(id: owner_id)
  raise ActiveRecord::RecordNotFound unless owner

  owner
end
owner_info() click to toggle source
# File lib/soc_med/services/likes/like_base.rb, line 38
def owner_info
  return params[:like][:owner_type], params[:like][:owner_id] unless params[:like].nil?
  return params[:owner_type], params[:owner_id]
end
target() click to toggle source
# File lib/soc_med/services/likes/like_base.rb, line 17
def target
  target_type, target_id = target_info
  target = target_type.classify.constantize.find_by(id: target_id)
  raise ActiveRecord::RecordNotFound unless target

  target
end
target_info() click to toggle source
# File lib/soc_med/services/likes/like_base.rb, line 25
def target_info
  return params[:like][:target_type], params[:like][:target_id] unless params[:like].nil?
  return params[:target_type], params[:target_id]
end