Module: Polar::ActiveRecordExtensions::InstanceMethods

Defined in:
lib/polar/adapters/active_record.rb

Instance Method Summary collapse

Instance Method Details

#can?(permission) ⇒ Boolean

Check whenever specific subject has right permission assigned to him either via defaults defined in the model or the database

Returns:

  • (Boolean)

Raises:



48
49
50
51
# File 'lib/polar/adapters/active_record.rb', line 48

def can?(permission)
  raise Polar::PermissionNotDefined unless Polar::Permissions.defined_store.has_key?(permission)
  permissions.include? permission
end

#group_objectObject



28
29
30
# File 'lib/polar/adapters/active_record.rb', line 28

def group_object
  UserGroup
end

#groupsObject



39
40
41
42
43
44
# File 'lib/polar/adapters/active_record.rb', line 39

def groups
  return @groups if defined?(@groups)
  auth = Polar::Groups.new
  auth.fill_subject_from_external_store(self.id, group_object)
  @groups = auth.subject_store.sort { |a,b| a.to_s <=> b.to_s }
end

#member_of?(group) ⇒ Boolean

Check whenever specific subject is a member of a right group either via defaults defined in the model or the database

Returns:

  • (Boolean)


55
56
57
# File 'lib/polar/adapters/active_record.rb', line 55

def member_of?(group)
  groups.include? group
end

#permission_objectObject



24
25
26
# File 'lib/polar/adapters/active_record.rb', line 24

def permission_object
  UserPermission
end

#permissionsObject



32
33
34
35
36
37
# File 'lib/polar/adapters/active_record.rb', line 32

def permissions
  return @permissions if defined?(@permissions)
  auth = Polar::Permissions.new
  auth.fill_subject_from_external_store(self.id, permission_object, group_object)
  @permissions = auth.subject_store.sort { |a,b| a.to_s <=> b.to_s }
end