class Ring::SQA::AnalyzeBuffer
Attributes
Public Class Methods
Source
# File lib/ring/sqa/analyzer.rb, line 63 def initialize nodes_count, max_size=CFG.analyzer.size, median_of=CFG.analyzer.median_of @max_size = max_size @median_of = median_of nodes_count = CFG.fake? ? 0 : nodes_count init_nodes = Array.new nodes_count * 2, '' @array = Array.new max_size, init_nodes end
Public Instance Methods
Source
# File lib/ring/sqa/analyzer.rb, line 78 def exceed_median? tolerance=CFG.analyzer.tolerance violate_relative = (median+1)*tolerance.relative violate_absolute = (median+1)+tolerance.absolute node_count[@median_of..-1].all? { |e| e > violate_relative && e > violate_absolute } end
Source
# File lib/ring/sqa/analyzer.rb, line 86 def exceeding_nodes exceed = @array[@median_of..-1].inject :& exceed - @array[0..@median_of-1].flatten.uniq end
Source
# File lib/ring/sqa/analyzer.rb, line 74 def median last = @median_of-1 node_count[0..last].sort[last/2] end
Source
# File lib/ring/sqa/analyzer.rb, line 83 def node_count @array.map { |nodes| nodes.size } end