class Pulo::FrameCell
Public Class Methods
new(parent_column,parent_row,value=nil)
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 4 def initialize(parent_column,parent_row,value=nil) @parent_column=parent_column @parent_row=parent_row @error=false self.value=value end
Public Instance Methods
column()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 11 def column @parent_column end
empty?()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 19 def empty? @value.nil? end
error?()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 33 def error? @error end
row()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 15 def row @parent_row end
set_error()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 27 def set_error @error=true end
to_s()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 74 def to_s begin @parent_column.formatter.call(value).ljust(@parent_column.width,' ') rescue Exception => e value.to_s end end
unset_error()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 30 def unset_error @error=false end
value()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 37 def value #raise "Column (#{@parent_column.name}) requires re-calc, value not available." if @parent_column.recalc_required return "ERR" if error? #return "UNK" if @parent_column.recalc_required #return "NIL" if empty? @value end
value=(val)
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 45 def value=(val) if @parent_column.column_class==NilClass @parent_column.column_class=val.class if val.class.respond_to?(:quantity_name) @parent_column.column_unit=val.unit end end if val.class.respond_to?(:quantity_name) if val.unit.name!=@parent_column.column_unit.name val=val.send(@parent_column.column_unit.name) end end if @parent_column.column_class!=NilClass && val.class!=NilClass if val.class.respond_to?(:quantity_name) unless val.class.dimensions==@parent_column.column_class.dimensions raise "Tried to set a value (#{val.to_s}) of class #{val.class} with dimensions #{val.class.dimensions} on column #{@parent_column.name} which already has a defined class of #{@parent_column.column_class}." end else unless val.class==@parent_column.column_class raise "Tried to set a value (#{val.to_s}) of class #{val.class} on column #{@parent_column.name} which already has a defined class of #{@parent_column.column_class}." end end end @value=val end
value_column?()
click to toggle source
# File lib/pulo/frames/frame_cell.rb, line 23 def value_column? @parent_column.value_column? end