class Tabl::Definition
Attributes
columns[R]
default_format[RW]
default_value[RW]
format[R]
labels[R]
values[R]
Public Class Methods
new(values_override = nil, &block)
click to toggle source
# File lib/tabl/definition.rb, line 11 def initialize(values_override = nil, &block) @columns = [] @labels = {} @values = {} @format = {} @values_override = values_override @default_format = lambda { |v| v } @default_value = nil configure(&block) format = Hash.new { Format.new } end
Public Instance Methods
clone()
click to toggle source
Calls superclass method
# File lib/tabl/definition.rb, line 35 def clone other = super other.instance_variable_set(:@columns, @columns.clone) other.instance_variable_set(:@labels, @labels.clone) other.instance_variable_set(:@values, @values.clone) other.instance_variable_set(:@format, @format.clone) other end
columns=(columns)
click to toggle source
# File lib/tabl/definition.rb, line 27 def columns=(columns) @columns = columns.clone @columns.each do |key| @values[key] ||= default_value_proc(key) @labels[key] ||= key.to_s.titleize end end
configure() { |self| ... }
click to toggle source
# File lib/tabl/definition.rb, line 23 def configure(&block) yield(self) if block_given? end
Private Instance Methods
default_value_proc(key)
click to toggle source
# File lib/tabl/definition.rb, line 46 def default_value_proc(key) if @values_override && @values_override.respond_to?(key) @values_override.method(key) else lambda { |row| row.send(key) } end end