gcloud 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +8 -8
  2. data/CHANGELOG.md +8 -0
  3. data/lib/gcloud.rb +48 -30
  4. data/lib/gcloud/bigquery.rb +4 -6
  5. data/lib/gcloud/bigquery/connection.rb +2 -14
  6. data/lib/gcloud/bigquery/dataset.rb +41 -42
  7. data/lib/gcloud/bigquery/project.rb +50 -46
  8. data/lib/gcloud/bigquery/query_job.rb +7 -8
  9. data/lib/gcloud/bigquery/table.rb +54 -55
  10. data/lib/gcloud/bigquery/table/schema.rb +30 -40
  11. data/lib/gcloud/bigquery/view.rb +10 -11
  12. data/lib/gcloud/credentials.rb +19 -25
  13. data/lib/gcloud/datastore.rb +4 -6
  14. data/lib/gcloud/datastore/dataset.rb +3 -5
  15. data/lib/gcloud/dns.rb +4 -6
  16. data/lib/gcloud/dns/connection.rb +17 -16
  17. data/lib/gcloud/dns/importer.rb +5 -11
  18. data/lib/gcloud/dns/project.rb +11 -12
  19. data/lib/gcloud/dns/zone.rb +52 -92
  20. data/lib/gcloud/dns/zone/transaction.rb +2 -2
  21. data/lib/gcloud/pubsub.rb +4 -6
  22. data/lib/gcloud/pubsub/connection.rb +1 -12
  23. data/lib/gcloud/pubsub/project.rb +30 -36
  24. data/lib/gcloud/pubsub/subscription.rb +18 -26
  25. data/lib/gcloud/pubsub/topic.rb +16 -26
  26. data/lib/gcloud/resource_manager.rb +5 -6
  27. data/lib/gcloud/resource_manager/connection.rb +4 -4
  28. data/lib/gcloud/resource_manager/manager.rb +10 -14
  29. data/lib/gcloud/resource_manager/project.rb +3 -5
  30. data/lib/gcloud/search.rb +295 -0
  31. data/lib/gcloud/search/api_client.rb +144 -0
  32. data/lib/gcloud/search/connection.rb +146 -0
  33. data/lib/gcloud/search/credentials.rb +30 -0
  34. data/lib/gcloud/search/document.rb +301 -0
  35. data/lib/gcloud/search/document/list.rb +85 -0
  36. data/lib/gcloud/search/errors.rb +67 -0
  37. data/lib/gcloud/search/field_value.rb +164 -0
  38. data/lib/gcloud/search/field_values.rb +263 -0
  39. data/lib/gcloud/search/fields.rb +267 -0
  40. data/lib/gcloud/search/index.rb +613 -0
  41. data/lib/gcloud/search/index/list.rb +90 -0
  42. data/lib/gcloud/search/project.rb +197 -0
  43. data/lib/gcloud/search/result.rb +169 -0
  44. data/lib/gcloud/search/result/list.rb +95 -0
  45. data/lib/gcloud/storage.rb +4 -6
  46. data/lib/gcloud/storage/bucket.rb +55 -43
  47. data/lib/gcloud/storage/bucket/cors.rb +5 -7
  48. data/lib/gcloud/storage/file.rb +35 -30
  49. data/lib/gcloud/storage/file/acl.rb +12 -16
  50. data/lib/gcloud/storage/project.rb +56 -22
  51. data/lib/gcloud/version.rb +1 -1
  52. metadata +20 -3
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGQ2OGZmZTRjOGY4ZGRiNjZmZTE0OGExZTZmODJkYjE4MmJlN2E4YQ==
4
+ MzYyZTAzYjI3MDRlNWZmODg4OTlmMzU4MWVhOWJjNTg2NTFjZjgyMw==
5
5
  data.tar.gz: !binary |-
