Class: SAML2::IndexedObject::Array
- Inherits:
-
Array
- Object
- Array
- SAML2::IndexedObject::Array
- Defined in:
- lib/saml2/indexed_object.rb
Overview
Keeps an Array of SAML2::IndexedObjects in their indexed order.
Instance Attribute Summary collapse
-
#default ⇒ IndexedObject
readonly
Returns the first object which is set as the default, or the first object if none are set as the default.
Class Method Summary collapse
Instance Method Summary collapse
- #<<(value) ⇒ Object
- #[](index) ⇒ Object
-
#initialize(objects = nil) ⇒ Array
constructor
A new instance of Array.
- #resolve(index) ⇒ Object
Constructor Details
#initialize(objects = nil) ⇒ Array
Returns a new instance of Array.
47 48 49 50 |
# File 'lib/saml2/indexed_object.rb', line 47 def initialize(objects = nil) replace(objects.sort_by { |object| object.index || 0 }) if objects re_index end |
Instance Attribute Details
#default ⇒ IndexedObject (readonly)
Returns the first object which is set as the default, or the first object if none are set as the default.
41 42 43 |
# File 'lib/saml2/indexed_object.rb', line 41 def default @default end |
Class Method Details
.from_xml(nodes) ⇒ Object
43 44 45 |
# File 'lib/saml2/indexed_object.rb', line 43 def self.from_xml(nodes) new(nodes.map { |node| name.split('::')[1..-2].inject(SAML2) { |mod, klass| mod.const_get(klass) }.from_xml(node) }).freeze end |
Instance Method Details
#<<(value) ⇒ Object
60 61 62 63 |
# File 'lib/saml2/indexed_object.rb', line 60 def <<(value) super re_index end |
#[](index) ⇒ Object
52 53 54 |
# File 'lib/saml2/indexed_object.rb', line 52 def [](index) @index[index] end |
#resolve(index) ⇒ Object
56 57 58 |
# File 'lib/saml2/indexed_object.rb', line 56 def resolve(index) index ? self[index] : default end |