class PM::ObjectAttribute
An object attribute in a policy machine.
Public Class Methods
all(pm_storage_adapter, options = {})
click to toggle source
# File lib/policy_machine/policy_element.rb, line 196 def self.all(pm_storage_adapter, options = {}) pm_storage_adapter.find_all_of_type_object_attribute(options).map do |stored_pe| convert_stored_pe_to_pe(stored_pe, pm_storage_adapter, PM::ObjectAttribute) 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 181 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_object_attribute(unique_identifier, policy_machine_uuid, extra_attributes) new_pe end
Public Instance Methods
policy_classes()
click to toggle source
Returns an array of policy classes in which this ObjectAttribute
is included. Returns empty array if this ObjectAttribute
is associated with no policy classes.
# File lib/policy_machine/policy_element.rb, line 189 def policy_classes pcs_for_object = @pm_storage_adapter.policy_classes_for_object_attribute(stored_pe) pcs_for_object.map do |stored_pc| self.class.convert_stored_pe_to_pe(stored_pc, @pm_storage_adapter, PM::PolicyClass) end end
Protected Instance Methods
allowed_assignee_classes()
click to toggle source
# File lib/policy_machine/policy_element.rb, line 203 def allowed_assignee_classes [ObjectAttribute, PolicyClass] end