class Prolly::Ps::Storage::Rubylist

Public Class Methods

new() click to toggle source
Calls superclass method Prolly::Ps::Storage::Base::new
# File lib/prolly/ps/storage/rubylist.rb, line 9
def initialize
  super
end

Public Instance Methods

add(datum) click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 19
def add(datum)
  @data << datum
end
count(rvs, options = {}) click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 23
def count(rvs, options = {})
  reload = options[:reload] || false
  if rvs.kind_of?(Array)
    value = @data.count { |e| rvs.all? { |rv| e.has_key?(rv) } }
  elsif rvs.kind_of?(Hash)
    value = @data.count { |e|
      rvs.map { |rkey, rval|
        vals = rval.kind_of?(Array) ? rval : [rval]
        vals.include?(e[rkey])
      }.all?
    }
  end
  return value
end
rand_vars() click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 38
def rand_vars
  @data.first.keys
end
reset() click to toggle source
Calls superclass method Prolly::Ps::Storage::Base#reset
# File lib/prolly/ps/storage/rubylist.rb, line 13
def reset
  super
  @data = []
  @uniq_vals = {}
end
uniq_vals(name) click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 42
def uniq_vals(name)
  @uniq_vals[name] ||= @data.map { |li| li.has_key?(name) ? li[name] : nil }.uniq
end

Private Instance Methods

display_stats() click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 54
def display_stats
  require 'pp'
  puts "------------- Stats! --------------------"
  puts
  pp @stash_time.sort { |a, b| b[1][:usage] <=> a[1][:usage] }[0..10]
  puts 
  pp @stash_time.sort { |a, b| b[1][:elapsed] <=> a[1][:elapsed] }[0..10]
  puts
  puts @stash_stats.inspect
  puts
end
explain(rvs, options = {}) click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 48
def explain(rvs, options = {})
end
stats(options = {}) click to toggle source
# File lib/prolly/ps/storage/rubylist.rb, line 51
def stats(options = {})
end