module SAML2::IndexedObject

def self.included(klass)

def self.included(klass)
  klass.const_set(:Array, Array.dup)
end

def build(builder, *)

(see Base#build)
def build(builder, *)
  super
  builder.parent.children.last['index'] = index
  builder.parent.children.last['isDefault'] = default? if default_defined?
end

def default?

def default?
  !!@is_default
end

def default_defined?

def default_defined?
  !@is_default.nil?
end

def eql?(rhs)

def eql?(rhs)
  index == rhs.index &&
    default? == rhs.default? &&
    super
end

def from_xml(node)

(see Base#from_xml)
def from_xml(node)
  @index = node['index'] && node['index'].to_i
  @is_default = node['isDefault'] && node['isDefault'] == 'true'
  super
end

def initialize(*)

def initialize(*)
  @is_default = nil
  super
end