Class: ActionWebService::Protocol::Soap::SoapBinding

Inherits:
Object
  • Object
show all
Defined in:
lib/action_web_service/protocol/soap_protocol/marshaler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(marshaler, qname, type, mapping, element_binding = nil) ⇒ SoapBinding

Returns a new instance of SoapBinding.



144
145
146
147
148
149
150
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 144

def initialize(marshaler, qname, type, mapping, element_binding=nil)
  @marshaler = marshaler
  @qname = qname
  @type = type
  @mapping = mapping
  @element_binding = element_binding
end

Instance Attribute Details

#element_bindingObject (readonly)

Returns the value of attribute element_binding.



142
143
144
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 142

def element_binding
  @element_binding
end

#mappingObject (readonly)

Returns the value of attribute mapping.



141
142
143
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 141

def mapping
  @mapping
end

#qnameObject (readonly)

Returns the value of attribute qname.



139
140
141
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 139

def qname
  @qname
end

#typeObject (readonly)

Returns the value of attribute type.



140
141
142
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 140

def type
  @type
end

Instance Method Details

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


169
170
171
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 169

def eql?(other)
  @qname == other.qname
end

#hashObject



174
175
176
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 174

def hash
  @qname.hash
end

#qualified_type_name(ns = nil) ⇒ Object



156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 156

def qualified_type_name(ns=nil)
  if @type.custom?
    "#{ns ? ns : @qname.namespace}:#{@qname.name}"
  else
    ns = XSD::NS.new
    ns.assign(XSD::Namespace, SOAP::XSDNamespaceTag)
    ns.assign(SOAP::EncodingNamespace, "soapenc")
    xsd_klass = mapping[0].ancestors.find{|c| c.const_defined?('Type')}
    return ns.name(XSD::AnyTypeName) unless xsd_klass
    ns.name(xsd_klass.const_get('Type'))
  end
end

#type_nameObject



152
153
154
# File 'lib/action_web_service/protocol/soap_protocol/marshaler.rb', line 152

def type_name
  @type.custom? ? @qname.name : nil
end