gcloud 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/AUTHENTICATION.md +3 -3
- data/CHANGELOG.md +12 -0
- data/OVERVIEW.md +30 -0
- data/lib/gcloud.rb +126 -9
- data/lib/gcloud/bigquery.rb +399 -0
- data/lib/gcloud/bigquery/connection.rb +592 -0
- data/lib/gcloud/bigquery/copy_job.rb +98 -0
- data/lib/gcloud/bigquery/credentials.rb +29 -0
- data/lib/gcloud/bigquery/data.rb +134 -0
- data/lib/gcloud/bigquery/dataset.rb +662 -0
- data/lib/gcloud/bigquery/dataset/list.rb +51 -0
- data/lib/gcloud/bigquery/errors.rb +62 -0
- data/lib/gcloud/bigquery/extract_job.rb +117 -0
- data/lib/gcloud/bigquery/insert_response.rb +80 -0
- data/lib/gcloud/bigquery/job.rb +283 -0
- data/lib/gcloud/bigquery/job/list.rb +55 -0
- data/lib/gcloud/bigquery/load_job.rb +199 -0
- data/lib/gcloud/bigquery/project.rb +512 -0
- data/lib/gcloud/bigquery/query_data.rb +135 -0
- data/lib/gcloud/bigquery/query_job.rb +151 -0
- data/lib/gcloud/bigquery/table.rb +827 -0
- data/lib/gcloud/bigquery/table/list.rb +55 -0
- data/lib/gcloud/bigquery/view.rb +419 -0
- data/lib/gcloud/credentials.rb +3 -3
- data/lib/gcloud/datastore.rb +15 -3
- data/lib/gcloud/datastore/credentials.rb +3 -2
- data/lib/gcloud/datastore/dataset.rb +5 -1
- data/lib/gcloud/datastore/transaction.rb +1 -1
- data/lib/gcloud/pubsub.rb +14 -3
- data/lib/gcloud/pubsub/credentials.rb +4 -4
- data/lib/gcloud/pubsub/project.rb +5 -1
- data/lib/gcloud/pubsub/topic.rb +5 -0
- data/lib/gcloud/storage.rb +14 -24
- data/lib/gcloud/storage/bucket.rb +10 -4
- data/lib/gcloud/storage/credentials.rb +3 -2
- data/lib/gcloud/storage/file.rb +8 -1
- data/lib/gcloud/storage/project.rb +5 -1
- data/lib/gcloud/upload.rb +54 -0
- data/lib/gcloud/version.rb +1 -1
- metadata +78 -2
data/lib/gcloud/credentials.rb
CHANGED
@@ -29,8 +29,8 @@ module Gcloud
|
|
29
29
|
TOKEN_CREDENTIAL_URI = "https://accounts.google.com/o/oauth2/token"
|
30
30
|
AUDIENCE = "https://accounts.google.com/o/oauth2/token"
|
31
31
|
SCOPE = []
|
32
|
-
PATH_ENV_VARS =
|
33
|
-
JSON_ENV_VARS =
|
32
|
+
PATH_ENV_VARS = %w(GCLOUD_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
33
|
+
JSON_ENV_VARS = %w(GCLOUD_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON)
|
34
34
|
DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
|
35
35
|
|
36
36
|
attr_accessor :client
|
@@ -133,7 +133,7 @@ module Gcloud
|
|
133
133
|
# client options for initializing signet client
|
134
134
|
{ token_credential_uri: options["token_credential_uri"],
|
135
135
|
audience: options["audience"],
|
136
|
-
scope: options["scope"],
|
136
|
+
scope: Array(options["scope"]),
|
137
137
|
issuer: options["client_email"],
|
138
138
|
signing_key: OpenSSL::PKey::RSA.new(options["private_key"]) }
|
139
139
|
end
|
data/lib/gcloud/datastore.rb
CHANGED
@@ -33,6 +33,18 @@ module Gcloud
|
|
33
33
|
# +keyfile+::
|
34
34
|
# Keyfile downloaded from Google Cloud. If file path the file must be
|
35
35
|
# readable. (+String+ or +Hash+)
|
36
|
+
# +options+::
|
37
|
+
# An optional Hash for controlling additional behavior. (+Hash+)
|
38
|
+
# <code>options[:scope]</code>::
|
39
|
+
# The OAuth 2.0 scopes controlling the set of resources and operations that
|
40
|
+
# the connection can access. See {Using OAuth 2.0 to Access Google
|
41
|
+
# APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
|
42
|
+
# or +Array+)
|
43
|
+
#
|
44
|
+
# The default scopes are:
|
45
|
+
#
|
46
|
+
# * +https://www.googleapis.com/auth/datastore+
|
47
|
+
# * +https://www.googleapis.com/auth/userinfo.email+
|
36
48
|
#
|
37
49
|
# === Returns
|
38
50
|
#
|
@@ -52,12 +64,12 @@ module Gcloud
|
|
52
64
|
#
|
53
65
|
# dataset.save entity
|
54
66
|
#
|
55
|
-
def self.datastore project = nil, keyfile = nil
|
67
|
+
def self.datastore project = nil, keyfile = nil, options = {}
|
56
68
|
project ||= Gcloud::Datastore::Dataset.default_project
|
57
69
|
if keyfile.nil?
|
58
|
-
credentials = Gcloud::Datastore::Credentials.default
|
70
|
+
credentials = Gcloud::Datastore::Credentials.default options
|
59
71
|
else
|
60
|
-
credentials = Gcloud::Datastore::Credentials.new keyfile
|
72
|
+
credentials = Gcloud::Datastore::Credentials.new keyfile, options
|
61
73
|
end
|
62
74
|
Gcloud::Datastore::Dataset.new project, credentials
|
63
75
|
end
|
@@ -26,8 +26,9 @@ module Gcloud
|
|
26
26
|
class Credentials < Gcloud::Credentials #:nodoc:
|
27
27
|
SCOPE = ["https://www.googleapis.com/auth/datastore",
|
28
28
|
"https://www.googleapis.com/auth/userinfo.email"]
|
29
|
-
PATH_ENV_VARS = %w(DATASTORE_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
30
|
-
JSON_ENV_VARS = %w(DATASTORE_KEYFILE_JSON
|
29
|
+
PATH_ENV_VARS = %w(DATASTORE_KEYFILE GCLOUD_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
30
|
+
JSON_ENV_VARS = %w(DATASTORE_KEYFILE_JSON GCLOUD_KEYFILE_JSON
|
31
|
+
GOOGLE_CLOUD_KEYFILE_JSON)
|
31
32
|
|
32
33
|
##
|
33
34
|
# Sign OAuth 2.0 API calls.
|
@@ -52,6 +52,8 @@ module Gcloud
|
|
52
52
|
#
|
53
53
|
# See Gcloud#datastore
|
54
54
|
def initialize project, credentials #:nodoc:
|
55
|
+
project = project.to_s # Always cast to a string
|
56
|
+
fail ArgumentError, "project is missing" if project.empty?
|
55
57
|
@connection = Connection.new project, credentials
|
56
58
|
end
|
57
59
|
|
@@ -75,7 +77,9 @@ module Gcloud
|
|
75
77
|
##
|
76
78
|
# Default project.
|
77
79
|
def self.default_project #:nodoc:
|
78
|
-
ENV["DATASTORE_PROJECT"] ||
|
80
|
+
ENV["DATASTORE_PROJECT"] ||
|
81
|
+
ENV["GCLOUD_PROJECT"] ||
|
82
|
+
ENV["GOOGLE_CLOUD_PROJECT"]
|
79
83
|
end
|
80
84
|
|
81
85
|
##
|
data/lib/gcloud/pubsub.rb
CHANGED
@@ -31,6 +31,17 @@ module Gcloud
|
|
31
31
|
# +keyfile+::
|
32
32
|
# Keyfile downloaded from Google Cloud. If file path the file must be
|
33
33
|
# readable. (+String+ or +Hash+)
|
34
|
+
# +options+::
|
35
|
+
# An optional Hash for controlling additional behavior. (+Hash+)
|
36
|
+
# <code>options[:scope]</code>::
|
37
|
+
# The OAuth 2.0 scopes controlling the set of resources and operations that
|
38
|
+
# the connection can access. See {Using OAuth 2.0 to Access Google
|
39
|
+
# APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
|
40
|
+
# or +Array+)
|
41
|
+
#
|
42
|
+
# The default scope is:
|
43
|
+
#
|
44
|
+
# * +https://www.googleapis.com/auth/pubsub+
|
34
45
|
#
|
35
46
|
# === Returns
|
36
47
|
#
|
@@ -45,12 +56,12 @@ module Gcloud
|
|
45
56
|
# topic = pubsub.topic "my-topic"
|
46
57
|
# topic.publish "task completed"
|
47
58
|
#
|
48
|
-
def self.pubsub project = nil, keyfile = nil
|
59
|
+
def self.pubsub project = nil, keyfile = nil, options = {}
|
49
60
|
project ||= Gcloud::Pubsub::Project.default_project
|
50
61
|
if keyfile.nil?
|
51
|
-
credentials = Gcloud::Pubsub::Credentials.default
|
62
|
+
credentials = Gcloud::Pubsub::Credentials.default options
|
52
63
|
else
|
53
|
-
credentials = Gcloud::Pubsub::Credentials.new keyfile
|
64
|
+
credentials = Gcloud::Pubsub::Credentials.new keyfile, options
|
54
65
|
end
|
55
66
|
Gcloud::Pubsub::Project.new project, credentials
|
56
67
|
end
|
@@ -20,10 +20,10 @@ module Gcloud
|
|
20
20
|
##
|
21
21
|
# Represents the OAuth 2.0 signing logic for Pub/Sub.
|
22
22
|
class Credentials < Gcloud::Credentials #:nodoc:
|
23
|
-
SCOPE = ["https://www.googleapis.com/auth/pubsub"
|
24
|
-
|
25
|
-
|
26
|
-
|
23
|
+
SCOPE = ["https://www.googleapis.com/auth/pubsub"]
|
24
|
+
PATH_ENV_VARS = %w(PUBSUB_KEYFILE GCLOUD_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
25
|
+
JSON_ENV_VARS = %w(PUBSUB_KEYFILE_JSON GCLOUD_KEYFILE_JSON
|
26
|
+
GOOGLE_CLOUD_KEYFILE_JSON)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -47,6 +47,8 @@ module Gcloud
|
|
47
47
|
##
|
48
48
|
# Creates a new Connection instance.
|
49
49
|
def initialize project, credentials #:nodoc:
|
50
|
+
project = project.to_s # Always cast to a string
|
51
|
+
fail ArgumentError, "project is missing" if project.empty?
|
50
52
|
@connection = Connection.new project, credentials
|
51
53
|
end
|
52
54
|
|
@@ -69,7 +71,9 @@ module Gcloud
|
|
69
71
|
##
|
70
72
|
# Default project.
|
71
73
|
def self.default_project #:nodoc:
|
72
|
-
ENV["PUBSUB_PROJECT"] ||
|
74
|
+
ENV["PUBSUB_PROJECT"] ||
|
75
|
+
ENV["GCLOUD_PROJECT"] ||
|
76
|
+
ENV["GOOGLE_CLOUD_PROJECT"]
|
73
77
|
end
|
74
78
|
|
75
79
|
##
|
data/lib/gcloud/pubsub/topic.rb
CHANGED
@@ -512,6 +512,9 @@ module Gcloud
|
|
512
512
|
@gapi.nil?
|
513
513
|
end
|
514
514
|
|
515
|
+
# rubocop:disable Style/TrivialAccessors
|
516
|
+
# Disabled rubocop because you can't use "?" in an attr.
|
517
|
+
|
515
518
|
##
|
516
519
|
# Determines whether the lazy topic object should create a topic on the
|
517
520
|
# Pub/Sub service.
|
@@ -530,6 +533,8 @@ module Gcloud
|
|
530
533
|
@autocreate
|
531
534
|
end
|
532
535
|
|
536
|
+
# rubocop:enable Style/TrivialAccessors
|
537
|
+
|
533
538
|
##
|
534
539
|
# New Topic from a Google API Client object.
|
535
540
|
def self.from_gapi gapi, conn #:nodoc:
|
data/lib/gcloud/storage.rb
CHANGED
@@ -31,6 +31,17 @@ module Gcloud
|
|
31
31
|
# +keyfile+::
|
32
32
|
# Keyfile downloaded from Google Cloud. If file path the file must be
|
33
33
|
# readable. (+String+ or +Hash+)
|
34
|
+
# +options+::
|
35
|
+
# An optional Hash for controlling additional behavior. (+Hash+)
|
36
|
+
# <code>options[:scope]</code>::
|
37
|
+
# The OAuth 2.0 scopes controlling the set of resources and operations that
|
38
|
+
# the connection can access. See {Using OAuth 2.0 to Access Google
|
39
|
+
# APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
|
40
|
+
# or +Array+)
|
41
|
+
#
|
42
|
+
# The default scope is:
|
43
|
+
#
|
44
|
+
# * +https://www.googleapis.com/auth/devstorage.full_control+
|
34
45
|
#
|
35
46
|
# === Returns
|
36
47
|
#
|
@@ -46,12 +57,12 @@ module Gcloud
|
|
46
57
|
# bucket = storage.bucket "my-bucket"
|
47
58
|
# file = bucket.file "path/to/my-file.ext"
|
48
59
|
#
|
49
|
-
def self.storage project = nil, keyfile = nil
|
60
|
+
def self.storage project = nil, keyfile = nil, options = {}
|
50
61
|
project ||= Gcloud::Storage::Project.default_project
|
51
62
|
if keyfile.nil?
|
52
|
-
credentials = Gcloud::Storage::Credentials.default
|
63
|
+
credentials = Gcloud::Storage::Credentials.default options
|
53
64
|
else
|
54
|
-
credentials = Gcloud::Storage::Credentials.new keyfile
|
65
|
+
credentials = Gcloud::Storage::Credentials.new keyfile, options
|
55
66
|
end
|
56
67
|
Gcloud::Storage::Project.new project, credentials
|
57
68
|
end
|
@@ -338,26 +349,5 @@ module Gcloud
|
|
338
349
|
# file.acl.public!
|
339
350
|
#
|
340
351
|
module Storage
|
341
|
-
##
|
342
|
-
# Retrieve resumable threshold.
|
343
|
-
# If uploads are larger in size than this value then
|
344
|
-
# resumable uploads are used.
|
345
|
-
#
|
346
|
-
# The default value is 5 MiB (5,000,000 bytes).
|
347
|
-
def self.resumable_threshold
|
348
|
-
@@resumable_threshold
|
349
|
-
end
|
350
|
-
|
351
|
-
##
|
352
|
-
# Sets a new resumable threshold value.
|
353
|
-
def self.resumable_threshold= new_resumable_threshold
|
354
|
-
# rubocop:disable Style/ClassVars
|
355
|
-
# Disabled rubocop because this is the best option.
|
356
|
-
@@resumable_threshold = new_resumable_threshold.to_i
|
357
|
-
# rubocop:enable Style/ClassVars
|
358
|
-
end
|
359
|
-
|
360
|
-
# Set the default threshold to 5 MiB.
|
361
|
-
self.resumable_threshold = 5_000_000
|
362
352
|
end
|
363
353
|
end
|
@@ -16,6 +16,7 @@
|
|
16
16
|
require "gcloud/storage/bucket/acl"
|
17
17
|
require "gcloud/storage/bucket/list"
|
18
18
|
require "gcloud/storage/file"
|
19
|
+
require "gcloud/upload"
|
19
20
|
|
20
21
|
module Gcloud
|
21
22
|
module Storage
|
@@ -325,9 +326,7 @@ module Gcloud
|
|
325
326
|
#
|
326
327
|
def create_file file, path = nil, options = {}
|
327
328
|
ensure_connection!
|
328
|
-
|
329
|
-
# ensure_file_exists!
|
330
|
-
fail unless ::File.file? file
|
329
|
+
ensure_file_exists! file
|
331
330
|
|
332
331
|
options[:acl] = File::Acl.predefined_rule_for options[:acl]
|
333
332
|
|
@@ -465,10 +464,17 @@ module Gcloud
|
|
465
464
|
fail "Must have active connection" unless connection
|
466
465
|
end
|
467
466
|
|
467
|
+
##
|
468
|
+
# Raise an error if the file is not found.
|
469
|
+
def ensure_file_exists! file
|
470
|
+
return if ::File.file? file
|
471
|
+
fail ArgumentError, "cannot find file #{file}"
|
472
|
+
end
|
473
|
+
|
468
474
|
##
|
469
475
|
# Determines if a resumable upload should be used.
|
470
476
|
def resumable_upload? file #:nodoc:
|
471
|
-
::File.size?(file).to_i >
|
477
|
+
::File.size?(file).to_i > Upload.resumable_threshold
|
472
478
|
end
|
473
479
|
|
474
480
|
def upload_multipart file, path, options = {}
|
@@ -21,8 +21,9 @@ module Gcloud
|
|
21
21
|
# Represents the OAuth 2.0 signing logic for Storage.
|
22
22
|
class Credentials < Gcloud::Credentials #:nodoc:
|
23
23
|
SCOPE = ["https://www.googleapis.com/auth/devstorage.full_control"]
|
24
|
-
PATH_ENV_VARS = %w(STORAGE_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
25
|
-
JSON_ENV_VARS = %w(STORAGE_KEYFILE_JSON
|
24
|
+
PATH_ENV_VARS = %w(STORAGE_KEYFILE GCLOUD_KEYFILE GOOGLE_CLOUD_KEYFILE)
|
25
|
+
JSON_ENV_VARS = %w(STORAGE_KEYFILE_JSON GCLOUD_KEYFILE_JSON
|
26
|
+
GOOGLE_CLOUD_KEYFILE_JSON)
|
26
27
|
end
|
27
28
|
end
|
28
29
|
end
|
data/lib/gcloud/storage/file.rb
CHANGED
@@ -463,6 +463,13 @@ module Gcloud
|
|
463
463
|
@acl ||= File::Acl.new self
|
464
464
|
end
|
465
465
|
|
466
|
+
##
|
467
|
+
# URI of the location and file name in the format of
|
468
|
+
# <code>gs://my-bucket/file-name.json</code>.
|
469
|
+
def to_gs_url #:nodoc:
|
470
|
+
"gs://#{bucket}/#{name}"
|
471
|
+
end
|
472
|
+
|
466
473
|
##
|
467
474
|
# New File from a Google API Client object.
|
468
475
|
def self.from_gapi gapi, conn #:nodoc:
|
@@ -561,7 +568,7 @@ module Gcloud
|
|
561
568
|
end
|
562
569
|
|
563
570
|
def generate_signed_url issuer, signed_string, expires
|
564
|
-
signature = Base64.encode64(signed_string).
|
571
|
+
signature = Base64.encode64(signed_string).delete("\n")
|
565
572
|
"#{ext_url}?GoogleAccessId=#{CGI.escape issuer}" \
|
566
573
|
"&Expires=#{expires}" \
|
567
574
|
"&Signature=#{CGI.escape signature}"
|
@@ -52,6 +52,8 @@ module Gcloud
|
|
52
52
|
#
|
53
53
|
# See Gcloud#storage
|
54
54
|
def initialize project, credentials #:nodoc:
|
55
|
+
project = project.to_s # Always cast to a string
|
56
|
+
fail ArgumentError, "project is missing" if project.empty?
|
55
57
|
@connection = Connection.new project, credentials
|
56
58
|
end
|
57
59
|
|
@@ -75,7 +77,9 @@ module Gcloud
|
|
75
77
|
##
|
76
78
|
# Default project.
|
77
79
|
def self.default_project #:nodoc:
|
78
|
-
ENV["STORAGE_PROJECT"] ||
|
80
|
+
ENV["STORAGE_PROJECT"] ||
|
81
|
+
ENV["GCLOUD_PROJECT"] ||
|
82
|
+
ENV["GOOGLE_CLOUD_PROJECT"]
|
79
83
|
end
|
80
84
|
|
81
85
|
##
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2014 Google Inc. All rights reserved.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
require "gcloud"
|
17
|
+
|
18
|
+
#--
|
19
|
+
# Google Cloud Upload
|
20
|
+
module Gcloud
|
21
|
+
##
|
22
|
+
# = Upload Settings
|
23
|
+
#
|
24
|
+
# Upload allows users to configure how files are uploaded to the Google Cloud
|
25
|
+
# Service APIs.
|
26
|
+
#
|
27
|
+
# require "gcloud/upload"
|
28
|
+
#
|
29
|
+
# # Set the default threshold to 10 MiB.
|
30
|
+
# Gcloud::Upload.resumable_threshold = 10_000_000
|
31
|
+
module Upload
|
32
|
+
##
|
33
|
+
# Retrieve resumable threshold.
|
34
|
+
# If uploads are larger in size than this value then
|
35
|
+
# resumable uploads are used.
|
36
|
+
#
|
37
|
+
# The default value is 5 MiB (5,000,000 bytes).
|
38
|
+
def self.resumable_threshold
|
39
|
+
@@resumable_threshold
|
40
|
+
end
|
41
|
+
|
42
|
+
##
|
43
|
+
# Sets a new resumable threshold value.
|
44
|
+
def self.resumable_threshold= new_resumable_threshold
|
45
|
+
# rubocop:disable Style/ClassVars
|
46
|
+
# Disabled rubocop because this is the best option.
|
47
|
+
@@resumable_threshold = new_resumable_threshold.to_i
|
48
|
+
# rubocop:enable Style/ClassVars
|
49
|
+
end
|
50
|
+
|
51
|
+
# Set the default threshold to 5 MiB.
|
52
|
+
self.resumable_threshold = 5_000_000
|
53
|
+
end
|
54
|
+
end
|
data/lib/gcloud/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Silvano Luciani
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-08-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beefcake
|
@@ -81,6 +81,62 @@ dependencies:
|
|
81
81
|
- - ~>
|
82
82
|
- !ruby/object:Gem::Version
|
83
83
|
version: '5.7'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: minitest-autotest
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '1.0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '1.0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: minitest-focus
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '1.1'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ~>
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '1.1'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: minitest-rg
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ~>
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '5.2'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '5.2'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: autotest-suffix
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ~>
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '1.1'
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - ~>
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '1.1'
|
84
140
|
- !ruby/object:Gem::Dependency
|
85
141
|
name: rdoc
|
86
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,6 +223,25 @@ files:
|
|
167
223
|
- OVERVIEW.md
|
168
224
|
- lib/gcloud.rb
|
169
225
|
- lib/gcloud/backoff.rb
|
226
|
+
- lib/gcloud/bigquery.rb
|
227
|
+
- lib/gcloud/bigquery/connection.rb
|
228
|
+
- lib/gcloud/bigquery/copy_job.rb
|
229
|
+
- lib/gcloud/bigquery/credentials.rb
|
230
|
+
- lib/gcloud/bigquery/data.rb
|
231
|
+
- lib/gcloud/bigquery/dataset.rb
|
232
|
+
- lib/gcloud/bigquery/dataset/list.rb
|
233
|
+
- lib/gcloud/bigquery/errors.rb
|
234
|
+
- lib/gcloud/bigquery/extract_job.rb
|
235
|
+
- lib/gcloud/bigquery/insert_response.rb
|
236
|
+
- lib/gcloud/bigquery/job.rb
|
237
|
+
- lib/gcloud/bigquery/job/list.rb
|
238
|
+
- lib/gcloud/bigquery/load_job.rb
|
239
|
+
- lib/gcloud/bigquery/project.rb
|
240
|
+
- lib/gcloud/bigquery/query_data.rb
|
241
|
+
- lib/gcloud/bigquery/query_job.rb
|
242
|
+
- lib/gcloud/bigquery/table.rb
|
243
|
+
- lib/gcloud/bigquery/table/list.rb
|
244
|
+
- lib/gcloud/bigquery/view.rb
|
170
245
|
- lib/gcloud/credentials.rb
|
171
246
|
- lib/gcloud/datastore.rb
|
172
247
|
- lib/gcloud/datastore/connection.rb
|
@@ -205,6 +280,7 @@ files:
|
|
205
280
|
- lib/gcloud/storage/file/list.rb
|
206
281
|
- lib/gcloud/storage/file/verifier.rb
|
207
282
|
- lib/gcloud/storage/project.rb
|
283
|
+
- lib/gcloud/upload.rb
|
208
284
|
- lib/gcloud/version.rb
|
209
285
|
homepage: http://googlecloudplatform.github.io/gcloud-ruby/
|
210
286
|
licenses:
|