lib/google/cloud.rb
# Copyright 2015 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 # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # 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/core/version" ## # # Google Cloud # # The google-cloud library is the official library for interacting with Google # Cloud Platform. Google Cloud Platform is a set of modular cloud-based services # that allow you to create anything from simple websites to complex # applications. # # The goal of google-cloud is to provide a API that is familiar and comfortable # to Rubyists. Authentication is handled by providing project and credential # information, or if you are running on Google Compute Engine this configuration # is taken care of for you. # # You can learn more about various options for connection on the [Authentication # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication). # module Google module Cloud ## # Creates a new object for connecting to Google Cloud. # # For more information on connecting to Google Cloud see the [Authentication # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication). # # @param [String] project Project identifier for the Pub/Sub service you are # connecting to. # @param [String, Hash] keyfile Keyfile downloaded from Google Cloud. If # file path the file must be readable. # @param [Integer] retries Number of times to retry requests on server # error. The default value is `3`. Optional. # @param [Integer] timeout Default timeout to use in requests. Optional. # # @return [Google::Cloud] # # @example # require "google/cloud" # # gcloud = Google::Cloud.new # datastore = gcloud.datastore # pubsub = gcloud.pubsub # storage = gcloud.storage # def self.new project = nil, keyfile = nil, retries: nil, timeout: nil gcloud = Object.new gcloud.instance_variable_set "@project", project gcloud.instance_variable_set "@keyfile", keyfile gcloud.instance_variable_set "@retries", retries gcloud.instance_variable_set "@timeout", timeout gcloud.extend Google::Cloud gcloud end end end # Auto-load all Google Cloud service gems. Gem.find_files("google-cloud-*.rb").each do |google_cloud_service| require google_cloud_service end