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}
# 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