6
- YmYxMDQyOGNjNDBhZmMyNTgwMjBkYzhiM2Y4YTk0Y2JkYzQxN2QwNg==
6
+ MTBlNzFkOGIxMTFmYzFhZWVkZmIzZGE0NzAxYjExMDM1MDU1ZjQ2ZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGEwZmE1NzFkZGQ1MzE1YTliMmM5MDhmNWQ0MDliMTkxMDk4ZjUyNWI2MmQy
10
- NGZkNWNkZTJhODY2OGJmMDg1Zjg2MWMwMzVlMzAyNDJkMmFmZmJlNWM4Y2Zk
11
- NjJjNWRiZmU5YzM2ZjRmMjQ3MWE1MWE5ZmZhMDU5ZGI2NjczMWM=
9
+ MTdiZTVjZjViOTM4ZmQxZDZjMGZiMmQ1MDAzNmFmYWU1N2Q2ZTg2NTAzMjQx
10
+ NTk4YTU2NmQ1ZGVjOTFjOGQ5OThhMDIxNDU0YjNmZTczMTc3ZTQ1ZDRmNTVi
11
+ YzJhMWY2YTJlNTQwZDcyMmYyOWE3ZjkzY2YwYjRlZTZlYzFlYzU=
12
12
  data.tar.gz: !binary |-
13
- NDI4OGMxMmVkMGVjMDBiMTExM2E5MGNmMGJhMTc0ODFlYjIwMTRlNTc1MDli
14
- OTg1NjJjMDdkYTJiNDZjMGU1YmYyNTFjZWU4MzgzNzdlZDYyZDYwNGM1MjYy
15
- YmRmMjJkZDNjMTAyMjBlMmZjY2FhMGRiZDc3ODkxYTA0NDczODI=
13
+ YTI5YjRiMWE2YTE0ZjJlYzk5OWNhNjkyNjQ4ZWM1NGQwOTRkZjllZGU0MGFk
14
+ MWEyMmFkYTFiODk3NGNiZmE3ZDA5YTMxODliNjFiY2IzNDEzMjNkZGZmYzZm
15
+ MGQ0MzA5ZjNhOTlhOGZkMTQ3YjMyNjM0ZTJkMDczODFhY2Q3Njc=
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History
2
2
 
3
+ ### 0.6.0 / 2015-12-11
4
+
5
+ #### Changes
6
+
7
+ * Add support for Search service
8
+ * Drop support for Ruby 1.9.3
9
+ * Replace options hash parameter with named parameters
10
+
3
11
  ### 0.5.0 / 2015-10-29
4
12
 
5
13
  #### Changes
data/lib/gcloud.rb CHANGED
@@ -72,9 +72,7 @@ module Gcloud
72
72
  #
73
73
  # === Parameters
74
74
  #
75
- # +options+::
76
- # An optional Hash for controlling additional behavior. (+Hash+)
77
- # <code>options[:scope]</code>::
75
+ # +scope+::
78
76
  # The OAuth 2.0 scopes controlling the set of resources and operations that
79
77
  # the connection can access. See {Using OAuth 2.0 to Access Google
80
78
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -112,9 +110,9 @@ module Gcloud
112
110
  # platform_scope = "https://www.googleapis.com/auth/cloud-platform"
113
111
  # dataset = gcloud.datastore scope: platform_scope
114
112
  #
115
- def datastore options = {}
113
+ def datastore scope: nil
116
114
  require "gcloud/datastore"
117
- Gcloud.datastore @project, @keyfile, options
115
+ Gcloud.datastore @project, @keyfile, scope: scope
118
116
  end
119
117
 
120
118
  ##
@@ -123,9 +121,7 @@ module Gcloud
123
121
  #
124
122
  # === Parameters
125
123
  #
126
- # +options+::
127
- # An optional Hash for controlling additional behavior. (+Hash+)
128
- # <code>options[:scope]</code>::
124
+ # +scope+::
129
125
  # The OAuth 2.0 scopes controlling the set of resources and operations that
130
126
  # the connection can access. See {Using OAuth 2.0 to Access Google
131
127
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -158,9 +154,9 @@ module Gcloud
158
154
  # readonly_scope = "https://www.googleapis.com/auth/devstorage.read_only"
159
155
  # readonly_storage = gcloud.storage scope: readonly_scope
160
156
  #
161
- def storage options = {}
157
+ def storage scope: nil
162
158
  require "gcloud/storage"
163
- Gcloud.storage @project, @keyfile, options
159
+ Gcloud.storage @project, @keyfile, scope: scope
164
160
  end
165
161
 
166
162
  ##
@@ -169,9 +165,7 @@ module Gcloud
169
165
  #
170
166
  # === Parameters
171
167
  #
172
- # +options+::
173
- # An optional Hash for controlling additional behavior. (+Hash+)
174
- # <code>options[:scope]</code>::
168
+ # +scope+::
175
169
  # The OAuth 2.0 scopes controlling the set of resources and operations that
176
170
  # the connection can access. See {Using OAuth 2.0 to Access Google
