class Teer::DataStore

Attributes

data[R]

Public Class Methods

new(data, locale) click to toggle source
# File lib/teer/data_store.rb, line 7
def initialize(data, locale)
  @data = data
  @locale = locale
end

Public Instance Methods

[](i) click to toggle source
# File lib/teer/data_store.rb, line 48
def [](i)
  VectorStore.new(@data[i], @locale)
end
as_json(options = nil) click to toggle source
# File lib/teer/data_store.rb, line 122
def as_json(options = nil)
  @data.as_json(options)
end
count() click to toggle source
# File lib/teer/data_store.rb, line 36
def count
  @data.count
end
eq(num) click to toggle source
# File lib/teer/data_store.rb, line 80
def eq(num)
  DataStore.new(@data.select { |a| a[-1] == num }, @locale)
end
eql(value) click to toggle source
# File lib/teer/data_store.rb, line 116
def eql(value) # for equality checks
  DataStore.new(@data.select { |a| a[1] == value }, @locale)
end
first() click to toggle source
# File lib/teer/data_store.rb, line 60
def first
  VectorStore.new(@data[0], @locale)
end
fourth() click to toggle source
# File lib/teer/data_store.rb, line 72
def fourth
  VectorStore.new(@data[3], @locale)
end
group_count() click to toggle source
# File lib/teer/data_store.rb, line 32
def group_count
  DataStore.new(@data.transpose[0].each_with_object(Hash.new(0)) { |key, hsh| hsh[key] += 1 }.to_a, @locale)
end
gt(num) click to toggle source
# File lib/teer/data_store.rb, line 84
def gt(num)
  DataStore.new(@data.select { |a| a[-1] > num }, @locale)
end
key() click to toggle source
# File lib/teer/data_store.rb, line 12
def key
  @data.transpose[0][0]
end
keys() click to toggle source
# File lib/teer/data_store.rb, line 20
def keys
  VectorStore.new(@data.transpose[0], @locale)
end
last() click to toggle source
# File lib/teer/data_store.rb, line 76
def last
  VectorStore.new(@data[-1], @locale)
end
lt(num) click to toggle source
# File lib/teer/data_store.rb, line 88
def lt(num)
  DataStore.new(@data.select { |a| a[-1] < num }, @locale)
end
map(*others) { |vector_store, *(others || []).map { |other| vector_store}| ... } click to toggle source
# File lib/teer/data_store.rb, line 105
def map(*others)
  @data.each_with_index.map do |a, i|
    yield(VectorStore.new(a, @locale),
      *(others || []).map { |other| VectorStore.new(other.data[i], @locale) })
  end
end
max() click to toggle source
# File lib/teer/data_store.rb, line 40
def max
  VectorStore.new(@data.max_by(&:last), @locale)
end
min() click to toggle source
# File lib/teer/data_store.rb, line 44
def min
  VectorStore.new(@data.min_by(&:last), @locale)
end
ne(num) click to toggle source
# File lib/teer/data_store.rb, line 92
def ne(num)
  DataStore.new(@data.reject { |a| a[-1] == num }, @locale)
end
pluck_by_value(value) click to toggle source
# File lib/teer/data_store.rb, line 56
def pluck_by_value(value)
  DataStore.new(@data.select { |_, val| val == value }, @locale)
end
second() click to toggle source
# File lib/teer/data_store.rb, line 64
def second
  VectorStore.new(@data[1], @locale)
end
slice(key) click to toggle source
# File lib/teer/data_store.rb, line 96
def slice(key)
  DataStore.new(@data.select { |a| a[0] == key }, @locale)
end
slice_from(data_store, key) click to toggle source
# File lib/teer/data_store.rb, line 100
def slice_from(data_store, key)
  idx = data_store.data.map { |a| a[0] == key }
  DataStore.new(@data.select.with_index { |_a, i| idx[i] }, @locale)
end
sort() click to toggle source
# File lib/teer/data_store.rb, line 52
def sort
  DataStore.new(@data.sort_by(&:last).reverse, @locale)
end
third() click to toggle source
# File lib/teer/data_store.rb, line 68
def third
  VectorStore.new(@data[2], @locale)
end
to_s() click to toggle source
# File lib/teer/data_store.rb, line 112
def to_s
  "DataStore.new(#{@data}, #{@locale})"
end
uniq() click to toggle source
# File lib/teer/data_store.rb, line 28
def uniq
  VectorStore.new(@data.transpose[0].uniq, @locale)
end
value() click to toggle source
# File lib/teer/data_store.rb, line 16
def value
  @data.transpose[1][0]
end
values() click to toggle source
# File lib/teer/data_store.rb, line 24
def values
  VectorStore.new(@data.transpose[1], @locale)
end