Sha256: 24a163093cf2ff05051085002b3c73eda041f273d7cdd1950e42d837254a3b24
Contents?: true
Size: 1.54 KB
Versions: 2
Compression:
Stored size: 1.54 KB
Contents
module Dag class TableCollection < Model include Enumerable include Dag::Client::ClusterValidation attr_reader :cluster_name def initialize(api, cluster_name, db_name) super(api) @cluster_name = cluster_name @db_name = db_name end def each marker = nil truncated = false begin table_info_list = @api.table_info_list(@cluster_name, @db_name, make_options(marker)) table_info_list['tables'].each do |table_info| yield Dag::Table.new(@api, @cluster_name, @db_name, params: table_info) end truncated = table_info_list['isTruncated'] marker = table_info_list['nextMarker'] end while truncated end # # == parameters == # * <tt>table</tt> - table name # * <tt>format</tt> - 'csv' or 'tsv' or 'json' or 'json_agent' # * <tt>schema/tt> - schema # * <tt>comment</tt> - comment def create(table: '', format: nil, schema: nil, comment: nil) params = { table: table, schema: schema, create_api: true } params.merge!({ format: format }) if format params.merge!({ comment: comment }) if comment @api.create_table(@cluster_name, @db_name, params: params) table_info = @api.table(@cluster_name, @db_name, table) Dag::Table.new(@api, @cluster_name, @db_name, params: table_info) end private def make_options(marker = nil) options = { max: 100 } if marker options = options.merge(marker: marker) end options end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
iij-dag-client-1.0.2 | lib/dag/client/model/table_collection.rb |
iij-dag-client-1.0.1 | lib/dag/client/model/table_collection.rb |