177
171
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -202,9 +196,9 @@ module Gcloud
202
196
  # platform_scope = "https://www.googleapis.com/auth/cloud-platform"
203
197
  # pubsub = gcloud.pubsub scope: platform_scope
204
198
  #
205
- def pubsub options = {}
199
+ def pubsub scope: nil
206
200
  require "gcloud/pubsub"
207
- Gcloud.pubsub @project, @keyfile, options
201
+ Gcloud.pubsub @project, @keyfile, scope: scope
208
202
  end
209
203
 
210
204
  ##
@@ -213,9 +207,7 @@ module Gcloud
213
207
  #
214
208
  # === Parameters
215
209
  #
216
- # +options+::
217
- # An optional Hash for controlling additional behavior. (+Hash+)
218
- # <code>options[:scope]</code>::
210
+ # +scope+::
219
211
  # The OAuth 2.0 scopes controlling the set of resources and operations that
220
212
  # the connection can access. See {Using OAuth 2.0 to Access Google
221
213
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -249,9 +241,9 @@ module Gcloud
249
241
  # platform_scope = "https://www.googleapis.com/auth/cloud-platform"
250
242
  # bigquery = gcloud.bigquery scope: platform_scope
251
243
  #
252
- def bigquery options = {}
244
+ def bigquery scope: nil
253
245
  require "gcloud/bigquery"
254
- Gcloud.bigquery @project, @keyfile, options
246
+ Gcloud.bigquery @project, @keyfile, scope: scope
255
247
  end
256
248
 
257
249
  ##
@@ -260,9 +252,7 @@ module Gcloud
260
252
  #
261
253
  # === Parameters
262
254
  #
263
- # +options+::
264
- # An optional Hash for controlling additional behavior. (+Hash+)
265
- # <code>options[:scope]</code>::
255
+ # +scope+::
266
256
  # The OAuth 2.0 scopes controlling the set of resources and operations that
267
257
  # the connection can access. See {Using OAuth 2.0 to Access Google
268
258
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -295,9 +285,9 @@ module Gcloud
295
285
  # readonly_scope = "https://www.googleapis.com/auth/ndev.clouddns.readonly"
296
286
  # dns = gcloud.dns scope: readonly_scope
297
287
  #
298
- def dns options = {}
288
+ def dns scope: nil
299
289
  require "gcloud/dns"
300
- Gcloud.dns @project, @keyfile, options
290
+ Gcloud.dns @project, @keyfile, scope: scope
301
291
  end
302
292
 
303
293
  # rubocop:disable Metrics/LineLength
@@ -310,9 +300,7 @@ module Gcloud
310
300
  #
311
301
  # === Parameters
312
302
  #
313
- # +options+::
314
- # An optional Hash for controlling additional behavior. (+Hash+)
315
- # <code>options[:scope]</code>::
303
+ # +scope+::
316
304
  # The OAuth 2.0 scopes controlling the set of resources and operations that
317
305
  # the connection can access. See {Using OAuth 2.0 to Access Google
318
306
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -344,10 +332,40 @@ module Gcloud
344
332
  # readonly_scope = "https://www.googleapis.com/auth/cloudresourcemanager.readonly"
345
333
  # resource_manager = gcloud.resource_manager scope: readonly_scope
346
334
  #
347
- def resource_manager options = {}
335
+ def resource_manager scope: nil
348
336
  require "gcloud/resource_manager"
349
- Gcloud.resource_manager @keyfile, options
337
+ Gcloud.resource_manager @keyfile, scope: scope
350
338
  end
351
339
 
352
340
  # rubocop:enable Metrics/LineLength
341
+
342
+ ##
343
+ # Creates a new object for connecting to the Search service.
344
+ # Each call creates a new connection.
345
+ #
346
+ # === Parameters
347
+ #
348
+ # +scope+::
349
+ # The OAuth 2.0 scopes controlling the set of resources and operations that
350
+ # the connection can access. See {Using OAuth 2.0 to Access Google
351
+ # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
352
+ # or +Array+)
353
+ #
354
+ # The default scopes are:
355
+ #
356
+ # * +https://www.googleapis.com/auth/cloudsearch+
357
+ # * +https://www.googleapis.com/auth/userinfo.email+
358
+ #
359
+ # === Returns
360
+ #
361
+ # Gcloud::Search::Project
362
+ #
363
+ # === Examples
364
+ #
365
+ # require "gcloud"
366
+ #
367
+ def search scope: nil
368
+ require "gcloud/search"
369
+ Gcloud.search @project, @keyfile, scope: scope
370
+ end
353
371
  end
