lib/google/cloud/bigquery/project.rb in google-cloud-bigquery-1.2.0 vs lib/google/cloud/bigquery/project.rb in google-cloud-bigquery-1.3.0

- old
+ new

@@ -83,10 +83,21 @@ service.project end alias project project_id ## + # The email address of the service account for the project used to + # connect to BigQuery. (See also {#project_id}.) + # + # @return [String] The service account email address. + # + def service_account_email + @service_account_email ||= \ + service.project_service_account.email + end + + ## # Queries data by creating a [query # job](https://cloud.google.com/bigquery/docs/query-overview#query_jobs). # # When using standard SQL and passing arguments using `params`, Ruby # types are mapped to BigQuery types as follows: @@ -512,21 +523,15 @@ # data.each do |row| # puts row[:name] # end # def query query, params: nil, external: nil, max: nil, cache: true, - dataset: nil, project: nil, standard_sql: nil, legacy_sql: nil - ensure_service! - options = { priority: "INTERACTIVE", cache: cache, dataset: dataset, - project: project || self.project, - legacy_sql: legacy_sql, standard_sql: standard_sql, - params: params, external: external } - updater = QueryJob::Updater.from_options service, query, options - - yield updater if block_given? - - gapi = service.query_job updater.to_gapi - job = Job.from_gapi gapi, service + dataset: nil, project: nil, standard_sql: nil, + legacy_sql: nil, &block + job = query_job query, params: params, external: external, + cache: cache, dataset: dataset, + project: project, standard_sql: standard_sql, + legacy_sql: legacy_sql, &block job.wait_until_done! if job.failed? begin # raise to activate ruby exception cause handling