lib/google/cloud/vision/v1.rb in google-cloud-vision-0.25.0 vs lib/google/cloud/vision/v1.rb in google-cloud-vision-0.26.0

- old
+ new

@@ -1,6 +1,6 @@ -# Copyright 2016 Google Inc. All rights reserved. +# Copyright 2017, Google Inc. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # @@ -11,5 +11,117 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require "google/cloud/vision/v1/image_annotator_client" + +module Google + module Cloud + # rubocop:disable LineLength + + ## + # # Ruby Client for Google Cloud Vision API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning)) + # + # [Google Cloud Vision API][Product Documentation]: + # Integrates Google Vision features, including image labeling, face, logo, and + # landmark detection, optical character recognition (OCR), and detection of + # explicit content, into applications. + # - [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.](https://console.cloud.google.com/project) + # 2. [Enable the Google Cloud Vision API.](https://console.cloud.google.com/apis/api/vision) + # 3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication) + # + # ### Preview + # #### ImageAnnotatorClient + # ```rb + # require "google/cloud/vision/v1" + # + # image_annotator_client = Google::Cloud::Vision::V1.new + # gcs_image_uri = "gs://gapic-toolkit/President_Barack_Obama.jpg" + # source = { gcs_image_uri: gcs_image_uri } + # image = { source: source } + # type = :FACE_DETECTION + # features_element = { type: type } + # features = [features_element] + # requests_element = { image: image, features: features } + # requests = [requests_element] + # response = image_annotator_client.batch_annotate_images(requests) + # ``` + # + # ### Next Steps + # - Read the [Google Cloud Vision API Product documentation][Product Documentation] + # to learn more about the product and see How-to Guides. + # - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md) + # to see the full list of Cloud APIs that we cover. + # + # [Product Documentation]: https://cloud.google.com/vision + # + # + module Vision + module V1 + # rubocop:enable LineLength + + ## + # Service that performs Google Cloud Vision API detection tasks over client + # images, such as face, landmark, logo, label, and text detection. The + # ImageAnnotator service returns detected entities from the images. + # + # @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. + def self.new \ + service_path: nil, + port: nil, + channel: nil, + chan_creds: nil, + updater_proc: nil, + credentials: nil, + scopes: nil, + client_config: nil, + timeout: nil, + lib_name: nil, + lib_version: nil + kwargs = { + service_path: service_path, + port: port, + channel: channel, + chan_creds: chan_creds, + updater_proc: updater_proc, + credentials: credentials, + scopes: scopes, + client_config: client_config, + timeout: timeout, + lib_name: lib_name, + lib_version: lib_version + }.select { |_, v| v != nil } + Google::Cloud::Vision::V1::ImageAnnotatorClient.new(**kwargs) + end + end + end + end +end