@@ -30,9 +30,7 @@ module Gcloud
30
30
  # +keyfile+::
31
31
  # Keyfile downloaded from Google Cloud. If file path the file must be
32
32
  # readable. (+String+ or +Hash+)
33
- # +options+::
34
- # An optional Hash for controlling additional behavior. (+Hash+)
35
- # <code>options[:scope]</code>::
33
+ # +scope+::
36
34
  # The OAuth 2.0 scopes controlling the set of resources and operations that
37
35
  # the connection can access. See {Using OAuth 2.0 to Access Google
38
36
  # APIs}[https://developers.google.com/identity/protocols/OAuth2]. (+String+
@@ -54,12 +52,12 @@ module Gcloud
54
52
  # dataset = bigquery.dataset "my_dataset"
55
53
  # table = dataset.table "my_table"
56
54
  #
57
- def self.bigquery project = nil, keyfile = nil, options = {}
55
+ def self.bigquery project = nil, keyfile = nil, scope: nil
58
56
  project ||= Gcloud::Bigquery::Project.default_project
59
57
  if keyfile.nil?
60
- credentials = Gcloud::Bigquery::Credentials.default options
58
+ credentials = Gcloud::Bigquery::Credentials.default scope: scope
61
59
  else
62
- credentials = Gcloud::Bigquery::Credentials.new keyfile, options
60
+ credentials = Gcloud::Bigquery::Credentials.new keyfile, scope: scope
63
61
  end
64
62
  Gcloud::Bigquery::Project.new project, credentials
65
63
  end
@@ -94,11 +94,11 @@ module Gcloud
94
94
  # either manually or by specifying force: true in options.
95
95
  # Immediately after deletion, you can create another dataset with
96
96
  # the same name.
97
- def delete_dataset dataset_id, options = {}
97
+ def delete_dataset dataset_id, force = nil
98
98
  @client.execute(
99
99
  api_method: @bigquery.datasets.delete,
100
100
  parameters: { projectId: @project, datasetId: dataset_id,
101
- deleteContents: options[:force]
101
+ deleteContents: force
102
102
  }.delete_if { |_, v| v.nil? }
103
103
  )
104
104
  end
@@ -344,17 +344,6 @@ module Gcloud
344
344
 
345
345
  protected
346
346
 
347
- ##
348
- # Make sure the object is converted to a hash
349
- # Ruby 1.9.3 doesn't support to_h, so here we are.
350
- def hashify hash
351
- if hash.respond_to? :to_h
352
- hash.to_h
353
- else
354
- Hash.try_convert(hash) || {}
355
- end
356
- end
357
-
358
347
  ##
359
348
  # Create the HTTP body for insert dataset
360
349
  def insert_dataset_request dataset_id, options = {}
@@ -482,7 +471,6 @@ module Gcloud
482
471
  "defaultDataset" => dataset_config,
483
472
  "timeoutMs" => options[:timeout],
484
473
  "dryRun" => options[:dryrun],
485
- "preserveNulls" => options[:preserve_nulls],
486
474
  "useQueryCache" => options[:cache]
487
475
  }.delete_if { |_, v| v.nil? }
488
476
  end
@@ -281,9 +281,7 @@ module Gcloud
281
281
  #
282
282
  # === Parameters
283
283
  #
284
- # +options+::
285
- # An optional Hash for controlling additional behavior. (+Hash+)
286
- # <code>options[:force]</code>::
284
+ # +force+::
287
285
  # If +true+, delete all the tables in the dataset. If +false+ and the
288
286
  # dataset contains tables, the request will fail. Default is +false+.
289
287
  # (+Boolean+)
@@ -304,9 +302,9 @@ module Gcloud
304
302
  #
305
303
  # :category: Lifecycle
306
304
  #
307
- def delete options = {}
305
+ def delete force: nil
308
306
  ensure_connection!
309
- resp = connection.delete_dataset dataset_id, options
307
+ resp = connection.delete_dataset dataset_id, force
310
308
  if resp.success?
311
309
  true
312
310
  else
@@ -323,13 +321,11 @@ module Gcloud
323
321
  # The ID of the table. The ID must contain only letters (a-z, A-Z),
324
322
  # numbers (0-9), or underscores (_). The maximum length is 1,024
325
323
  # characters. (+String+)
