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.



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

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.



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

def element_binding
  @element_binding
end

#mappingObject (readonly)

Returns the value of attribute mapping.



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

def mapping
  @mapping
end

#qnameObject (readonly)

Returns the value of attribute qname.



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

def qname
  @qname
end

#typeObject (readonly)

Returns the value of attribute type.



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

def type
  @type
end

Instance Method Details

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

Returns:

  • (Boolean)


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

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

#hashObject



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

def hash
  @qname.hash
end

#qualified_type_name(ns = nil) ⇒ Object



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

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



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

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