Class: Membership

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Joinable::PermissionsAttributeWrapper
Defined in:
app/models/membership.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Joinable::PermissionsAttributeWrapper

#allowed_permissions, #doesnt_have_permission?, #grant_permissions, #has_permission?, included, #method_missing, #no_permissions?, #only_permission_to?, #permission_attributes=, #permissions, #permissions=, #permissions_string, #respond_to?

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Joinable::PermissionsAttributeWrapper

Instance Attribute Details

#initiatorObject

Returns the value of attribute initiator.



14
15
16
# File 'app/models/membership.rb', line 14

def initiator
  @initiator
end

#lockedObject

Returns the value of attribute locked.



14
15
16
# File 'app/models/membership.rb', line 14

def locked
  @locked
end

Instance Method Details

#locked?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/models/membership.rb', line 16

def locked?
  locked == 'true'
end

#owner?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/models/membership.rb', line 20

def owner?
  user == joinable.user
end

#permissions_locked?(current_user) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
31
32
33
34
# File 'app/models/membership.rb', line 24

def permissions_locked?(current_user)
  # Don't allow any changes to your own permissions
  if current_user.eql?(user)
    return true
  # Don't allow any changes to the owner's permissions  
  elsif owner?
    return true
  else
    return false
  end
end