class GerbilCharts::Models::MatrixModel

Attributes

aend[R]
aendlen[R]
aenduniq[R]
hash[R]
multiply_factor[R]
name[RW]
sort[R]
zend[R]
zendlen[R]
zenduniq[R]

Public Class Methods

new(opts) click to toggle source

Create the model group for matrix chart Input = {“a”,“b”,1000}

{"a","c",1030}
{"b","v",2345}

Output = {“a”=>,“b”=>}

# File lib/gerbilcharts/models/matrix_model.rb, line 17
def initialize(opts)
      @name=opts
      @aend = []
      @zend = []
      @input_values = []
      @arr = []
      @hash = {}
      @sort = []      
      @unsort_value = []
      @multiply_factor = 1.0
      @flag = 1
end

Public Instance Methods

add(item1,item2,item3) click to toggle source

Construct the input values Eg : @input_values = [[“a”,“b”,3000],,[“d”,“r”,4500]]

# File lib/gerbilcharts/models/matrix_model.rb, line 32
  def add(item1,item2,item3) 
      @aend << item1
      @zend << item2         
      for i in 0...@input_values.count
           if ((@input_values[i][0] == item1) and (@input_values[i][1] == item2))
              @input_values[i][2] = @input_values[i][2] + item3
              @flag = 0 
           end         
      end
      if(@flag==1)
         @input_values << [item1,item2,item3]
      end
      @flag=1    
end
calc_matrix() click to toggle source

calculates the conversation matrix based on the raw arrays a/zend

# File lib/gerbilcharts/models/matrix_model.rb, line 48
def calc_matrix           
    @aenduniq = @aend.uniq
    @zenduniq = @zend.uniq
    @aendlen = @aenduniq.length
    @zendlen = @zenduniq.length

    @input_values.each do |item|
          @unsort_value << item[2]
    end
    @sort = @unsort_value.sort.reverse
    
    @aenduniq.each do |aitem|          
        @zenduniq.each_with_index do |zitem,i|
             @input_values.each do |vitem|
                   if ((vitem[0] == aitem) and (vitem[1] == zitem))
                      @arr << vitem[2]                       
                   end                       
             end
            if @arr[i].nil?
               @arr << 0
            end
        end             
    @hash.store(aitem,@arr)
    @arr = []
    end  
end
empty?() click to toggle source
# File lib/gerbilcharts/models/matrix_model.rb, line 79
def empty?
       return false
end
hasHref?() click to toggle source
# File lib/gerbilcharts/models/matrix_model.rb, line 75
def hasHref?
       return false
end