24 lines
551 B
Ruby
24 lines
551 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class User
|
||
|
module Relationship
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
private
|
||
|
|
||
|
# Create a relationship for `type` with `target_user` as target.
|
||
|
def create_relationship(type, target_user)
|
||
|
type.create(target: target_user)
|
||
|
end
|
||
|
|
||
|
# Destroy a relationship for `type` with `target_user` as target.
|
||
|
def destroy_relationship(type, target_user)
|
||
|
type.find_by(target: target_user)&.destroy
|
||
|
end
|
||
|
|
||
|
def relationship_active?(type, target_user)
|
||
|
type.include?(target_user)
|
||
|
end
|
||
|
end
|
||
|
end
|