class Goldmine::RollupCleanRoom

Attributes

cache[R]
name[R]

Public Class Methods

new(name, cache={}) click to toggle source
# File lib/goldmine/rollup_clean_room.rb, line 5
def initialize(name, cache={})
  @name = name
  @cache = cache
end

Public Instance Methods

eigen() click to toggle source
# File lib/goldmine/rollup_clean_room.rb, line 10
def eigen
  class << self
    self
  end
end
rollup(pivoted_list, &block) click to toggle source
# File lib/goldmine/rollup_clean_room.rb, line 16
def rollup(pivoted_list, &block)
  eigen.instance_eval { define_method(:do_rollup, &block) }
  @cache[name] = do_rollup(pivoted_list)
end