Module: Amistad::ActiveRecordFriendshipModel
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/amistad/active_record_friendship_model.rb
Instance Method Summary collapse
-
#active? ⇒ Boolean
returns true if a friendship has not beed blocked, else false.
-
#approved? ⇒ Boolean
returns true if a friendship has been approved, else false.
-
#blocked? ⇒ Boolean
returns true if a friendship has been blocked, else false.
-
#can_block?(friendable) ⇒ Boolean
returns true if a friendship can be blocked by given friendable.
-
#can_unblock?(friendable) ⇒ Boolean
returns true if a friendship can be unblocked by given friendable.
-
#pending? ⇒ Boolean
returns true if a friendship has not been approved, else false.
Instance Method Details
#active? ⇒ Boolean
returns true if a friendship has not beed blocked, else false
38 39 40 |
# File 'lib/amistad/active_record_friendship_model.rb', line 38 def active? self.blocker_id.nil? end |
#approved? ⇒ Boolean
returns true if a friendship has been approved, else false
23 24 25 |
# File 'lib/amistad/active_record_friendship_model.rb', line 23 def approved? !self.pending end |
#blocked? ⇒ Boolean
returns true if a friendship has been blocked, else false
33 34 35 |
# File 'lib/amistad/active_record_friendship_model.rb', line 33 def blocked? self.blocker_id.present? end |
#can_block?(friendable) ⇒ Boolean
returns true if a friendship can be blocked by given friendable
43 44 45 |
# File 'lib/amistad/active_record_friendship_model.rb', line 43 def can_block?(friendable) active? && (approved? || (pending? && self.friend_id == friendable.id && friendable.class.to_s == Amistad.friend_model)) end |
#can_unblock?(friendable) ⇒ Boolean
returns true if a friendship can be unblocked by given friendable
48 49 50 |
# File 'lib/amistad/active_record_friendship_model.rb', line 48 def can_unblock?(friendable) blocked? && self.blocker_id == friendable.id && friendable.class.to_s == Amistad.friend_model end |
#pending? ⇒ Boolean
returns true if a friendship has not been approved, else false
28 29 30 |
# File 'lib/amistad/active_record_friendship_model.rb', line 28 def pending? self.pending end |