class Tabl::Column
Attributes
formats[R]
label[RW]
name[R]
value[W]
Public Class Methods
new(name, args = {}) { |self| ... }
click to toggle source
# File lib/tabl/column.rb, line 8 def initialize(name, args = {}) @name = name @label = args[:label] || @name.to_s.titleize @value = args[:value] || lambda { |record| record.send(@name) } @formats = {} @format_dsl = FormatDsl.new(self) yield self if block_given? end
Public Instance Methods
format(key = nil, value = nil, record = nil, context = nil)
click to toggle source
# File lib/tabl/column.rb, line 22 def format(key = nil, value = nil, record = nil, context = nil) if key.nil? return @format_dsl else format = @formats[key] return format unless value if (context) if (format.arity == 1) context.instance_exec(value, &format) else context.instance_exec(value, record, &format) end else if (format.arity == 1) return format.call(value) else return format.call(value, record) end end end end
value(record)
click to toggle source
# File lib/tabl/column.rb, line 18 def value(record) @value.call(record) end