Module: Google::Cloud::Firestore
- Defined in:
- lib/google/cloud/firestore.rb,
lib/google/cloud/firestore/batch.rb,
lib/google/cloud/firestore/query.rb,
lib/google/cloud/firestore/client.rb,
lib/google/cloud/firestore/errors.rb,
lib/google/cloud/firestore/filter.rb,
lib/google/cloud/firestore/convert.rb,
lib/google/cloud/firestore/service.rb,
lib/google/cloud/firestore/version.rb,
lib/google/cloud/firestore/generate.rb,
lib/google/cloud/firestore/field_path.rb,
lib/google/cloud/firestore/bulk_writer.rb,
lib/google/cloud/firestore/credentials.rb,
lib/google/cloud/firestore/field_value.rb,
lib/google/cloud/firestore/transaction.rb,
lib/google/cloud/firestore/watch/order.rb,
lib/google/cloud/firestore/rate_limiter.rb,
lib/google/cloud/firestore/resource_path.rb,
lib/google/cloud/firestore/promise/future.rb,
lib/google/cloud/firestore/query_listener.rb,
lib/google/cloud/firestore/query_snapshot.rb,
lib/google/cloud/firestore/watch/listener.rb,
lib/google/cloud/firestore/aggregate_query.rb,
lib/google/cloud/firestore/commit_response.rb,
lib/google/cloud/firestore/document_change.rb,
lib/google/cloud/firestore/query_partition.rb,
lib/google/cloud/firestore/watch/inventory.rb,
lib/google/cloud/firestore/collection_group.rb,
lib/google/cloud/firestore/bulk_commit_batch.rb,
lib/google/cloud/firestore/document_listener.rb,
lib/google/cloud/firestore/document_snapshot.rb,
lib/google/cloud/firestore/document_reference.rb,
lib/google/cloud/firestore/collection_reference.rb,
lib/google/cloud/firestore/bulk_writer_exception.rb,
lib/google/cloud/firestore/bulk_writer_operation.rb,
lib/google/cloud/firestore/bulk_writer_scheduler.rb,
lib/google/cloud/firestore/watch/enumerator_queue.rb,
lib/google/cloud/firestore/document_reference/list.rb,
lib/google/cloud/firestore/aggregate_query_snapshot.rb,
lib/google/cloud/firestore/collection_reference_list.rb
Overview
Cloud Firestore
Cloud Firestore is a NoSQL document database built for automatic scaling, high performance, and ease of application development. While the Cloud Firestore interface has many of the same features as traditional databases, as a NoSQL database it differs from them in the way it describes relationships between data objects.
See Firestore Overview.
Defined Under Namespace
Modules: Promise Classes: AggregateQuery, AggregateQuerySnapshot, Batch, BulkCommitBatchError, BulkWriter, BulkWriterError, BulkWriterException, BulkWriterOperationError, BulkWriterSchedulerError, Client, CollectionGroup, CollectionReference, CommitResponse, Credentials, DocumentChange, DocumentListener, DocumentReference, DocumentSnapshot, FieldPath, FieldValue, Filter, Query, QueryListener, QueryPartition, QuerySnapshot, Transaction
Constant Summary collapse
- VERSION =
"2.16.0".freeze
Class Method Summary collapse
-
.configure {|Google::Cloud.configure.firestore| ... } ⇒ Google::Cloud::Config
Configure the Google Cloud Firestore library.
-
.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, emulator_host: nil, database_id: nil, transport: nil, project: nil, keyfile: nil) ⇒ Google::Cloud::Firestore::Client
Creates a new object for connecting to the Firestore service.
Class Method Details
.configure {|Google::Cloud.configure.firestore| ... } ⇒ Google::Cloud::Config
Configure the Google Cloud Firestore library.
The following Firestore configuration parameters are supported:
project_id
- (String) Identifier for a Firestore project. (The parameterproject
is considered deprecated, but may also be used.)credentials
- (String, Hash, Google::Auth::Credentials) The path to the keyfile as a String, the contents of the keyfile as a Hash, or a Google::Auth::Credentials object. (See Credentials) (The parameterkeyfile
is considered deprecated, but may also be used.)scope
- (String, Array) The OAuth 2.0 scopes controlling the set of resources and operations that the connection can access. quota_project
- (String) The project ID for a project that can be used by client libraries for quota and billing purposes.timeout
- (Integer) Default timeout to use in requests.endpoint
- (String) Override of the endpoint host name, ornil
to use the default endpoint.emulator_host
- (String) Host name of the emulator. Defaults toENV["FIRESTORE_EMULATOR_HOST"]
146 147 148 149 150 |
# File 'lib/google/cloud/firestore.rb', line 146 def self.configure yield Google::Cloud.configure.firestore if block_given? Google::Cloud.configure.firestore end |
.new(project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, emulator_host: nil, database_id: nil, transport: nil, project: nil, keyfile: nil) ⇒ Google::Cloud::Firestore::Client
Creates a new object for connecting to the Firestore service. Each call creates a new connection.
For more information on connecting to Google Cloud see the Authentication Guide.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/google/cloud/firestore.rb', line 77 def self.new project_id: nil, credentials: nil, scope: nil, timeout: nil, endpoint: nil, emulator_host: nil, database_id: nil, transport: nil, project: nil, keyfile: nil project_id ||= project || default_project_id scope ||= configure.scope timeout ||= configure.timeout endpoint ||= configure.endpoint emulator_host ||= configure.emulator_host database_id ||= configure.database_id transport ||= configure.transport if emulator_host project_id = project_id.to_s raise ArgumentError, "project_id is missing" if project_id.empty? service = Firestore::Service.new project_id, :this_channel_is_insecure, host: emulator_host, timeout: timeout, database: database_id, transport: transport return Firestore::Client.new service end credentials ||= keyfile || default_credentials(scope: scope) unless credentials.is_a? Google::Auth::Credentials credentials = Firestore::Credentials.new credentials, scope: scope end if credentials.respond_to? :project_id project_id ||= credentials.project_id end project_id = project_id.to_s raise ArgumentError, "project_id is missing" if project_id.empty? service = Firestore::Service.new project_id, credentials, host: endpoint, timeout: timeout, database: database_id, transport: transport Firestore::Client.new service end |