class Charty::TableAdapters::DatasetsAdapter

Public Class Methods

new(dataset) click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 13
def initialize(dataset)
  @table = dataset.to_table
  @records = []

  self.columns = self.column_names
  self.index = 0 ... length
end
supported?(data) click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 8
def self.supported?(data)
  defined?(Datasets::Dataset) &&
    data.is_a?(Datasets::Dataset)
end

Public Instance Methods

[](row, column) click to toggle source

@param [Integer] row Row index @param [Symbol,String,Integer] column Column index

# File lib/charty/table_adapters/datasets_adapter.rb, line 45
def [](row, column)
  if row
    record = @table.find_record(row)
    return nil if record.nil?
    record[column]
  else
    Vector.new(@table[column], index: index, name: column)
  end
end
column_length() click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 25
def column_length
  column_names.length
end
column_names() click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 29
def column_names
  @table.column_names
end
data() click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 21
def data
  @table
end
each(&block) click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 37
def each(&block)
  return to_enum(__method__) unless block_given?

  @table.each_record(&block)
end
length() click to toggle source
# File lib/charty/table_adapters/datasets_adapter.rb, line 33
def length
  data.n_rows
end