google-ads-common 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/ChangeLog +8 -0
- data/README.md +1 -1
- data/lib/ads_common/auth/oauth2_service_account_handler.rb +1 -1
- data/lib/ads_common/build/savon_abstract_generator.rb +1 -1
- data/lib/ads_common/build/savon_generator.rb +3 -3
- data/lib/ads_common/build/savon_registry.rb +1 -1
- data/lib/ads_common/build/savon_registry_generator.rb +1 -1
- data/lib/ads_common/build/savon_service_generator.rb +5 -1
- data/lib/ads_common/credential_handler.rb +1 -1
- data/lib/ads_common/http.rb +1 -0
- data/lib/ads_common/savon_headers/base_header_handler.rb +1 -1
- data/lib/ads_common/savon_service.rb +16 -6
- data/lib/ads_common/version.rb +1 -1
- metadata +35 -44
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDliZjJiZGQzMGJjMTUyMGU0ODc3MGNkZDlhZjRjZWNjZDYzZGRjMA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OTVmZjM4ZGQxZGU5M2RlMTYxZTZjZGQzMTA5ODkwYWM1NzNmNjY3ZA==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MTRmMWZiZTg2OTBmZmNlZThiM2RiZWNjZjE3ZDA0YWJiMmE5ZTYxMzkyMWVh
|
10
|
+
YjcyZmI2OGM5MjdlOTNkMzc1ZmFiOGI1MDQ0ZTViMTYyYzY5OTBiNTMxODcy
|
11
|
+
YWIwODViYTFjZGExMzgyYzIzYTdmNzJlMTk0OGU2ZjM3N2IwOWU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NzJkZTkxZWRkZmM1MGZlMTlhZmIzZmE3ZTM2OWE1YWJlODc0NzIxODEyMGI1
|
14
|
+
ZGQ3ODBiODVjZWY0NGE2OTQxNjUwN2U5MmI1MzYyOTQzZmE1MzcwMzZiNmY3
|
15
|
+
NzNmODIyYTY4NDJjMWZiYzcxZDU3NmQxZTI5MmRhZjIzMGJlN2U=
|
data/ChangeLog
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
0.11.0:
|
2
|
+
- Updated to use 'ads_savon' library over 'savon'.
|
3
|
+
- Add support for services to return SOAP XML without making a request. This
|
4
|
+
requires stub regeneration in the specific libraries.
|
5
|
+
- Updated httpi dependency to version 2.3.
|
6
|
+
- Updated http to follow redirects by default, to allow use of
|
7
|
+
AdsCommon::Http for fetching web resources that require redirects.
|
8
|
+
|
1
9
|
0.10.1:
|
2
10
|
- General file cleanup.
|
3
11
|
- Fix the OAUTH2_SERVICE_ACCOUNT constant in ads_common.
|
data/README.md
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
# Generates the wrappers for API services. Only used during the
|
19
19
|
# 'rake generate' step of library setup.
|
20
20
|
|
21
|
-
require '
|
21
|
+
require 'ads_savon'
|
22
22
|
|
23
23
|
require 'ads_common/build/savon_service_generator'
|
24
24
|
require 'ads_common/build/savon_registry'
|
@@ -51,7 +51,7 @@ module AdsCommon
|
|
51
51
|
}
|
52
52
|
@logger = Logger.new(STDOUT)
|
53
53
|
@logger.level = Logger::INFO
|
54
|
-
|
54
|
+
GoogleAdsSavon.configure do |config|
|
55
55
|
config.logger = @logger
|
56
56
|
config.log_level = :debug
|
57
57
|
end
|
@@ -68,7 +68,7 @@ module AdsCommon
|
|
68
68
|
# Returns:
|
69
69
|
# - none
|
70
70
|
def process_wsdl()
|
71
|
-
client =
|
71
|
+
client = GoogleAdsSavon::Client.new(@wsdl_url)
|
72
72
|
begin
|
73
73
|
@generator_args[:namespace] = client.wsdl.namespace
|
74
74
|
do_process_wsdl_client(client)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
#
|
18
18
|
# Code template for wrappers generation for Savon backend
|
19
19
|
|
20
|
-
require '
|
20
|
+
require 'ads_savon'
|
21
21
|
require 'ads_common/build/savon_abstract_generator'
|
22
22
|
|
23
23
|
module AdsCommon
|
@@ -49,6 +49,10 @@ module AdsCommon
|
|
49
49
|
def <%= action %>(*args, &block)
|
50
50
|
return execute_action('<%= action %>', args, &block)
|
51
51
|
end
|
52
|
+
|
53
|
+
def <%= action %>_to_xml(*args)
|
54
|
+
return get_soap_xml('<%= action %>', args)
|
55
|
+
end
|
52
56
|
<% end %>
|
53
57
|
|
54
58
|
private
|
@@ -69,7 +69,7 @@ module AdsCommon
|
|
69
69
|
agent_app ||= File.basename($0)
|
70
70
|
agent_data = extra_ids
|
71
71
|
agent_data << 'Common-Ruby/%s' % AdsCommon::ApiConfig::CLIENT_LIB_VERSION
|
72
|
-
agent_data << '
|
72
|
+
agent_data << 'GoogleAdsSavon/%s' % GoogleAdsSavon::VERSION
|
73
73
|
ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
|
74
74
|
agent_data << [ruby_engine, RUBY_VERSION].join('/')
|
75
75
|
agent_data << 'HTTPI/%s' % HTTPI::VERSION
|
data/lib/ads_common/http.rb
CHANGED
@@ -62,6 +62,7 @@ module AdsCommon
|
|
62
62
|
# Defaulting to stricter :peer validation.
|
63
63
|
def self.prepare_request(url, config, headers = nil, data = nil)
|
64
64
|
request = HTTPI::Request.new(url)
|
65
|
+
request.follow_redirect = true
|
65
66
|
request.headers = headers if headers
|
66
67
|
request.body = data if data
|
67
68
|
configure_httpi(config, request)
|
@@ -17,7 +17,7 @@
|
|
17
17
|
#
|
18
18
|
# Base class for all generated API services based on Savon backend.
|
19
19
|
|
20
|
-
require '
|
20
|
+
require 'ads_savon'
|
21
21
|
|
22
22
|
require 'ads_common/http'
|
23
23
|
require 'ads_common/parameters_validator'
|
@@ -38,6 +38,7 @@ module AdsCommon
|
|
38
38
|
end
|
39
39
|
@config, @version, @namespace = config, version, namespace
|
40
40
|
@client = create_savon_client(endpoint, namespace)
|
41
|
+
@xml_only = false
|
41
42
|
end
|
42
43
|
|
43
44
|
private
|
@@ -59,8 +60,7 @@ module AdsCommon
|
|
59
60
|
|
60
61
|
# Creates and sets up Savon client.
|
61
62
|
def create_savon_client(endpoint, namespace)
|
62
|
-
|
63
|
-
client = Savon::Client.new do |wsdl, httpi|
|
63
|
+
client = GoogleAdsSavon::Client.new do |wsdl, httpi|
|
64
64
|
wsdl.endpoint = endpoint
|
65
65
|
wsdl.namespace = namespace
|
66
66
|
AdsCommon::Http.configure_httpi(@config, httpi)
|
@@ -70,13 +70,22 @@ module AdsCommon
|
|
70
70
|
return client
|
71
71
|
end
|
72
72
|
|
73
|
+
# Generates and returns SOAP XML for the specified action and args.
|
74
|
+
def get_soap_xml(action_name, args)
|
75
|
+
registry = get_service_registry()
|
76
|
+
validator = ParametersValidator.new(registry)
|
77
|
+
args = validator.validate_args(action_name, args)
|
78
|
+
return handle_soap_request(
|
79
|
+
action_name.to_sym, true, args, validator.extra_namespaces)
|
80
|
+
end
|
81
|
+
|
73
82
|
# Executes SOAP action specified as a string with given arguments.
|
74
83
|
def execute_action(action_name, args, &block)
|
75
84
|
registry = get_service_registry()
|
76
85
|
validator = ParametersValidator.new(registry)
|
77
86
|
args = validator.validate_args(action_name, args)
|
78
|
-
response =
|
79
|
-
action_name.to_sym, args, validator.extra_namespaces)
|
87
|
+
response = handle_soap_request(
|
88
|
+
action_name.to_sym, false, args, validator.extra_namespaces)
|
80
89
|
log_headers(response.http.headers)
|
81
90
|
handle_errors(response)
|
82
91
|
extractor = ResultsExtractor.new(registry)
|
@@ -92,7 +101,7 @@ module AdsCommon
|
|
92
101
|
end
|
93
102
|
|
94
103
|
# Executes the SOAP request with original SOAP name.
|
95
|
-
def
|
104
|
+
def handle_soap_request(action, xml_only, args, extra_namespaces)
|
96
105
|
original_action_name =
|
97
106
|
get_service_registry.get_method_signature(action)[:original_name]
|
98
107
|
original_action_name = action if original_action_name.nil?
|
@@ -100,6 +109,7 @@ module AdsCommon
|
|
100
109
|
soap.body = args
|
101
110
|
header_handler.prepare_request(http, soap)
|
102
111
|
soap.namespaces.merge!(extra_namespaces) unless extra_namespaces.nil?
|
112
|
+
return soap.to_xml if xml_only
|
103
113
|
end
|
104
114
|
return response
|
105
115
|
end
|
data/lib/ads_common/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-ads-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.11.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sergio Gomes
|
@@ -11,44 +10,39 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2015-08
|
13
|
+
date: 2015-10-08 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
|
-
name: savon
|
16
|
+
name: google-ads-savon
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
19
|
- - ~>
|
22
20
|
- !ruby/object:Gem::Version
|
23
|
-
version: 1.
|
21
|
+
version: 1.0.0
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
26
|
- - ~>
|
30
27
|
- !ruby/object:Gem::Version
|
31
|
-
version: 1.
|
28
|
+
version: 1.0.0
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: httpi
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
33
|
- - ~>
|
38
34
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
35
|
+
version: '2.3'
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
40
|
- - ~>
|
46
41
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
42
|
+
version: '2.3'
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
44
|
name: signet
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
46
|
requirements:
|
53
47
|
- - ~>
|
54
48
|
- !ruby/object:Gem::Version
|
@@ -56,7 +50,6 @@ dependencies:
|
|
56
50
|
type: :runtime
|
57
51
|
prerelease: false
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
53
|
requirements:
|
61
54
|
- - ~>
|
62
55
|
- !ruby/object:Gem::Version
|
@@ -64,7 +57,6 @@ dependencies:
|
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
58
|
name: rake
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
60
|
requirements:
|
69
61
|
- - ! '>='
|
70
62
|
- !ruby/object:Gem::Version
|
@@ -72,81 +64,80 @@ dependencies:
|
|
72
64
|
type: :development
|
73
65
|
prerelease: false
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
67
|
requirements:
|
77
68
|
- - ! '>='
|
78
69
|
- !ruby/object:Gem::Version
|
79
70
|
version: 10.4.2
|
80
71
|
description: Essential utilities shared by all Ads Ruby client libraries
|
81
|
-
email:
|
72
|
+
email:
|
73
|
+
- adwordsapiadvisor+michael@google.com
|
82
74
|
executables: []
|
83
75
|
extensions: []
|
84
76
|
extra_rdoc_files: []
|
85
77
|
files:
|
78
|
+
- COPYING
|
79
|
+
- ChangeLog
|
80
|
+
- README.md
|
86
81
|
- lib/ads_common/api.rb
|
87
|
-
- lib/ads_common/
|
88
|
-
- lib/ads_common/errors.rb
|
82
|
+
- lib/ads_common/api_config.rb
|
89
83
|
- lib/ads_common/auth/base_handler.rb
|
90
|
-
- lib/ads_common/auth/oauth2_service_account_handler.rb
|
91
84
|
- lib/ads_common/auth/oauth2_handler.rb
|
92
|
-
- lib/ads_common/
|
93
|
-
- lib/ads_common/api_config.rb
|
94
|
-
- lib/ads_common/utils.rb
|
95
|
-
- lib/ads_common/build/savon_service_generator.rb
|
96
|
-
- lib/ads_common/build/savon_registry.rb
|
97
|
-
- lib/ads_common/build/savon_registry_generator.rb
|
85
|
+
- lib/ads_common/auth/oauth2_service_account_handler.rb
|
98
86
|
- lib/ads_common/build/savon_abstract_generator.rb
|
99
87
|
- lib/ads_common/build/savon_generator.rb
|
88
|
+
- lib/ads_common/build/savon_registry.rb
|
89
|
+
- lib/ads_common/build/savon_registry_generator.rb
|
90
|
+
- lib/ads_common/build/savon_service_generator.rb
|
100
91
|
- lib/ads_common/config.rb
|
92
|
+
- lib/ads_common/credential_handler.rb
|
93
|
+
- lib/ads_common/errors.rb
|
94
|
+
- lib/ads_common/http.rb
|
101
95
|
- lib/ads_common/parameters_validator.rb
|
96
|
+
- lib/ads_common/results_extractor.rb
|
102
97
|
- lib/ads_common/savon_headers/base_header_handler.rb
|
103
98
|
- lib/ads_common/savon_headers/oauth_header_handler.rb
|
104
|
-
- lib/ads_common/results_extractor.rb
|
105
|
-
- lib/ads_common/http.rb
|
106
99
|
- lib/ads_common/savon_service.rb
|
107
|
-
-
|
100
|
+
- lib/ads_common/utils.rb
|
101
|
+
- lib/ads_common/version.rb
|
108
102
|
- test/coverage.rb
|
109
|
-
- test/
|
103
|
+
- test/suite_unittests.rb
|
110
104
|
- test/test_config.rb
|
111
|
-
- test/
|
105
|
+
- test/test_config.yml
|
112
106
|
- test/test_credential_handler.rb
|
113
107
|
- test/test_oauth2_handler.rb
|
114
|
-
- test/test_savon_service.rb
|
115
|
-
- test/test_config.yml
|
116
108
|
- test/test_parameters_validator.rb
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
109
|
+
- test/test_results_extractor.rb
|
110
|
+
- test/test_savon_service.rb
|
111
|
+
- test/test_utils.rb
|
120
112
|
homepage: https://github.com/googleads/google-api-ads-ruby
|
121
113
|
licenses:
|
122
114
|
- Apache-2.0
|
115
|
+
metadata: {}
|
123
116
|
post_install_message:
|
124
117
|
rdoc_options: []
|
125
118
|
require_paths:
|
126
119
|
- lib
|
127
120
|
required_ruby_version: !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
121
|
requirements:
|
130
122
|
- - ! '>='
|
131
123
|
- !ruby/object:Gem::Version
|
132
124
|
version: '0'
|
133
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
-
none: false
|
135
126
|
requirements:
|
136
127
|
- - ! '>='
|
137
128
|
- !ruby/object:Gem::Version
|
138
129
|
version: 1.3.6
|
139
130
|
requirements: []
|
140
131
|
rubyforge_project: google-ads-common
|
141
|
-
rubygems_version:
|
132
|
+
rubygems_version: 2.2.2
|
142
133
|
signing_key:
|
143
|
-
specification_version:
|
134
|
+
specification_version: 4
|
144
135
|
summary: Common code for Google Ads APIs
|
145
136
|
test_files:
|
146
|
-
- test/
|
137
|
+
- test/test_savon_service.rb
|
147
138
|
- test/test_config.rb
|
148
|
-
- test/test_utils.rb
|
149
139
|
- test/test_credential_handler.rb
|
150
|
-
- test/
|
151
|
-
- test/test_savon_service.rb
|
140
|
+
- test/test_utils.rb
|
152
141
|
- test/test_parameters_validator.rb
|
142
|
+
- test/test_oauth2_handler.rb
|
143
|
+
- test/test_results_extractor.rb
|