Module: Amistad::ActiveRecord::FriendshipModel::InstanceMethods

Defined in:
lib/amistad/active_record/friendship_model.rb

Instance Method Summary collapse

Instance Method Details

#active?Boolean

returns true if a friendship has not beed blocked, else false

Returns:

  • (Boolean)


34
35
36
# File 'lib/amistad/active_record/friendship_model.rb', line 34

def active?
  self.blocker_id.nil?
end

#approved?Boolean

returns true if a friendship has been approved, else false

Returns:

  • (Boolean)


19
20
21
# File 'lib/amistad/active_record/friendship_model.rb', line 19

def approved?
  !self.pending
end

#blocked?Boolean

returns true if a friendship has been blocked, else false

Returns:

  • (Boolean)


29
30
31
# File 'lib/amistad/active_record/friendship_model.rb', line 29

def blocked?
  self.blocker_id.present?
end

#can_block?(user) ⇒ Boolean

returns true if a friendship can be blocked by given user

Returns:

  • (Boolean)


39
40
41
# File 'lib/amistad/active_record/friendship_model.rb', line 39

def can_block?(user)
  active? && (approved? || (pending? && self.friend == user))
end

#can_unblock?(user) ⇒ Boolean

returns true if a friendship can be unblocked by given user

Returns:

  • (Boolean)


44
45
46
# File 'lib/amistad/active_record/friendship_model.rb', line 44

def can_unblock?(user)
  blocked? && self.blocker == user
end

#pending?Boolean

returns true if a friendship has not been approved, else false

Returns:

  • (Boolean)


24
25
26
# File 'lib/amistad/active_record/friendship_model.rb', line 24

def pending?
  self.pending
end