Class: Google::Cloud::Bigquery::Table::Updater
- Inherits:
- 
      Google::Cloud::Bigquery::Table
      
        - Object
- Google::Cloud::Bigquery::Table
- Google::Cloud::Bigquery::Table::Updater
 
- Defined in:
- lib/google/cloud/bigquery/table.rb
Overview
Yielded to a block to accumulate changes for a patch request.
Lifecycle collapse
- 
  
    
      #updates  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    A list of attributes that were updated. 
Lifecycle collapse
- 
  
    
      #initialize(gapi)  ⇒ Updater 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Create an Updater object. 
Schema collapse
- 
  
    
      #boolean(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a boolean field to the schema. 
- 
  
    
      #bytes(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a bytes field to the schema. 
- 
  
    
      #check_for_mutated_schema!  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Make sure any access changes are saved. 
- 
  
    
      #date(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a date field to the schema. 
- 
  
    
      #datetime(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a datetime field to the schema. 
- 
  
    
      #float(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a floating-point number field to the schema. 
- 
  
    
      #integer(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds an integer field to the schema. 
- 
  
    
      #record(name, description: nil, mode: nil) {|nested_schema| ... } ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a record field to the schema. 
- 
  
    
      #schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema 
    
    
  
  
  
  
  
  
  
  
  
    Returns the table's schema. 
- 
  
    
      #string(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a string field to the schema. 
- 
  
    
      #time(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a time field to the schema. 
- 
  
    
      #timestamp(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Adds a timestamp field to the schema. 
- #to_gapi ⇒ Object
Methods inherited from Google::Cloud::Bigquery::Table
#api_url, #bytes_count, #copy, #created_at, #data, #dataset_id, #delete, #description, #description=, #etag, #expires_at, #extract, #fields, #headers, #id, #insert, #load, #location, #modified_at, #name, #name=, #project_id, #query_id, #reload!, #rows_count, #table?, #table_id, #view?
Constructor Details
#initialize(gapi) ⇒ Updater
Create an Updater object.
| 867 868 869 870 871 | # File 'lib/google/cloud/bigquery/table.rb', line 867 def initialize gapi @updates = [] @gapi = gapi @schema = nil end | 
Instance Attribute Details
#updates ⇒ Object (readonly)
A list of attributes that were updated.
| 863 864 865 | # File 'lib/google/cloud/bigquery/table.rb', line 863 def updates @updates end | 
Instance Method Details
#boolean(name, description: nil, mode: :nullable) ⇒ Object
Adds a boolean field to the schema.
See Schema#boolean.
| 1031 1032 1033 | # File 'lib/google/cloud/bigquery/table.rb', line 1031 def boolean name, description: nil, mode: :nullable schema.boolean name, description: description, mode: mode end | 
#bytes(name, description: nil, mode: :nullable) ⇒ Object
Adds a bytes field to the schema.
See Schema#bytes.
| 1059 1060 1061 | # File 'lib/google/cloud/bigquery/table.rb', line 1059 def bytes name, description: nil, mode: :nullable schema.bytes name, description: description, mode: mode end | 
#check_for_mutated_schema! ⇒ Object
Make sure any access changes are saved
| 1215 1216 1217 1218 1219 1220 | # File 'lib/google/cloud/bigquery/table.rb', line 1215 def check_for_mutated_schema! return if @schema.nil? return unless @schema.changed? @gapi.schema = @schema.to_gapi patch_gapi! :schema end | 
#date(name, description: nil, mode: :nullable) ⇒ Object
Adds a date field to the schema.
See Schema#date.
| 1171 1172 1173 | # File 'lib/google/cloud/bigquery/table.rb', line 1171 def date name, description: nil, mode: :nullable schema.date name, description: description, mode: mode end | 
#datetime(name, description: nil, mode: :nullable) ⇒ Object
Adds a datetime field to the schema.
See Schema#datetime.
| 1143 1144 1145 | # File 'lib/google/cloud/bigquery/table.rb', line 1143 def datetime name, description: nil, mode: :nullable schema.datetime name, description: description, mode: mode end | 
#float(name, description: nil, mode: :nullable) ⇒ Object
Adds a floating-point number field to the schema.
See Schema#float.
| 1003 1004 1005 | # File 'lib/google/cloud/bigquery/table.rb', line 1003 def float name, description: nil, mode: :nullable schema.float name, description: description, mode: mode end | 
#integer(name, description: nil, mode: :nullable) ⇒ Object
Adds an integer field to the schema.
See Schema#integer.
| 975 976 977 | # File 'lib/google/cloud/bigquery/table.rb', line 975 def integer name, description: nil, mode: :nullable schema.integer name, description: description, mode: mode end | 
#record(name, description: nil, mode: nil) {|nested_schema| ... } ⇒ Object
Adds a record field to the schema. A block must be passed describing the nested fields of the record. For more information about nested and repeated records, see Preparing Data for BigQuery .
See Schema#record.
| 1209 1210 1211 | # File 'lib/google/cloud/bigquery/table.rb', line 1209 def record name, description: nil, mode: nil, &block schema.record name, description: description, mode: mode, &block end | 
#schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema
Returns the table's schema. This method can also be used to set, replace, or add to the schema by passing a block. See Schema for available methods.
| 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 | # File 'lib/google/cloud/bigquery/table.rb', line 907 def schema replace: false # Same as Table#schema, but not frozen # TODO: make sure to call ensure_full_data! on Dataset#update @schema ||= Schema.from_gapi @gapi.schema if block_given? if replace @schema = Schema.from_gapi \ Google::Apis::BigqueryV2::TableSchema.new(fields: []) end yield @schema check_for_mutated_schema! end # Do not freeze on updater, allow modifications @schema end | 
#string(name, description: nil, mode: :nullable) ⇒ Object
Adds a string field to the schema.
See Schema#string.
| 947 948 949 | # File 'lib/google/cloud/bigquery/table.rb', line 947 def string name, description: nil, mode: :nullable schema.string name, description: description, mode: mode end | 
#time(name, description: nil, mode: :nullable) ⇒ Object
Adds a time field to the schema.
See Schema#time.
| 1115 1116 1117 | # File 'lib/google/cloud/bigquery/table.rb', line 1115 def time name, description: nil, mode: :nullable schema.time name, description: description, mode: mode end | 
#timestamp(name, description: nil, mode: :nullable) ⇒ Object
Adds a timestamp field to the schema.
See Schema#timestamp.
| 1087 1088 1089 | # File 'lib/google/cloud/bigquery/table.rb', line 1087 def name, description: nil, mode: :nullable schema. name, description: description, mode: mode end | 
#to_gapi ⇒ Object
| 1222 1223 1224 1225 | # File 'lib/google/cloud/bigquery/table.rb', line 1222 def to_gapi check_for_mutated_schema! @gapi end |