Class: AdWords::V2009HeaderHandler
- Inherits:
-
SOAP::Header::SimpleHandler
- Object
- SOAP::Header::SimpleHandler
- AdWords::V2009HeaderHandler
- Defined in:
- lib/adwords4r/credentials.rb
Overview
Handles the headers used in v2009 requests.
Instance Method Summary collapse
-
#initialize(parent, namespace, version) ⇒ V2009HeaderHandler
constructor
Constructor for V2009HeaderHandler.
-
#on_simple_outbound ⇒ Object
Handles callback.
Constructor Details
#initialize(parent, namespace, version) ⇒ V2009HeaderHandler
Constructor for V2009HeaderHandler.
Args:
-
parent: AdWordsCredentials object containing the login credentials.
40 41 42 43 44 |
# File 'lib/adwords4r/credentials.rb', line 40 def initialize(parent, namespace, version) super(XSD::QName.new(namespace, 'RequestHeader')) @parent = parent @version = version end |
Instance Method Details
#on_simple_outbound ⇒ Object
Handles callback.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/adwords4r/credentials.rb', line 47 def on_simple_outbound ns = HEADER_NAMESPACE ns += 'v' if @version.is_a? Integer ns += @version.to_s header = SOAP::SOAPElement.new(nil) auth_token = SOAP::SOAPElement.new(XSD::QName.new(ns, 'authToken'), @parent.auth_token) user_agent = SOAP::SOAPElement.new(XSD::QName.new(ns, 'userAgent'), @parent.credentials['userAgent']) dev_token = SOAP::SOAPElement.new(XSD::QName.new(ns, 'developerToken'), @parent.credentials['developerToken']) header.add(auth_token) header.add(user_agent) header.add(dev_token) if @parent.credentials['applicationToken'] app_token = SOAP::SOAPElement.new(XSD::QName.new(ns, 'applicationToken'), @parent.credentials['applicationToken']) header.add(app_token) end client_email_value = @parent.client_email client_cid_value = @parent.client_customer_id if client_email_value and client_email_value.length > 0 client_email = SOAP::SOAPElement.new(XSD::QName.new(ns, 'clientEmail'), client_email_value) header.add(client_email) end if client_cid_value and client_cid_value.length > 0 client_cid = SOAP::SOAPElement.new( XSD::QName.new(ns, 'clientCustomerId'), client_cid_value) header.add(client_cid) end if @parent.validate_only validate_only = SOAP::SOAPElement.new( XSD::QName.new(ns, 'validateOnly'), 'true') header.add(validate_only) end if @parent.partial_failure partial_failure = SOAP::SOAPElement.new( XSD::QName.new(ns, 'partialFailure'), 'true') header.add(partial_failure) end return header end |