Method: ObjectTable::Grouping::Grid#initialize

Defined in:
lib/object_table/grouping/grid.rb

#initialize(keys, defaults) ⇒ Grid

Returns a new instance of Grid.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/object_table/grouping/grid.rb', line 8

def initialize(keys, defaults)
  unless defaults.is_a?(Hash)
    raise "Expected defaults to be a hash, got: #{defaults.inspect}"
  end
  defaults.default = 0
  @defaults = defaults

  @values = {}
  @index = {}
  @ids = keys.map{|k| @index[k] ||= @index.length}
  @keys = keys
  @length = @index.length
end