class PM::User

TODO: there is repeated code in the following subclasses which I will DRY in the next PR. A user in a policy machine.

Public Class Methods

all(pm_storage_adapter, options = {}) click to toggle source

Return all policy elements of a particular type (e.g. all users)

# File lib/policy_machine/policy_element.rb, line 146
def self.all(pm_storage_adapter, options = {})
  pm_storage_adapter.find_all_of_type_user(options).map do |stored_pe|
    convert_stored_pe_to_pe(stored_pe, pm_storage_adapter, PM::User)
  end
end
create(unique_identifier, policy_machine_uuid, pm_storage_adapter, extra_attributes = {}) click to toggle source
# File lib/policy_machine/policy_element.rb, line 133
def self.create(unique_identifier, policy_machine_uuid, pm_storage_adapter, extra_attributes = {})
  new_pe = new(unique_identifier, policy_machine_uuid, pm_storage_adapter, nil, extra_attributes)
  new_pe.stored_pe = pm_storage_adapter.add_user(unique_identifier, policy_machine_uuid, extra_attributes)
  new_pe
end

Public Instance Methods

user_attributes(pm_storage_adapter) click to toggle source
# File lib/policy_machine/policy_element.rb, line 139
def user_attributes(pm_storage_adapter)
  pm_storage_adapter.user_attributes_for_user(stored_pe).map do |stored_ua|
    self.class.convert_stored_pe_to_pe(stored_ua, pm_storage_adapter, PM::UserAttribute)
  end
end

Protected Instance Methods

allowed_assignee_classes() click to toggle source
# File lib/policy_machine/policy_element.rb, line 153
def allowed_assignee_classes
  [UserAttribute]
end