Class: Gcloud::Bigquery::InsertResponse

Inherits:
Object
  • Object
show all
Defined in:
lib/gcloud/bigquery/insert_response.rb

Overview

InsertResponse

Defined Under Namespace

Classes: InsertError

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rows, gapi) ⇒ InsertResponse

:nodoc:



21
22
23
24
# File 'lib/gcloud/bigquery/insert_response.rb', line 21

def initialize rows, gapi #:nodoc:
  @rows = rows
  @gapi = gapi
end

Class Method Details

.from_gapi(rows, gapi) ⇒ Object

:nodoc:



62
63
64
65
# File 'lib/gcloud/bigquery/insert_response.rb', line 62

def self.from_gapi rows, gapi #:nodoc:
  gapi = gapi.to_hash if gapi.respond_to? :to_hash
  new rows, gapi
end

Instance Method Details

#error_countObject



34
35
36
# File 'lib/gcloud/bigquery/insert_response.rb', line 34

def error_count
  @error_count ||= Array(@gapi["insertErrors"]).count
end

#error_rowsObject



48
49
50
51
52
53
54
# File 'lib/gcloud/bigquery/insert_response.rb', line 48

def error_rows
  @error_rows ||= begin
    Array(@gapi["insertErrors"]).map do |ie|
      @rows[ie["index"]]
    end
  end
end

#errors_for(row) ⇒ Object



56
57
58
59
60
# File 'lib/gcloud/bigquery/insert_response.rb', line 56

def errors_for row
  ie = insert_errors.detect { |e| e.row == row }
  return ie.errors if ie
  []
end

#insert_countObject



30
31
32
# File 'lib/gcloud/bigquery/insert_response.rb', line 30

def insert_count
  @insert_count ||= @rows.count - error_count
end

#insert_errorsObject



38
39
40
41
42
43
44
45
46
# File 'lib/gcloud/bigquery/insert_response.rb', line 38

def insert_errors
  @insert_errors ||= begin
    Array(@gapi["insertErrors"]).map do |ie|
      row = @rows[ie["index"]]
      errors = ie["errors"]
      InsertError.new row, errors
    end
  end
end

#success?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/gcloud/bigquery/insert_response.rb', line 26

def success?
  error_count.zero?
end