Class: SOAP::SOAPHeader

Inherits:
SOAPStruct show all
Includes:
SOAPEnvelopeElement
Defined in:
lib/soap/element.rb

Constant Summary

Constants included from SOAP

AttrActor, AttrActorName, AttrArrayType, AttrArrayTypeName, AttrEncodingStyle, AttrEncodingStyleName, AttrHref, AttrHrefName, AttrId, AttrIdName, AttrMustUnderstand, AttrMustUnderstandName, AttrOffset, AttrOffsetName, AttrPosition, AttrPositionName, AttrRoot, AttrRootName, Base64Literal, EleBody, EleBodyName, EleEnvelope, EleEnvelopeName, EleFault, EleFaultActor, EleFaultActorName, EleFaultCode, EleFaultCodeName, EleFaultDetail, EleFaultDetailName, EleFaultName, EleFaultString, EleFaultStringName, EleHeader, EleHeaderName, EncodingNamespace, EnvelopeNamespace, LiteralNamespace, MediaType, NextActor, PropertyName, SOAPProxy, TypeMap, VERSION, ValueArray, ValueArrayName

Instance Attribute Summary collapse

Attributes included from SOAPCompoundtype

#qualified

Attributes included from SOAPType

#definedtype, #elename, #encodingstyle, #extraattr, #force_typed, #id, #parent, #position, #precedents, #root

Attributes inherited from XSD::NSDBase

#type

Instance Method Summary collapse

Methods inherited from SOAPStruct

#[], #[]=, decode, #each, #have_member, #key?, #members, #replace, #to_obj, #to_s

Methods included from SOAPType

#inspect, #rootnode

Methods inherited from XSD::NSDBase

inherited, #init, types

Constructor Details

#initializeSOAPHeader

Returns a new instance of SOAPHeader.



195
196
197
198
199
200
# File 'lib/soap/element.rb', line 195

def initialize
  super(nil)
  @elename = EleHeaderName
  @encodingstyle = nil
  @force_encode = false
end

Instance Attribute Details

#force_encode=(value) ⇒ Object (writeonly)

Sets the attribute force_encode

Parameters:

  • value

    the value to set the attribute force_encode to.



193
194
195
# File 'lib/soap/element.rb', line 193

def force_encode=(value)
  @force_encode = value
end

Instance Method Details

#add(name, value) ⇒ Object



211
212
213
214
215
216
217
218
219
# File 'lib/soap/element.rb', line 211

def add(name, value)
  actor = value.extraattr[AttrActorName]
  mu = value.extraattr[AttrMustUnderstandName]
  encstyle = value.extraattr[AttrEncodingStyleName]
  mu_value = mu.nil? ? nil : (mu == '1')
  # to remove mustUnderstand attribute, set it to nil
  item = SOAPHeaderItem.new(value, mu_value, encstyle, actor)
  super(name, item)
end

#encode(generator, ns, attrs = {}) ⇒ Object



202
203
204
205
206
207
208
209
# File 'lib/soap/element.rb', line 202

def encode(generator, ns, attrs = {})
  name = ns.name(@elename)
  generator.encode_tag(name, attrs)
  @data.each do |data|
    yield(data)
  end
  generator.encode_tag_end(name, @data.size > 0)
end

#encode?Boolean

Returns:

  • (Boolean)


226
227
228
# File 'lib/soap/element.rb', line 226

def encode?
  @force_encode or length > 0
end

#lengthObject Also known as: size



221
222
223
# File 'lib/soap/element.rb', line 221

def length
  @data.length
end