class SocMed::Services::Follows::FollowBase

Private Instance Methods

follow() click to toggle source
# File lib/soc_med/services/follows/follow_base.rb, line 10
def follow
  follow = owner.followable_objects.find_by(target: target)
  raise ActiveRecord::RecordNotFound unless follow

  follow
end
owner() click to toggle source
# File lib/soc_med/services/follows/follow_base.rb, line 30
def owner
  owner_type, owner_id = owner_info
  owner = SocMed.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/follows/follow_base.rb, line 38
def owner_info
  return params[:follow][:owner_type], params[:follow][:owner_id] unless params[:follow].nil?
  return params[:owner_type], params[:owner_id]
end
target() click to toggle source
# File lib/soc_med/services/follows/follow_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/follows/follow_base.rb, line 25
def target_info
  return params[:follow][:target_type], params[:follow][:target_id] unless params[:follow].nil?
  return params[:target_type], params[:target_id]
end