class BingAdsRubySdk::WsdlOperationWrapper

Attributes

parser[R]
request_namespace_type[R]

Public Class Methods

new(parser, operation_name) click to toggle source
# File lib/bing_ads_ruby_sdk/wsdl_operation_wrapper.rb, line 8
def initialize(parser, operation_name)
  @parser = parser
  @request_namespace_type = parser.operations.fetch(operation_name).fetch(:input).fetch(:body).first
end
prefix_and_name(wsdl, type_name) click to toggle source
# File lib/bing_ads_ruby_sdk/wsdl_operation_wrapper.rb, line 31
def self.prefix_and_name(wsdl, type_name)
  wsdl.types.fetch(type_name).prefix_and_name
end

Public Instance Methods

base_type_name(elements, type_name) click to toggle source
# File lib/bing_ads_ruby_sdk/wsdl_operation_wrapper.rb, line 26
def base_type_name(elements, type_name)
  return nil if type_name == BingAdsRubySdk.type_key
  elements.fetch(type_name).fetch(:base_type_name, type_name)
end
namespace_and_type_from_name(all_attributes, type_name) click to toggle source
# File lib/bing_ads_ruby_sdk/wsdl_operation_wrapper.rb, line 22
def namespace_and_type_from_name(all_attributes, type_name)
  all_attributes.fetch(type_name).fetch(:type)
end
ordered_fields_hash(namespace_type) click to toggle source
# File lib/bing_ads_ruby_sdk/wsdl_operation_wrapper.rb, line 13
def ordered_fields_hash(namespace_type)
  # we check types first as its the main source of data, except for the Request type which lives in elements
  if parser.types.fetch(namespace_type, nil)
    parser.types.fetch(namespace_type).fetch(:elements)
  else
    parser.elements.fetch(namespace_type).fetch(:type).fetch(:elements)
  end
end