Sha256: ea56051c4a1b8aa50bf942a2cecbfeb76a2fd7074b0a7846b539280351cd360c

Contents?: true

Size: 621 Bytes

Versions: 2

Compression:

Stored size: 621 Bytes

Contents

require_relative 'view_methods'
require_relative 'basic_grid'
require_relative 'masked_column'

class ObjectTable::StaticView
  include ObjectTable::ViewMethods
  attr_reader :indices

  def initialize(parent, indices)
    super()
    @parent = parent
    @indices = indices
    @columns = ObjectTable::BasicGrid.new
    @fully_cached = false
  end

  def columns
    unless @fully_cached
      @parent.columns.each_key{|k| get_column(k)}
      @fully_cached = true
    end
    @columns
  end

  def get_column(name)
    @columns[name] ||= super
  end

  def add_column(name, *args)
    @columns[name] = super
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
object_table-0.4.1 lib/object_table/static_view.rb
object_table-0.4.0 lib/object_table/static_view.rb