Class: PM::User
- Inherits:
-
PolicyElement
- Object
- PolicyElement
- PM::User
- Defined in:
- lib/policy_machine/policy_element.rb
Overview
TODO: there is repeated code in the following subclasses which I will DRY in the next PR. A user in a policy machine.
Instance Attribute Summary
Attributes inherited from PolicyElement
#extra_attributes, #policy_machine_uuid, #stored_pe, #unique_identifier
Class Method Summary collapse
-
.all(pm_storage_adapter, options = {}) ⇒ Object
Return all policy elements of a particular type (e.g. all users).
- .create(unique_identifier, policy_machine_uuid, pm_storage_adapter, extra_attributes = {}) ⇒ Object
Instance Method Summary collapse
Methods inherited from PolicyElement
#==, #assign_to, #connected?, convert_stored_pe_to_pe, #delete, #initialize, #inspect, #method_missing, #respond_to_missing?, #unassign, #update
Constructor Details
This class inherits a constructor from PM::PolicyElement
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class PM::PolicyElement
Class Method Details
.all(pm_storage_adapter, options = {}) ⇒ Object
Return all policy elements of a particular type (e.g. all users)
146 147 148 149 150 |
# File 'lib/policy_machine/policy_element.rb', line 146 def self.all(pm_storage_adapter, = {}) pm_storage_adapter.find_all_of_type_user().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 = {}) ⇒ Object
133 134 135 136 137 |
# 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 |
Instance Method Details
#user_attributes(pm_storage_adapter) ⇒ Object
139 140 141 142 143 |
# 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 |