module Google::Cloud::Webrisk

# Ruby Client for Web Risk API

**This library is deprecated, and will no longer receive updates. Please use the [`google-cloud-web_risk`](rubygems.org/gems/google-cloud-web_risk) library instead. For detailed information on the differences, see the [migration guide](googleapis.dev/ruby/google-cloud-web_risk/latest/file.MIGRATING.html).**

[Web Risk API][Product Documentation]:

## Quick Start In order to use this library, you first need to go through the following steps:

  1. [Select or create a Cloud Platform project.](console.cloud.google.com/project)

  2. [Enable billing for your project.](cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)

  3. [Enable the Web Risk API.](console.cloud.google.com/apis/library/webrisk.googleapis.com)

  4. [Setup Authentication.](googleapis.dev/ruby/google-cloud-webrisk/latest/file.AUTHENTICATION.html)

### Installation “` $ gem install google-cloud-webrisk “`

### Next Steps

[Product Documentation]: cloud.google.com/web-risk

## Enabling Logging

To enable logging for this library, set the logger for the underlying [gRPC](github.com/grpc/grpc/tree/master/src/ruby) library. The logger that you set may be a Ruby stdlib [`Logger`](ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below, or a [`Google::Cloud::Logging::Logger`](googleapis.dev/ruby/google-cloud-logging/latest) that will write logs to [Stackdriver Logging](cloud.google.com/logging/). See [grpc/logconfig.rb](github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb) and the gRPC [spec_helper.rb](github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.

Configuring a Ruby stdlib logger:

“`ruby require “logger”

module MyLogger

LOGGER = Logger.new $stderr, level: Logger::WARN
def logger
  LOGGER
end

end

# Define a gRPC module-level logger method before grpc/logconfig.rb loads. module GRPC

extend MyLogger

end “`

Constants

AVAILABLE_VERSIONS
FILE_DIR

rubocop:enable LineLength

VERSION

Public Class Methods

new(*args, version: :v1beta1, **kwargs) click to toggle source

Web Risk v1beta1 API defines an interface to detect malicious URLs on your website and in client applications.

@param version [Symbol, String]

The major version of the service to be used. By default :v1beta1
is used.

@overload new(version:, credentials:, scopes:, client_config:, timeout:)

@param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
  Provides the means for authenticating requests made by the client. This parameter can
  be many types.
  A `Google::Auth::Credentials` uses a the properties of its represented keyfile for
  authenticating requests made by this client.
  A `String` will be treated as the path to the keyfile to be used for the construction of
  credentials for this client.
  A `Hash` will be treated as the contents of a keyfile to be used for the construction of
  credentials for this client.
  A `GRPC::Core::Channel` will be used to make calls through.
  A `GRPC::Core::ChannelCredentials` for the setting up the RPC client. The channel credentials
  should already be composed with a `GRPC::Core::CallCredentials` object.
  A `Proc` will be used as an updater_proc for the Grpc channel. The proc transforms the
  metadata for requests, generally, to give OAuth credentials.
@param scopes [Array<String>]
  The OAuth scopes for this service. This parameter is ignored if
  an updater_proc is supplied.
@param client_config [Hash]
  A Hash for call options for each method. See
  Google::Gax#construct_settings for the structure of
  this data. Falls back to the default config if not specified
  or the specified config is missing data points.
@param timeout [Numeric]
  The default timeout, in seconds, for calls made through this client.
@param metadata [Hash]
  Default metadata to be sent with each request. This can be overridden on a per call basis.
@param service_address [String]
  Override for the service hostname, or `nil` to leave as the default.
@param service_port [Integer]
  Override for the service port, or `nil` to leave as the default.
@param exception_transformer [Proc]
  An optional proc that intercepts any exceptions raised during an API call to inject
  custom error handling.
# File lib/google/cloud/webrisk.rb, line 135
def self.new(*args, version: :v1beta1, **kwargs)
  unless AVAILABLE_VERSIONS.include?(version.to_s.downcase)
    raise "The version: #{version} is not available. The available versions " \
      "are: [#{AVAILABLE_VERSIONS.join(", ")}]"
  end

  require "#{FILE_DIR}/#{version.to_s.downcase}"
  version_module = Google::Cloud::Webrisk
    .constants
    .select {|sym| sym.to_s.downcase == version.to_s.downcase}
    .first
  Google::Cloud::Webrisk.const_get(version_module).new(*args, **kwargs)
end