class Twb::ReferencedField

class CalculationField

Attributes

dataSource[R]
dataSourceExists[R]
dataSourceName[R]
dataSourceRef[R]
fqName[R]
name[R]
techCode[R]
techUIdiff[R]
type[R]
uiCode[R]
uiname[R]

Public Class Methods

new(name, datasource) click to toggle source
# File lib/twb/fieldcalculation.rb, line 344
def initialize name, datasource
  # puts "\n\nReferencedField ::  ds: %-25s  |  n: %s  " % [datasource, name]
  @name             = name
  @dataSource       = datasource
  @dataSourceName   = datasource.nil? ? nil : datasource.uiname
  @dataSourceRef    = :local
  @dataSourceExists = true
  @techCode         = "[#{name}]"
  @techUIdiff       = false
  if dataSource.nil?
    # puts 'a'
    @uiname = @name
    @uiCode = @techCode
    @techUIdiff = false
  else # !datasource.nil?
    # puts 'b'
    # puts "b - found uiname for '#{@name}'?: #{!datasource.fieldUIName(@name).nil?} \t is:#{datasource.fieldUIName(@name)} "
    @uiname = datasource.fieldUIName(@name).nil? ? @name : datasource.fieldUIName(@name) 
    @uiCode = @uiname.nil? ? @techCode :  "[#{@uiname}]"
    @techUIdiff = !@techCode.eql?(@uiCode)
    # puts ":b #{datasource.fieldUIName(@name).nil?}  ... #{@name}  ... #{@uiname}"
    # puts "CalculationField ::       uin: %-25s | @name:%-s" % [@uiname,@name]
  end
  @fqName = "#{@dataSourceName}::#{@uiname}"
  @type   = if @dataSource.nil?
               :CalculatedField
            else
               @dataSource.calculatedField(@uiname).nil? ? :DatabaseField : :CalculatedField
            end
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/twb/fieldcalculation.rb, line 379
def <=>(other)
  # myName    = @uiname.nil? ? '' : @uiname
  # otherName = other.uiName.nil? ? "" : other.uiName
  # # puts "#{@uiname} / #{myName} <=>  #{otherName} / #{other.uiName}"
  # # puts "#{@uiname.nil?} // #{other.uiName.nil?}"
  # myName <=> otherName
  @fqName <=> other.fqName
end
id() click to toggle source
# File lib/twb/fieldcalculation.rb, line 375
def id
  @id ||= @id = "#{@dataSourceName}::#{@uiname}"
end