class Embulk::Input::YahooAds::Client
Public Class Methods
new(account_id, auth_config)
click to toggle source
# File lib/embulk/input/yahoo_ads/client.rb, line 5 def initialize(account_id, auth_config) @account_id = account_id @auth_config = auth_config @locationService = LocationService.build(account_id, auth_config) end
Public Instance Methods
invoke(service_name, action, params)
click to toggle source
# File lib/embulk/input/yahoo_ads/client.rb, line 11 def invoke(service_name, action, params) s = self.service(service_name) ::Embulk.logger.info "SOAP Request: #{s.wsdl.document}" s.call(action, params).body end
service(name)
click to toggle source
# File lib/embulk/input/yahoo_ads/client.rb, line 17 def service(name) ::Savon::Client.new({ wsdl: "https://#{@auth_config.location}/services/#{@auth_config.version}/#{name}?wsdl", endpoint: "https://#{@locationService.invoke}/services/#{@auth_config.version}/#{name}", namespace: @auth_config.namespace, soap_header: { "tns:RequestHeader": { "tns:license": @auth_config.license, "tns:apiAccountId": @auth_config.api_account, "tns:apiAccountPassword": @auth_config.api_password, } } }) end