Class: Yancya::BigQuery::Tables

Inherits:
Resource
  • Object
show all
Defined in:
lib/yancya/big_query/tables.rb

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Yancya::BigQuery::Resource

Instance Method Details

#delete(project_id:, dataset_id:, table_id:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/yancya/big_query/tables.rb', line 7

def delete(project_id:, dataset_id:, table_id:)
  execute(
    api_method: @bq.api.tables.delete,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
      tableId: table_id,
    }
  )
end

#get(project_id:, dataset_id:, table_id:) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/yancya/big_query/tables.rb', line 18

def get(project_id:, dataset_id:, table_id:)
  resource = execute(
    api_method: @bq.api.tables.get,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
      tableId: table_id,
    }
  )

  BigQuery::Table.new(resource: resource, tables: self)
end

#insert(project_id:, dataset_id:, table:) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/yancya/big_query/tables.rb', line 31

def insert(project_id:, dataset_id:, table:)
  resource = execute(
    api_method: @bq.api.tables.insert,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
    },
    body_object: table
  )

  BigQuery::Table.new(resource: resource, tables: self)
end

#list(project_id:, dataset_id:) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/yancya/big_query/tables.rb', line 44

def list(project_id:, dataset_id:)
  resources = execute(
    api_method: @bq.api.tables.list,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
    }
  )

  (resources["tables"]||[]).map do |resource|
    BigQuery::Table.new(resource: resource, tables: self)
  end
end

#patch(project_id:, dataset_id:, table_id:, table:) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/yancya/big_query/tables.rb', line 58

def patch(project_id:, dataset_id:, table_id:, table:)
  resource = execute(
    api_method: @bq.api.tables.patch,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
      tableId: table_id,
    },
    body_object: table
  )

  BigQuery::Table.new(resource: resource, tables: self)
end

#update(project_id:, dataset_id:, table_id:, table:) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/yancya/big_query/tables.rb', line 72

def update(project_id:, dataset_id:, table_id:, table:)
  resource = execute(
    api_method: @bq.api.tables.update,
    parameters: {
      datasetId: dataset_id,
      projectId: project_id,
      tableId: table_id,
    },
    body_object: table
  )

  BigQuery::Table.new(resource: resource, tables: self)
end