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