class ObjectTable::View

Constants

Util

Public Class Methods

new(parent, &block) click to toggle source
Calls superclass method
# File lib/object_table/view.rb, line 13
def initialize(parent, &block)
  super()
  @parent = parent
  @filter = block
end

Public Instance Methods

cache_columns() { || ... } click to toggle source
# File lib/object_table/view.rb, line 53
def cache_columns
  @columns = columns
  value = yield
  @columns = nil
  value
end
cache_indices() { || ... } click to toggle source
# File lib/object_table/view.rb, line 42
def cache_indices
  @indices = indices
  value = yield
  @indices = nil
  value
end
clone() click to toggle source
# File lib/object_table/view.rb, line 23
def clone
  if nrows == 0
    cols = @parent.columns.map{|k, v| [k, NArray.new(v.typecode, 0)]}
  else
    cols = @parent.columns.map{|k, v| [k, v[false, indices]]}
  end
  __table_cls__.new(cols)
end
columns() click to toggle source
Calls superclass method ObjectTable::ViewMethods#columns
# File lib/object_table/view.rb, line 49
def columns
  @columns or super
end
indices() click to toggle source
# File lib/object_table/view.rb, line 38
def indices
  @indices or NArray.int(@parent.nrows).indgen![Util.apply_block(@parent, @filter)]
end
inspect(*args) click to toggle source
Calls superclass method
# File lib/object_table/view.rb, line 32
def inspect(*args)
  cache_columns{ super }
rescue NoMethodError => e
  raise Exception.new(e)
end
make_view() click to toggle source
# File lib/object_table/view.rb, line 19
def make_view
  __static_view_cls__.new @parent, indices
end