326
- # +options+::
327
- # An optional Hash for controlling additional behavior. (+Hash+)
328
- # <code>options[:name]</code>::
324
+ # +name+::
329
325
  # A descriptive name for the table. (+String+)
330
- # <code>options[:description]</code>::
326
+ # +description+::
331
327
  # A user-friendly description of the table. (+String+)
332
- # <code>options[:schema]</code>::
328
+ # +schema+::
333
329
  # A hash specifying fields and data types for the table. A block may be
334
330
  # passed instead (see examples.) For the format of this hash, see the
335
331
  # {Tables resource
@@ -415,16 +411,17 @@ module Gcloud
415
411
  #
416
412
  # :category: Table
417
413
  #
418
- def create_table table_id, options = {}
414
+ def create_table table_id, name: nil, description: nil, schema: nil
419
415
  ensure_connection!
420
416
  if block_given?
421
- if options[:schema]
417
+ if schema
422
418
  fail ArgumentError, "only schema block or schema option is allowed"
423
419
  end
424
420
  schema_builder = Table::Schema.new nil
425
421
  yield schema_builder
426
- options[:schema] = schema_builder.schema if schema_builder.changed?
422
+ schema = schema_builder.schema if schema_builder.changed?
427
423
  end
424
+ options = { name: name, description: description, schema: schema }
428
425
  insert_table table_id, options
429
426
  end
430
427
 
@@ -440,11 +437,9 @@ module Gcloud
440
437
  # +query+::
441
438
  # The query that BigQuery executes when the view is referenced.
442
439
  # (+String+)
443
- # +options+::
444
- # An optional Hash for controlling additional behavior. (+Hash+)
445
- # <code>options[:name]</code>::
440
+ # +name+::
446
441
  # A descriptive name for the table. (+String+)
447
- # <code>options[:description]</code>::
442
+ # +description+::
448
443
  # A user-friendly description of the table. (+String+)
449
444
  #
450
445
  # === Returns
@@ -474,9 +469,9 @@ module Gcloud
474
469
  #
475
470
  # :category: Table
476
471
  #
477
- def create_view table_id, query, options = {}
478
- options[:query] = query
479
- create_table table_id, options
472
+ def create_view table_id, query, name: nil, description: nil
473
+ options = { query: query, name: name, description: description }
474
+ insert_table table_id, options
480
475
  end
481
476
 
482
477
  ##
@@ -519,12 +514,10 @@ module Gcloud
519
514
  #
520
515
  # === Parameters
521
516
  #
522
- # +options+::
523
- # An optional Hash for controlling additional behavior. (+Hash+)
524
- # <code>options[:token]</code>::
517
+ # +token+::
525
518
  # A previously-returned page token representing part of the larger set
526
519
  # of results to view. (+String+)
527
- # <code>options[:max]</code>::
520
+ # +max+::
528
521
  # Maximum number of tables to return. (+Integer+)
529
522
  #
530
523
  # === Returns
@@ -567,8 +560,9 @@ module Gcloud
567
560
  #
568
561
  # :category: Table
569
562
  #
570
- def tables options = {}
563
+ def tables token: nil, max: nil
571
564
  ensure_connection!
565
+ options = { token: token, max: max }
572
566
  resp = connection.list_tables dataset_id, options
573
567
  if resp.success?
574
568
  Table::List.from_response resp, connection
@@ -591,25 +585,25 @@ module Gcloud
591
585
  # syntax}[https://cloud.google.com/bigquery/query-reference], of the
592
586
  # query to execute. Example: "SELECT count(f1) FROM
593
587
  # [myProjectId:myDatasetId.myTableId]". (+String+)
594
- # <code>options[:priority]</code>::
588
+ # +priority+::
595
589
  # Specifies a priority for the query. Possible values include
596
590
  # +INTERACTIVE+ and +BATCH+. The default value is +INTERACTIVE+.
597
591
  # (+String+)
598
- # <code>options[:cache]</code>::
592
+ # +cache+::
599
593
  # Whether to look for the result in the query cache. The query cache is
600
594
  # a best-effort cache that will be flushed whenever tables in the query
601
595
  # are modified. The default value is +true+. (+Boolean+)
602
- # <code>options[:table]</code>::
596
+ # +table+::
603
597
  # The destination table where the query results should be stored. If not
604
598
  # present, a new table will be created to store the results. (+Table+)
