google-shopping-merchant-reports-v1beta 0.6.2 → 0.8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 851097e2964a03f4c785f42e6ba7829b47fd1e2bc4d156ab738be616be0ecc87
4
- data.tar.gz: ed39a1dbdaae3348b78d9afc69e48d8baaa4fb92cf61fe2b88ecaa207f9253f9
3
+ metadata.gz: '05690a728eaa472ab4e85db915be7013aac9fb924652945eccff4053d92beaf5'
4
+ data.tar.gz: 84d25a334677fef739c1b2ade944896c2456a0fb9093fefaa563360e9faa9fea
5
5
  SHA512:
6
- metadata.gz: 853a620e63e78d1bd3af61543325bdc1812e8050dc0ef9b092cfc167bff526a794520980505bf82f1a8d57fc704ada4067b506d5492281d79f803f35df3935bc
7
- data.tar.gz: 6acd6ad7d7423cd1030dd17805871401ea1119fb24e095ebccd61101657fa088f44b57aff5ed5e84b2048ed179d88c04172f2f63ed3169dc2de7901540379a04
6
+ metadata.gz: 6224641bc0cf34a850d1a1262a8a6bd44c5bd09263ba0f8db4ff0216efa4d613a7630a780c2cacbdd21f2bfeca2cd9a53bfd7098d25d2e2fe00b9d4e6873748a
7
+ data.tar.gz: ced58419f377262b62d3a5a57818ceb1713bb28003dc22d93df6a04f072978a4020a1c2aac57249d51b28d26905ca0e2e77066ab106595df8a5c96f9a50933ca
data/README.md CHANGED
@@ -42,40 +42,50 @@ for class and method documentation.
42
42
  See also the [Product Documentation](https://developers.google.com/merchant/api)
43
43
  for general usage information.
44
44
 
45
- ## Enabling Logging
46
-
47
- To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
48
- The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
49
- or a [`Google::Cloud::Logging::Logger`](https://cloud.google.com/ruby/docs/reference/google-cloud-logging/latest)
50
- that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
51
- and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
52
-
53
- Configuring a Ruby stdlib logger:
45
+ ## Debug Logging
46
+
47
+ This library comes with opt-in Debug Logging that can help you troubleshoot
48
+ your application's integration with the API. When logging is activated, key
49
+ events such as requests and responses, along with data payloads and metadata
50
+ such as headers and client configuration, are logged to the standard error
51
+ stream.
52
+
53
+ **WARNING:** Client Library Debug Logging includes your data payloads in
54
+ plaintext, which could include sensitive data such as PII for yourself or your
55
+ customers, private keys, or other security data that could be compromising if
56
+ leaked. Always practice good data hygiene with your application logs, and follow
57
+ the principle of least access. Google also recommends that Client Library Debug
58
+ Logging be enabled only temporarily during active debugging, and not used
59
+ permanently in production.
60
+
61
+ To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
62
+ to the value `all`. Alternatively, you can set the value to a comma-delimited
63
+ list of client library gem names. This will select the default logging behavior,
64
+ which writes logs to the standard error stream. On a local workstation, this may
65
+ result in logs appearing on the console. When running on a Google Cloud hosting
66
+ service such as [Google Cloud Run](https://cloud.google.com/run), this generally
67
+ results in logs appearing alongside your application logs in the
68
+ [Google Cloud Logging](https://cloud.google.com/logging/) service.
69
+
70
+ You can customize logging by modifying the `logger` configuration when
71
+ constructing a client object. For example:
54
72
 
55
73
  ```ruby
74
+ require "google/shopping/merchant/reports/v1beta"
56
75
  require "logger"
57
76
 
58
- module MyLogger
59
- LOGGER = Logger.new $stderr, level: Logger::WARN
60
- def logger
61
- LOGGER
62
- end
63
- end
64
-
65
- # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
66
- module GRPC
67
- extend MyLogger
77
+ client = ::Google::Shopping::Merchant::Reports::V1beta::ReportService::Client.new do |config|
78
+ config.logger = Logger.new "my-app.log"
68
79
  end
69
80
  ```
70
81
 
71
-
72
82
  ## Google Cloud Samples
73
83
 
74
84
  To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
75
85
 
76
86
  ## Supported Ruby Versions
77
87
 
78
- This library is supported on Ruby 2.7+.
88
+ This library is supported on Ruby 3.0+.
79
89
 
80
90
  Google provides official support for Ruby versions that are actively supported
81
91
  by Ruby Core—that is, Ruby versions that are either in normal maintenance or
@@ -162,8 +162,28 @@ module Google
162
162
  universe_domain: @config.universe_domain,
163
163
  channel_args: @config.channel_args,
164
164
  interceptors: @config.interceptors,
165
- channel_pool_config: @config.channel_pool
165
+ channel_pool_config: @config.channel_pool,
166
+ logger: @config.logger
166
167
  )
168
+
169
+ @report_service_stub.stub_logger&.info do |entry|
170
+ entry.set_system_name
171
+ entry.set_service
172
+ entry.message = "Created client for #{entry.service}"
173
+ entry.set_credentials_fields credentials
174
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
175
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
176
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
177
+ end
178
+ end
179
+
180
+ ##
181
+ # The logger used for request/response debug logging.
182
+ #
183
+ # @return [Logger]
184
+ #
185
+ def logger
186
+ @report_service_stub.logger
167
187
  end
168
188
 
169
189
  # Service calls
@@ -270,7 +290,7 @@ module Google
270
290
  @report_service_stub.call_rpc :search, request, options: options do |response, operation|
271
291
  response = ::Gapic::PagedEnumerable.new @report_service_stub, :search, request, response, operation, options
272
292
  yield response, operation if block_given?
273
- return response
293
+ throw :response, response
274
294
  end
275
295
  rescue ::GRPC::BadStatus => e
276
296
  raise ::Google::Cloud::Error.from_error(e)
@@ -320,6 +340,13 @@ module Google
320
340
  # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
321
341
  # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
322
342
  # * (`nil`) indicating no credentials
343
+ #
344
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
345
+ # external source for authentication to Google Cloud, you must validate it before
346
+ # providing it to a Google API client library. Providing an unvalidated credential
347
+ # configuration to Google APIs can compromise the security of your systems and data.
348
+ # For more information, refer to [Validate credential configurations from external
349
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
323
350
  # @return [::Object]
324
351
  # @!attribute [rw] scope
325
352
  # The OAuth scopes
@@ -359,6 +386,11 @@ module Google
359
386
  # default endpoint URL. The default value of nil uses the environment
360
387
  # universe (usually the default "googleapis.com" universe).
361
388
  # @return [::String,nil]
389
+ # @!attribute [rw] logger
390
+ # A custom logger to use for request/response debug logging, or the value
391
+ # `:default` (the default) to construct a default logger, or `nil` to
392
+ # explicitly disable logging.
393
+ # @return [::Logger,:default,nil]
362
394
  #
363
395
  class Configuration
364
396
  extend ::Gapic::Config
@@ -383,6 +415,7 @@ module Google
383
415
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
384
416
  config_attr :quota_project, nil, ::String, nil
385
417
  config_attr :universe_domain, nil, ::String, nil
418
+ config_attr :logger, :default, ::Logger, nil, :default
386
419
 
387
420
  # @private
388
421
  def initialize parent_config = nil
@@ -155,8 +155,28 @@ module Google
155
155
  endpoint: @config.endpoint,
156
156
  endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
157
157
  universe_domain: @config.universe_domain,
158
- credentials: credentials
158
+ credentials: credentials,
159
+ logger: @config.logger
159
160
  )
161
+
162
+ @report_service_stub.logger(stub: true)&.info do |entry|
163
+ entry.set_system_name
164
+ entry.set_service
165
+ entry.message = "Created client for #{entry.service}"
166
+ entry.set_credentials_fields credentials
167
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
168
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
169
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
170
+ end
171
+ end
172
+
173
+ ##
174
+ # The logger used for request/response debug logging.
175
+ #
176
+ # @return [Logger]
177
+ #
178
+ def logger
179
+ @report_service_stub.logger
160
180
  end
161
181
 
162
182
  # Service calls
@@ -256,7 +276,7 @@ module Google
256
276
  @report_service_stub.search request, options do |result, operation|
257
277
  result = ::Gapic::Rest::PagedEnumerable.new @report_service_stub, :search, "results", request, result, options
258
278
  yield result, operation if block_given?
259
- return result
279
+ throw :response, result
260
280
  end
261
281
  rescue ::Gapic::Rest::Error => e
262
282
  raise ::Google::Cloud::Error.from_error(e)
@@ -304,6 +324,13 @@ module Google
304
324
  # * (`Signet::OAuth2::Client`) A signet oauth2 client object
305
325
  # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
306
326
  # * (`nil`) indicating no credentials
327
+ #
328
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
329
+ # external source for authentication to Google Cloud, you must validate it before
330
+ # providing it to a Google API client library. Providing an unvalidated credential
331
+ # configuration to Google APIs can compromise the security of your systems and data.
332
+ # For more information, refer to [Validate credential configurations from external
333
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
307
334
  # @return [::Object]
308
335
  # @!attribute [rw] scope
309
336
  # The OAuth scopes
@@ -336,6 +363,11 @@ module Google
336
363
  # default endpoint URL. The default value of nil uses the environment
337
364
  # universe (usually the default "googleapis.com" universe).
338
365
  # @return [::String,nil]
366
+ # @!attribute [rw] logger
367
+ # A custom logger to use for request/response debug logging, or the value
368
+ # `:default` (the default) to construct a default logger, or `nil` to
369
+ # explicitly disable logging.
370
+ # @return [::Logger,:default,nil]
339
371
  #
340
372
  class Configuration
341
373
  extend ::Gapic::Config
@@ -357,6 +389,7 @@ module Google
357
389
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
358
390
  config_attr :quota_project, nil, ::String, nil
359
391
  config_attr :universe_domain, nil, ::String, nil
392
+ config_attr :logger, :default, ::Logger, nil, :default
360
393
 
361
394
  # @private
362
395
  def initialize parent_config = nil
@@ -31,7 +31,8 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
34
+ # @private
35
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
35
36
  # These require statements are intentionally placed here to initialize
36
37
  # the REST modules only when it's required.
37
38
  require "gapic/rest"
@@ -41,7 +42,9 @@ module Google
41
42
  universe_domain: universe_domain,
42
43
  credentials: credentials,
43
44
  numeric_enums: true,
44
- raise_faraday_errors: false
45
+ service_name: self.class,
46
+ raise_faraday_errors: false,
47
+ logger: logger
45
48
  end
46
49
 
47
50
  ##
@@ -62,6 +65,15 @@ module Google
62
65
  @client_stub.endpoint
63
66
  end
64
67
 
68
+ ##
69
+ # The logger used for request/response debug logging.
70
+ #
71
+ # @return [Logger]
72
+ #
73
+ def logger stub: false
74
+ stub ? @client_stub.stub_logger : @client_stub.logger
75
+ end
76
+
65
77
  ##
66
78
  # Baseline implementation for the search REST call
67
79
  #
@@ -88,16 +100,18 @@ module Google
88
100
 
89
101
  response = @client_stub.make_http_request(
90
102
  verb,
91
- uri: uri,
92
- body: body || "",
93
- params: query_string_params,
103
+ uri: uri,
104
+ body: body || "",
105
+ params: query_string_params,
106
+ method_name: "search",
94
107
  options: options
95
108
  )
96
109
  operation = ::Gapic::Rest::TransportOperation.new response
97
110
  result = ::Google::Shopping::Merchant::Reports::V1beta::SearchResponse.decode_json response.body, ignore_unknown_fields: true
98
-
99
- yield result, operation if block_given?
100
- result
111
+ catch :response do
112
+ yield result, operation if block_given?
113
+ result
114
+ end
101
115
  end
102
116
 
103
117
  ##
@@ -22,7 +22,7 @@ module Google
22
22
  module Merchant
23
23
  module Reports
24
24
  module V1beta
25
- VERSION = "0.6.2"
25
+ VERSION = "0.8.0"
26
26
  end
27
27
  end
28
28
  end
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -297,9 +306,28 @@ module Google
297
306
  # @!attribute [rw] common
298
307
  # @return [::Google::Api::CommonLanguageSettings]
299
308
  # Some settings.
309
+ # @!attribute [rw] renamed_services
310
+ # @return [::Google::Protobuf::Map{::String => ::String}]
311
+ # Map of service names to renamed services. Keys are the package relative
312
+ # service names and values are the name to be used for the service client
313
+ # and call options.
314
+ #
315
+ # publishing:
316
+ # go_settings:
317
+ # renamed_services:
318
+ # Publisher: TopicAdmin
300
319
  class GoSettings
301
320
  include ::Google::Protobuf::MessageExts
302
321
  extend ::Google::Protobuf::MessageExts::ClassMethods
322
+
323
+ # @!attribute [rw] key
324
+ # @return [::String]
325
+ # @!attribute [rw] value
326
+ # @return [::String]
327
+ class RenamedServicesEntry
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
303
331
  end
304
332
 
305
333
  # Describes the generator configuration for a method.
@@ -375,6 +403,17 @@ module Google
375
403
  end
376
404
  end
377
405
 
406
+ # This message is used to configure the generation of a subset of the RPCs in
407
+ # a service for client libraries.
408
+ # @!attribute [rw] methods
409
+ # @return [::Array<::String>]
410
+ # An allowlist of the fully qualified names of RPCs that should be included
411
+ # on public client surfaces.
412
+ class SelectiveGapicGeneration
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+
378
417
  # The organization for which the client libraries are being published.
379
418
  # Affects the url where generated docs are published, etc.
380
419
  module ClientLibraryOrganization
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-shopping-merchant-reports-v1beta
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-08-30 00:00:00.000000000 Z
10
+ date: 2025-01-29 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.21.1
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.21.1
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -103,7 +102,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
103
102
  licenses:
104
103
  - Apache-2.0
105
104
  metadata: {}
106
- post_install_message:
107
105
  rdoc_options: []
108
106
  require_paths:
109
107
  - lib
@@ -111,15 +109,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
111
109
  requirements:
112
110
  - - ">="
113
111
  - !ruby/object:Gem::Version
114
- version: '2.7'
112
+ version: '3.0'
115
113
  required_rubygems_version: !ruby/object:Gem::Requirement
116
114
  requirements:
117
115
  - - ">="
118
116
  - !ruby/object:Gem::Version
119
117
  version: '0'
120
118
  requirements: []
121
- rubygems_version: 3.5.6
122
- signing_key:
119
+ rubygems_version: 3.6.2
123
120
  specification_version: 4
124
121
  summary: Programmatically manage your Merchant Center accounts.
125
122
  test_files: []