Class: DoorMat::Membership

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

Instance Method Summary collapse

Methods included from AttrAsymmetricStore

included

Instance Method Details

#load_sub_sessionObject



35
36
37
38
39
# File 'app/models/door_mat/membership.rb', line 35

def load_sub_session
  sub_session = DoorMat::Session.new_sub_session_for_actor(self.member_of, self.key)

  self.member.setup_public_key_pairs(sub_session)
end

#share_with!(actor, ownership = :owner_true, permission = :no_permission) ⇒ Object



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

def share_with!(actor, ownership = :owner_true, permission = :no_permission )
  false unless self.owner_true?

  membership = DoorMat::Membership.new
  membership.member = actor
  membership.member_of = self.member_of
  membership.sponsor = DoorMat::Membership.sponsors[:sponsor_false]
  membership.owner = DoorMat::Membership.owners[ownership]
  membership.permission = DoorMat::Membership.permissions[permission]
  membership.key = self.key
  membership.save!
  true
end