Class: AdsCommon::Build::SavonGenerator
- Inherits:
-
Object
- Object
- AdsCommon::Build::SavonGenerator
- Defined in:
- lib/ads_common/build/savon_generator.rb
Overview
Contains the methods that handle wrapper code generation.
Instance Method Summary collapse
-
#initialize(wsdl_url, code_path, api_name, version, service_name) ⇒ SavonGenerator
constructor
Create a new generator for given WSDL.
-
#process_wsdl ⇒ Object
Pull, parse and generate wrapper for WSDL on given URL.
Constructor Details
#initialize(wsdl_url, code_path, api_name, version, service_name) ⇒ SavonGenerator
Create a new generator for given WSDL.
Args:
-
wsdl_url local or remote URL to pull WSDL data
-
code_path local path to store generated files
-
api_name an API name to generate for
-
version a version of the service
-
service_name a service name to generate stubs for
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ads_common/build/savon_generator.rb', line 43 def initialize(wsdl_url, code_path, api_name, version, service_name) @wsdl_url = wsdl_url @code_path = code_path @generator_args = { :api_name => api_name, :version => version, :service_name => service_name, :require_path => @code_path.sub(/^lib\//, '') } @logger = Logger.new(STDOUT) @logger.level = Logger::INFO GoogleAdsSavon.configure do |config| config.logger = @logger config.log_level = :debug end HTTPI.logger = @logger HTTPI.log_level = :debug end |
Instance Method Details
#process_wsdl ⇒ Object
Pull, parse and generate wrapper for WSDL on given URL.
Args:
-
none, instance variables are used
Returns:
-
none
70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/ads_common/build/savon_generator.rb', line 70 def process_wsdl() proxy_path = get_proxy_path() client = GoogleAdsSavon::Client.new(@wsdl_url) do |_, httpi| httpi.proxy = proxy_path unless proxy_path.nil? || proxy_path.empty? end begin @generator_args[:namespace] = client.wsdl.namespace do_process_wsdl_client(client) rescue AdsCommon::Errors::Error => e error_msg = "An unrecoverable error occured during code generation" error_msg += " for service [%s]: %s" % [@wsdl_url, e] raise AdsCommon::Errors::BuildError, error_msg end end |