module PrivatePerson::ActsAsPermissor::InstanceMethods

Public Instance Methods

permission_params(whom, what) click to toggle source
# File lib/private_person/extensions/acts_as_permissor.rb, line 42
def permission_params(whom, what)
  ::ActionController::Parameters.new({
    :relationship_type => whom, 
    :permissible_type => what.class.name, 
    :permissible_id => what.id
  }).permit!
end
permit!(whom, what) click to toggle source
# File lib/private_person/extensions/acts_as_permissor.rb, line 24
def permit!(whom, what)
  existing = self.permissions_as_permissor.by_relationship_type(whom).by_permissible(what)

  if existing.empty?
    self.permissions_as_permissor.create!(permission_params(whom, what))
  end
  self.permissions_as_permissor.reload
end
wildcard_permission_params(whom, what) click to toggle source
# File lib/private_person/extensions/acts_as_permissor.rb, line 50
def wildcard_permission_params(whom, what)
  ::ActionController::Parameters.new({
    :relationship_type => whom, 
    :permissible_type => what
  }).permit!
end
wildcard_permit!(whom, what) click to toggle source
# File lib/private_person/extensions/acts_as_permissor.rb, line 33
def wildcard_permit!(whom, what)
  existing = self.permissions_as_permissor.by_relationship_type(whom).where(:permissible_type, what)

  # if existing.empty?
    self.permissions_as_permissor.create!(wildcard_permission_params(whom, what))
  # end
  self.permissions_as_permissor.reload
end