class Tabl::DerefColumn
Attributes
column[R]
Public Class Methods
new(column, deref)
click to toggle source
# File lib/tabl/deref_column.rb, line 5 def initialize(column, deref) @column = column @callback = deref @callback = lambda { |record| record.send(deref) } if Symbol === deref @format_dsl = Column::FormatDsl.new(self) end
Public Instance Methods
clone()
click to toggle source
# File lib/tabl/deref_column.rb, line 33 def clone DerefColumn.new(@column.clone, @callback.clone) end
deref(record)
click to toggle source
# File lib/tabl/deref_column.rb, line 25 def deref(record) @callback.call(record) end
format(format = nil, value = nil, record = nil, context = nil)
click to toggle source
# File lib/tabl/deref_column.rb, line 16 def format(format = nil, value = nil, record = nil, context = nil) if format.nil? @format_dsl else record = deref(record) if record @column.format(format, value, record, context) end end
method_missing(name, *args)
click to toggle source
# File lib/tabl/deref_column.rb, line 29 def method_missing(name, *args) @column.send(name, *args) end
value(record)
click to toggle source
# File lib/tabl/deref_column.rb, line 12 def value(record) @column.value(deref(record)) end