605
- # <code>options[:create]</code>::
599
+ # +create+::
606
600
  # Specifies whether the job is allowed to create new tables. (+String+)
607
601
  #
608
602
  # The following values are supported:
609
603
  # * +needed+ - Create the table if it does not exist.
610
604
  # * +never+ - The table must already exist. A 'notFound' error is
611
605
  # raised if the table does not exist.
612
- # <code>options[:write]</code>::
606
+ # +write+::
613
607
  # Specifies the action that occurs if the destination table already
614
608
  # exists. (+String+)
615
609
  #
@@ -618,14 +612,14 @@ module Gcloud
618
612
  # * +append+ - BigQuery appends the data to the table.
619
613
  # * +empty+ - A 'duplicate' error is returned in the job result if the
620
614
  # table exists and contains data.
621
- # <code>options[:large_results]</code>::
615
+ # +large_results+::
622
616
  # If +true+, allows the query to produce arbitrarily large result tables
623
- # at a slight cost in performance. Requires <code>options[:table]</code>
624
- # to be set. (+Boolean+)
625
- # <code>options[:flatten]</code>::
617
+ # at a slight cost in performance. Requires +table+ parameter to be set.
618
+ # (+Boolean+)
619
+ # +flatten+::
626
620
  # Flattens all nested and repeated fields in the query results. The
627
- # default value is +true+. <code>options[:large_results]</code> must be
628
- # +true+ if this is set to +false+. (+Boolean+)
621
+ # default value is +true+. +large_results+ parameter must be +true+ if
622
+ # this is set to +false+. (+Boolean+)
629
623
  #
630
624
  # === Returns
631
625
  #
@@ -649,7 +643,11 @@ module Gcloud
649
643
  #
650
644
  # :category: Data
651
645
  #
652
- def query_job query, options = {}
646
+ def query_job query, priority: "INTERACTIVE", cache: true, table: nil,
647
+ create: nil, write: nil, large_results: nil, flatten: nil
648
+ options = { priority: priority, cache: cache, table: table,
649
+ create: create, write: write, large_results: large_results,
650
+ flatten: flatten }
653
651
  options[:dataset] ||= self
654
652
  ensure_connection!
655
653
  resp = connection.query_job query, options
@@ -674,26 +672,26 @@ module Gcloud
674
672
  # syntax}[https://cloud.google.com/bigquery/query-reference], of the
675
673
  # query to execute. Example: "SELECT count(f1) FROM
676
674
  # [myProjectId:myDatasetId.myTableId]". (+String+)
677
- # <code>options[:max]</code>::
675
+ # +max+::
678
676
  # The maximum number of rows of data to return per page of results.
679
677
  # Setting this flag to a small value such as 1000 and then paging
680
678
  # through results might improve reliability when the query result set is
681
679
  # large. In addition to this limit, responses are also limited to 10 MB.
682
680
  # By default, there is no maximum row count, and only the byte limit
683
681
  # applies. (+Integer+)
684
- # <code>options[:timeout]</code>::
682
+ # +timeout+::
685
683
  # How long to wait for the query to complete, in milliseconds, before
686
684
  # the request times out and returns. Note that this is only a timeout
687
685
  # for the request, not the query. If the query takes longer to run than
688
686
  # the timeout value, the call returns without any results and with
689
687
  # QueryData#complete? set to false. The default value is 10000
690
688
  # milliseconds (10 seconds). (+Integer+)
691
- # <code>options[:dryrun]</code>::
689
+ # +dryrun+::
692
690
  # If set to +true+, BigQuery doesn't run the job. Instead, if the query
693
691
  # is valid, BigQuery returns statistics about the job such as how many
694
692
  # bytes would be processed. If the query is invalid, an error returns.
695
693
  # The default value is +false+. (+Boolean+)
696
- # <code>options[:cache]</code>::
694
+ # +cache+::
697
695
  # Whether to look for the result in the query cache. The query cache is
698
696
  # a best-effort cache that will be flushed whenever tables in the query
699
697
  # are modified. The default value is true. For more information, see
@@ -718,7 +716,8 @@ module Gcloud
718
716
  #
719
717
  # :category: Data
720
718
  #
721
- def query query, options = {}
719
+ def query query, max: nil, timeout: 10000, dryrun: nil, cache: true
720
+ options = { max: max, timeout: timeout, dryrun: dryrun, cache: cache }
722
721
  options[:dataset] ||= dataset_id
723
722
  options[:project] ||= project_id
724
723
  ensure_connection!