module Saml::ComplexTypes::RoleDescriptorType

Constants

PROTOCOL_SUPPORT_ENUMERATION

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/saml/complex_types/role_descriptor_type.rb, line 23
def initialize(*args)
  super(*args)
  @key_descriptors              ||= []
  @protocol_support_enumeration ||= PROTOCOL_SUPPORT_ENUMERATION
end

Public Instance Methods

find_key_descriptor(key_name, use) click to toggle source
# File lib/saml/complex_types/role_descriptor_type.rb, line 29
def find_key_descriptor(key_name, use)
  return key_descriptors.first unless key_name_or_use_specified?

  key_descriptors_by_use = find_key_descriptors_by_use_or_without(use)

  if key_name.present? && key_name_specified?
    key_descriptors_by_use.find { |key| key.key_info.key_name == key_name }
  else
    key_descriptors_by_use.first
  end
end
find_key_descriptors_by_use(use) click to toggle source
# File lib/saml/complex_types/role_descriptor_type.rb, line 41
def find_key_descriptors_by_use(use)
  key_descriptors.select { |key| key.use == use }
end
find_key_descriptors_by_use_or_without(use) click to toggle source
# File lib/saml/complex_types/role_descriptor_type.rb, line 45
def find_key_descriptors_by_use_or_without(use)
  key_descriptors.select { |key| key.use == use || key.use.blank? }
end

Private Instance Methods

key_name_or_use_specified?() click to toggle source
# File lib/saml/complex_types/role_descriptor_type.rb, line 51
def key_name_or_use_specified?
  key_descriptors.any? { |key| key.use.present? || key.key_info.key_name.present? }
end
key_name_specified?() click to toggle source
# File lib/saml/complex_types/role_descriptor_type.rb, line 55
def key_name_specified?
  key_descriptors.any? { |key| key.key_info.key_name.present? }
end